Reorder some functions so item and drawable methods are together

This commit is contained in:
Michael Natterer 2009-09-04 11:31:19 +02:00
parent e431f84dae
commit 5b85642e94
1 changed files with 67 additions and 67 deletions

View File

@ -143,6 +143,7 @@ static void gimp_layer_transform (GimpItem *item,
gint recursion_level,
GimpTransformResize clip_result,
GimpProgress *progress);
static GeglNode * gimp_layer_get_node (GimpItem *item);
static gint64 gimp_layer_estimate_memsize (const GimpDrawable *drawable,
gint width,
@ -150,7 +151,6 @@ static gint64 gimp_layer_estimate_memsize (const GimpDrawable *drawable,
static void gimp_layer_invalidate_boundary (GimpDrawable *drawable);
static void gimp_layer_get_active_components (const GimpDrawable *drawable,
gboolean *active);
static GeglNode * gimp_layer_get_node (GimpItem *item);
static gint gimp_layer_get_opacity_at (GimpPickable *pickable,
gint x,
@ -459,72 +459,6 @@ gimp_layer_get_description (GimpViewable *viewable,
tooltip);
}
static void
gimp_layer_get_active_components (const GimpDrawable *drawable,
gboolean *active)
{
GimpLayer *layer = GIMP_LAYER (drawable);
GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
gint i;
/* first copy the image active channels */
for (i = 0; i < MAX_CHANNELS; i++)
active[i] = image->active[i];
if (gimp_drawable_has_alpha (drawable) && layer->lock_alpha)
active[gimp_drawable_bytes (drawable) - 1] = FALSE;
}
static GeglNode *
gimp_layer_get_node (GimpItem *item)
{
GimpDrawable *drawable = GIMP_DRAWABLE (item);
GimpLayer *layer = GIMP_LAYER (item);
GeglNode *node;
GeglNode *offset_node;
GeglNode *source;
GeglNode *mode_node;
node = GIMP_ITEM_CLASS (parent_class)->get_node (item);
source = gimp_drawable_get_source_node (drawable);
gegl_node_add_child (node, source);
layer->opacity_node = gegl_node_new_child (node,
"operation", "gegl:opacity",
"value", layer->opacity,
NULL);
gegl_node_connect_to (source, "output",
layer->opacity_node, "input");
if (layer->mask)
{
GeglNode *mask;
mask = gimp_drawable_get_source_node (GIMP_DRAWABLE (layer->mask));
gegl_node_connect_to (mask, "output",
layer->opacity_node, "aux");
}
offset_node = gimp_item_get_offset_node (GIMP_ITEM (layer));
gegl_node_connect_to (layer->opacity_node, "output",
offset_node, "input");
mode_node = gimp_drawable_get_mode_node (drawable);
gegl_node_set (mode_node,
"operation", "gimp:point-layer-mode",
"blend-mode", layer->mode,
NULL);
gegl_node_connect_to (offset_node, "output",
mode_node, "aux");
return node;
}
static void
gimp_layer_removed (GimpItem *item)
{
@ -857,6 +791,56 @@ gimp_layer_transform (GimpItem *item,
clip_result, progress);
}
static GeglNode *
gimp_layer_get_node (GimpItem *item)
{
GimpDrawable *drawable = GIMP_DRAWABLE (item);
GimpLayer *layer = GIMP_LAYER (item);
GeglNode *node;
GeglNode *offset_node;
GeglNode *source;
GeglNode *mode_node;
node = GIMP_ITEM_CLASS (parent_class)->get_node (item);
source = gimp_drawable_get_source_node (drawable);
gegl_node_add_child (node, source);
layer->opacity_node = gegl_node_new_child (node,
"operation", "gegl:opacity",
"value", layer->opacity,
NULL);
gegl_node_connect_to (source, "output",
layer->opacity_node, "input");
if (layer->mask)
{
GeglNode *mask;
mask = gimp_drawable_get_source_node (GIMP_DRAWABLE (layer->mask));
gegl_node_connect_to (mask, "output",
layer->opacity_node, "aux");
}
offset_node = gimp_item_get_offset_node (GIMP_ITEM (layer));
gegl_node_connect_to (layer->opacity_node, "output",
offset_node, "input");
mode_node = gimp_drawable_get_mode_node (drawable);
gegl_node_set (mode_node,
"operation", "gimp:point-layer-mode",
"blend-mode", layer->mode,
NULL);
gegl_node_connect_to (offset_node, "output",
mode_node, "aux");
return node;
}
static gint64
gimp_layer_estimate_memsize (const GimpDrawable *drawable,
gint width,
@ -904,6 +888,22 @@ gimp_layer_invalidate_boundary (GimpDrawable *drawable)
floating_sel_invalidate (layer);
}
static void
gimp_layer_get_active_components (const GimpDrawable *drawable,
gboolean *active)
{
GimpLayer *layer = GIMP_LAYER (drawable);
GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
gint i;
/* first copy the image active channels */
for (i = 0; i < MAX_CHANNELS; i++)
active[i] = image->active[i];
if (gimp_drawable_has_alpha (drawable) && layer->lock_alpha)
active[gimp_drawable_bytes (drawable) - 1] = FALSE;
}
static gint
gimp_layer_get_opacity_at (GimpPickable *pickable,
gint x,