[gimp] Render a layer group's boundary in a different color
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] Render a layer group's boundary in a different color
- Date: Sat, 29 Aug 2009 19:27:34 +0000 (UTC)
commit 27d036b75f1c5936c7cdaf1da58973542d65f1d5
Author: Michael Natterer <mitch gimp org>
Date: Sat Aug 29 21:26:46 2009 +0200
Render a layer group's boundary in a different color
This is probably not sufficient, but better than nothing.
app/display/gimpcanvas.c | 11 +++++++++++
app/display/gimpcanvas.h | 1 +
app/display/gimpdisplayshell-selection.c | 19 ++++++++++++++-----
3 files changed, 26 insertions(+), 5 deletions(-)
---
diff --git a/app/display/gimpcanvas.c b/app/display/gimpcanvas.c
index 6da2c11..40e0f86 100644
--- a/app/display/gimpcanvas.c
+++ b/app/display/gimpcanvas.c
@@ -388,6 +388,7 @@ gimp_canvas_gc_new (GimpCanvas *canvas,
case GIMP_CANVAS_STYLE_SELECTION_IN:
case GIMP_CANVAS_STYLE_SELECTION_OUT:
case GIMP_CANVAS_STYLE_LAYER_BOUNDARY:
+ case GIMP_CANVAS_STYLE_LAYER_GROUP_BOUNDARY:
case GIMP_CANVAS_STYLE_GUIDE_NORMAL:
case GIMP_CANVAS_STYLE_GUIDE_ACTIVE:
case GIMP_CANVAS_STYLE_LAYER_MASK_ACTIVE:
@@ -458,6 +459,16 @@ gimp_canvas_gc_new (GimpCanvas *canvas,
bg.blue = 0x0;
break;
+ case GIMP_CANVAS_STYLE_LAYER_GROUP_BOUNDARY:
+ fg.red = 0x0;
+ fg.green = 0x0;
+ fg.blue = 0x0;
+
+ bg.red = 0x0;
+ bg.green = 0xffff;
+ bg.blue = 0xffff;
+ break;
+
case GIMP_CANVAS_STYLE_GUIDE_NORMAL:
fg.red = 0x0;
fg.green = 0x0;
diff --git a/app/display/gimpcanvas.h b/app/display/gimpcanvas.h
index 50d404b..fb0e4b0 100644
--- a/app/display/gimpcanvas.h
+++ b/app/display/gimpcanvas.h
@@ -30,6 +30,7 @@ typedef enum
GIMP_CANVAS_STYLE_SELECTION_IN,
GIMP_CANVAS_STYLE_SELECTION_OUT,
GIMP_CANVAS_STYLE_LAYER_BOUNDARY,
+ GIMP_CANVAS_STYLE_LAYER_GROUP_BOUNDARY,
GIMP_CANVAS_STYLE_GUIDE_NORMAL,
GIMP_CANVAS_STYLE_GUIDE_ACTIVE,
GIMP_CANVAS_STYLE_SAMPLE_POINT_NORMAL,
diff --git a/app/display/gimpdisplayshell-selection.c b/app/display/gimpdisplayshell-selection.c
index 20177b7..591e0df 100644
--- a/app/display/gimpdisplayshell-selection.c
+++ b/app/display/gimpdisplayshell-selection.c
@@ -382,11 +382,20 @@ selection_layer_draw (Selection *selection)
GimpDrawable *drawable = gimp_image_get_active_drawable (image);
if (selection->segs_layer)
- gimp_canvas_draw_segments (canvas, GIMP_IS_LAYER_MASK (drawable) ?
- GIMP_CANVAS_STYLE_LAYER_MASK_ACTIVE:
- GIMP_CANVAS_STYLE_LAYER_BOUNDARY,
- selection->segs_layer,
- selection->num_segs_layer);
+ {
+ GimpCanvasStyle style;
+
+ if (GIMP_IS_LAYER_MASK (drawable))
+ style = GIMP_CANVAS_STYLE_LAYER_MASK_ACTIVE;
+ else if (gimp_viewable_get_children (GIMP_VIEWABLE (drawable)))
+ style = GIMP_CANVAS_STYLE_LAYER_GROUP_BOUNDARY;
+ else
+ style = GIMP_CANVAS_STYLE_LAYER_BOUNDARY;
+
+ gimp_canvas_draw_segments (canvas, style,
+ selection->segs_layer,
+ selection->num_segs_layer);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]