From 0b4c777cd97d627cd0f5e09266286c1bd17e44c2 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Wed, 16 May 2012 23:50:49 +0100 Subject: Drop some GtkObject usage (bzr r11370) --- src/display/sodipodi-ctrlrect.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/display/sodipodi-ctrlrect.cpp') diff --git a/src/display/sodipodi-ctrlrect.cpp b/src/display/sodipodi-ctrlrect.cpp index 3b50d0b5d..7063f2102 100644 --- a/src/display/sodipodi-ctrlrect.cpp +++ b/src/display/sodipodi-ctrlrect.cpp @@ -28,7 +28,7 @@ static void sp_ctrlrect_class_init(SPCtrlRectClass *c); static void sp_ctrlrect_init(CtrlRect *ctrlrect); -static void sp_ctrlrect_destroy(GtkObject *object); +static void sp_ctrlrect_dispose(GObject *object); static void sp_ctrlrect_update(SPCanvasItem *item, Geom::Affine const &affine, unsigned int flags); static void sp_ctrlrect_render(SPCanvasItem *item, SPCanvasBuf *buf); @@ -61,12 +61,12 @@ GType sp_ctrlrect_get_type() static void sp_ctrlrect_class_init(SPCtrlRectClass *c) { - GtkObjectClass *object_class = (GtkObjectClass *) c; + GObjectClass *object_class = (GObjectClass *) c; SPCanvasItemClass *item_class = (SPCanvasItemClass *) c; parent_class = (SPCanvasItemClass*) g_type_class_peek_parent(c); - object_class->destroy = sp_ctrlrect_destroy; + object_class->dispose = sp_ctrlrect_dispose; item_class->update = sp_ctrlrect_update; item_class->render = sp_ctrlrect_render; @@ -77,10 +77,10 @@ static void sp_ctrlrect_init(CtrlRect *cr) cr->init(); } -static void sp_ctrlrect_destroy(GtkObject *object) +static void sp_ctrlrect_dispose(GObject *object) { - if (GTK_OBJECT_CLASS(parent_class)->destroy) { - (* GTK_OBJECT_CLASS(parent_class)->destroy)(object); + if (G_OBJECT_CLASS(parent_class)->dispose) { + (* G_OBJECT_CLASS(parent_class)->dispose)(object); } } -- cgit v1.2.3 From b197dddddd9fb376198631b807c4bd770c6ff192 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sat, 19 May 2012 21:02:45 +0100 Subject: Revert r11370. Fix crash with grid in default template Fixed bugs: - https://launchpad.net/bugs/1001724 (bzr r11386) --- src/display/sodipodi-ctrlrect.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/display/sodipodi-ctrlrect.cpp') diff --git a/src/display/sodipodi-ctrlrect.cpp b/src/display/sodipodi-ctrlrect.cpp index 7063f2102..3b50d0b5d 100644 --- a/src/display/sodipodi-ctrlrect.cpp +++ b/src/display/sodipodi-ctrlrect.cpp @@ -28,7 +28,7 @@ static void sp_ctrlrect_class_init(SPCtrlRectClass *c); static void sp_ctrlrect_init(CtrlRect *ctrlrect); -static void sp_ctrlrect_dispose(GObject *object); +static void sp_ctrlrect_destroy(GtkObject *object); static void sp_ctrlrect_update(SPCanvasItem *item, Geom::Affine const &affine, unsigned int flags); static void sp_ctrlrect_render(SPCanvasItem *item, SPCanvasBuf *buf); @@ -61,12 +61,12 @@ GType sp_ctrlrect_get_type() static void sp_ctrlrect_class_init(SPCtrlRectClass *c) { - GObjectClass *object_class = (GObjectClass *) c; + GtkObjectClass *object_class = (GtkObjectClass *) c; SPCanvasItemClass *item_class = (SPCanvasItemClass *) c; parent_class = (SPCanvasItemClass*) g_type_class_peek_parent(c); - object_class->dispose = sp_ctrlrect_dispose; + object_class->destroy = sp_ctrlrect_destroy; item_class->update = sp_ctrlrect_update; item_class->render = sp_ctrlrect_render; @@ -77,10 +77,10 @@ static void sp_ctrlrect_init(CtrlRect *cr) cr->init(); } -static void sp_ctrlrect_dispose(GObject *object) +static void sp_ctrlrect_destroy(GtkObject *object) { - if (G_OBJECT_CLASS(parent_class)->dispose) { - (* G_OBJECT_CLASS(parent_class)->dispose)(object); + if (GTK_OBJECT_CLASS(parent_class)->destroy) { + (* GTK_OBJECT_CLASS(parent_class)->destroy)(object); } } -- cgit v1.2.3 From 62dd6c138e3547689acdcccbb289d822b458cdb0 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sat, 9 Jun 2012 14:40:09 +0100 Subject: Stop deriving SPCanvasItem from GtkObject (bzr r11469.1.1) --- src/display/sodipodi-ctrlrect.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/display/sodipodi-ctrlrect.cpp') diff --git a/src/display/sodipodi-ctrlrect.cpp b/src/display/sodipodi-ctrlrect.cpp index 3b50d0b5d..b0c997a92 100644 --- a/src/display/sodipodi-ctrlrect.cpp +++ b/src/display/sodipodi-ctrlrect.cpp @@ -28,7 +28,7 @@ static void sp_ctrlrect_class_init(SPCtrlRectClass *c); static void sp_ctrlrect_init(CtrlRect *ctrlrect); -static void sp_ctrlrect_destroy(GtkObject *object); +static void sp_ctrlrect_destroy(SPCanvasItem *object); static void sp_ctrlrect_update(SPCanvasItem *item, Geom::Affine const &affine, unsigned int flags); static void sp_ctrlrect_render(SPCanvasItem *item, SPCanvasBuf *buf); @@ -61,13 +61,11 @@ GType sp_ctrlrect_get_type() static void sp_ctrlrect_class_init(SPCtrlRectClass *c) { - GtkObjectClass *object_class = (GtkObjectClass *) c; SPCanvasItemClass *item_class = (SPCanvasItemClass *) c; parent_class = (SPCanvasItemClass*) g_type_class_peek_parent(c); - object_class->destroy = sp_ctrlrect_destroy; - + item_class->destroy = sp_ctrlrect_destroy; item_class->update = sp_ctrlrect_update; item_class->render = sp_ctrlrect_render; } @@ -77,10 +75,10 @@ static void sp_ctrlrect_init(CtrlRect *cr) cr->init(); } -static void sp_ctrlrect_destroy(GtkObject *object) +static void sp_ctrlrect_destroy(SPCanvasItem *object) { - if (GTK_OBJECT_CLASS(parent_class)->destroy) { - (* GTK_OBJECT_CLASS(parent_class)->destroy)(object); + if (SP_CANVAS_ITEM_CLASS(parent_class)->destroy) { + (* SP_CANVAS_ITEM_CLASS(parent_class)->destroy)(object); } } -- cgit v1.2.3 From 1ef13096f6644defa9463a0a3fe7dbbcbc7271f7 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 28 Oct 2012 10:25:29 +0000 Subject: cppcheck: More C-style pointer casting (bzr r11844) --- src/display/sodipodi-ctrlrect.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/display/sodipodi-ctrlrect.cpp') diff --git a/src/display/sodipodi-ctrlrect.cpp b/src/display/sodipodi-ctrlrect.cpp index b0c997a92..c350e4614 100644 --- a/src/display/sodipodi-ctrlrect.cpp +++ b/src/display/sodipodi-ctrlrect.cpp @@ -61,9 +61,9 @@ GType sp_ctrlrect_get_type() static void sp_ctrlrect_class_init(SPCtrlRectClass *c) { - SPCanvasItemClass *item_class = (SPCanvasItemClass *) c; + SPCanvasItemClass *item_class = SP_CANVAS_ITEM_CLASS(c); - parent_class = (SPCanvasItemClass*) g_type_class_peek_parent(c); + parent_class = SP_CANVAS_ITEM_CLASS(g_type_class_peek_parent(c)); item_class->destroy = sp_ctrlrect_destroy; item_class->update = sp_ctrlrect_update; @@ -119,8 +119,6 @@ void CtrlRect::render(SPCanvasBuf *buf) using Geom::X; using Geom::Y; - static double const dashes[2] = {4.0, 4.0}; - if (!_area) { return; } @@ -129,6 +127,7 @@ void CtrlRect::render(SPCanvasBuf *buf) area[X].max() + _shadow_size, area[Y].max() + _shadow_size); if ( area_w_shadow.intersects(buf->rect) ) { + static double const dashes[2] = {4.0, 4.0}; cairo_save(buf->ct); cairo_translate(buf->ct, -buf->rect.left(), -buf->rect.top()); cairo_set_line_width(buf->ct, 1); @@ -161,8 +160,8 @@ void CtrlRect::update(Geom::Affine const &affine, unsigned int flags) using Geom::X; using Geom::Y; - if (((SPCanvasItemClass *) parent_class)->update) { - ((SPCanvasItemClass *) parent_class)->update(this, affine, flags); + if ((SP_CANVAS_ITEM_CLASS(parent_class))->update) { + (SP_CANVAS_ITEM_CLASS(parent_class))->update(this, affine, flags); } sp_canvas_item_reset_bounds(this); -- cgit v1.2.3 From 82f4d9a7537fdb3267bf5570cd34aef0692b0f9f Mon Sep 17 00:00:00 2001 From: Alvin Penner Date: Wed, 15 Jan 2014 14:22:31 -0500 Subject: for rubberband outline, add shading instead of XOR (Bug 1266308) Fixed bugs: - https://launchpad.net/bugs/1266308 (bzr r12936) --- src/display/sodipodi-ctrlrect.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/display/sodipodi-ctrlrect.cpp') diff --git a/src/display/sodipodi-ctrlrect.cpp b/src/display/sodipodi-ctrlrect.cpp index c350e4614..e6e427047 100644 --- a/src/display/sodipodi-ctrlrect.cpp +++ b/src/display/sodipodi-ctrlrect.cpp @@ -142,7 +142,18 @@ void CtrlRect::render(SPCanvasBuf *buf) ink_cairo_set_source_rgba32(buf->ct, _border_color); cairo_stroke(buf->ct); - if (_shadow_size > 0) { + if (_shadow_size == 1) { // highlight the border by drawing it in _shadow_color + if (_dashed) { + cairo_set_dash(buf->ct, dashes, 2, 4); + cairo_rectangle(buf->ct, 0.5 + area[X].min(), 0.5 + area[Y].min(), + area[X].max() - area[X].min(), area[Y].max() - area[Y].min()); + } else { + cairo_rectangle(buf->ct, -0.5 + area[X].min(), -0.5 + area[Y].min(), + area[X].max() - area[X].min(), area[Y].max() - area[Y].min()); + } + ink_cairo_set_source_rgba32(buf->ct, _shadow_color); + cairo_stroke(buf->ct); + } else if (_shadow_size > 1) { // fill the shadow ink_cairo_set_source_rgba32(buf->ct, _shadow_color); cairo_rectangle(buf->ct, 1 + area[X].max(), area[Y].min() + _shadow_size, _shadow_size, area[Y].max() - area[Y].min() + 1); // right shadow -- cgit v1.2.3