summaryrefslogtreecommitdiffstats
path: root/src/dialogs/eek-preview.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2006-03-28 17:14:27 +0000
committerjoncruz <joncruz@users.sourceforge.net>2006-03-28 17:14:27 +0000
commit0ffc5334227542731ecdf06eca1a59e0a4457272 (patch)
tree6b6e14bbd246b62492dadf4f2738eaed167041c5 /src/dialogs/eek-preview.cpp
parentoptimization: create side knots and lines only on demand (diff)
downloadinkscape-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.cpp35
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;