[gimp] Add naive and wrong version of GimpItem::convert()
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] Add naive and wrong version of GimpItem::convert()
- Date: Tue, 25 Aug 2009 19:30:51 +0000 (UTC)
commit 62c5b23aaf9e58c1d1ce3c74a8c0b62f068625ee
Author: Michael Natterer <mitch gimp org>
Date: Tue Aug 25 14:23:42 2009 +0200
Add naive and wrong version of GimpItem::convert()
That code will fail badly when dropping layer groups between images of
different types, but will at least work between two RGB images.
app/core/gimpgrouplayer.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/app/core/gimpgrouplayer.c b/app/core/gimpgrouplayer.c
index f2a111f..b8c68a9 100644
--- a/app/core/gimpgrouplayer.c
+++ b/app/core/gimpgrouplayer.c
@@ -66,6 +66,8 @@ static GimpContainer * gimp_group_layer_get_children (GimpViewable *viewable)
static GimpItem * gimp_group_layer_duplicate (GimpItem *item,
GType new_type);
+static void gimp_group_layer_convert (GimpItem *item,
+ GimpImage *dest_image);
static void gimp_group_layer_translate (GimpItem *item,
gint offset_x,
gint offset_y,
@@ -160,6 +162,7 @@ gimp_group_layer_class_init (GimpGroupLayerClass *klass)
viewable_class->get_children = gimp_group_layer_get_children;
item_class->duplicate = gimp_group_layer_duplicate;
+ item_class->convert = gimp_group_layer_convert;
item_class->translate = gimp_group_layer_translate;
item_class->scale = gimp_group_layer_scale;
item_class->resize = gimp_group_layer_resize;
@@ -360,6 +363,25 @@ gimp_group_layer_duplicate (GimpItem *item,
}
static void
+gimp_group_layer_convert (GimpItem *item,
+ GimpImage *dest_image)
+{
+ GimpGroupLayer *group = GIMP_GROUP_LAYER (item);
+ GList *list;
+
+ for (list = GIMP_LIST (group->children)->list;
+ list;
+ list = g_list_next (list))
+ {
+ GimpItem *child = list->data;
+
+ GIMP_ITEM_GET_CLASS (child)->convert (child, dest_image);
+ }
+
+ GIMP_ITEM_CLASS (parent_class)->convert (item, dest_image);
+}
+
+static void
gimp_group_layer_translate (GimpItem *item,
gint offset_x,
gint offset_y,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]