diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2006-03-28 17:14:27 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2006-03-28 17:14:27 +0000 |
| commit | 0ffc5334227542731ecdf06eca1a59e0a4457272 (patch) | |
| tree | 6b6e14bbd246b62492dadf4f2738eaed167041c5 /src/dialogs/eek-preview.cpp | |
| parent | optimization: create side knots and lines only on demand (diff) | |
| download | inkscape-0ffc5334227542731ecdf06eca1a59e0a4457272.tar.gz inkscape-0ffc5334227542731ecdf06eca1a59e0a4457272.zip | |
Changed objects to only get linked to "linkable" colors.
(bzr r321)
Diffstat (limited to 'src/dialogs/eek-preview.cpp')
| -rw-r--r-- | src/dialogs/eek-preview.cpp | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/dialogs/eek-preview.cpp b/src/dialogs/eek-preview.cpp index d2ac8db5d..0108d4777 100644 --- a/src/dialogs/eek-preview.cpp +++ b/src/dialogs/eek-preview.cpp @@ -210,11 +210,12 @@ gboolean eek_preview_expose_event( GtkWidget* widget, GdkEventExpose* event ) ); } - if ( area.height < possible.height ) { - area.y = possible.y + (possible.height - area.height); - } - if ( preview->_linked & PREVIEW_LINK_OUT ) { + GdkRectangle otherArea = {area.x, area.y, area.width, area.height}; + if ( otherArea.height < possible.height ) { + otherArea.y = possible.y + (possible.height - otherArea.height); + } + gtk_paint_arrow( style, widget->window, (GtkStateType)widget->state, @@ -224,8 +225,28 @@ gboolean eek_preview_expose_event( GtkWidget* widget, GdkEventExpose* event ) NULL, /* detail */ GTK_ARROW_UP, FALSE, - area.x, area.y, - area.width, area.height + otherArea.x, otherArea.y, + otherArea.width, otherArea.height + ); + } + + if ( preview->_linked & PREVIEW_LINK_OTHER ) { + GdkRectangle otherArea = {insetX, area.y, area.width, area.height}; + if ( otherArea.height < possible.height ) { + otherArea.y = possible.y + (possible.height - otherArea.height) / 2; + } + + gtk_paint_arrow( style, + widget->window, + (GtkStateType)widget->state, + GTK_SHADOW_ETCHED_OUT, + NULL, /* clip area. &area, */ + widget, /* may be NULL */ + NULL, /* detail */ + GTK_ARROW_LEFT, + FALSE, + otherArea.x, otherArea.y, + otherArea.width, otherArea.height ); } } @@ -485,7 +506,7 @@ static void eek_preview_class_init( EekPreviewClass *klass ) void eek_preview_set_linked( EekPreview* splat, LinkType link ) { - link = (LinkType)(link & PREVIEW_LINK_BOTH); + link = (LinkType)(link & PREVIEW_LINK_ALL); if ( link != (LinkType)splat->_linked ) { splat->_linked = link; |
