summaryrefslogtreecommitdiffstats
path: root/src/dialogs/eek-preview.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2008-02-21 06:54:33 +0000
committerjoncruz <joncruz@users.sourceforge.net>2008-02-21 06:54:33 +0000
commitef72f4b81da42a06b872afe03ef33174a494acab (patch)
treeb1e71bfb493ee6ba2606b939576b6f120d1a8afc /src/dialogs/eek-preview.cpp
parentWarning cleanup (diff)
downloadinkscape-ef72f4b81da42a06b872afe03ef33174a494acab.tar.gz
inkscape-ef72f4b81da42a06b872afe03ef33174a494acab.zip
Initial implementation of non-square swatches
(bzr r4800)
Diffstat (limited to 'src/dialogs/eek-preview.cpp')
-rw-r--r--src/dialogs/eek-preview.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/dialogs/eek-preview.cpp b/src/dialogs/eek-preview.cpp
index d90137a04..145346af3 100644
--- a/src/dialogs/eek-preview.cpp
+++ b/src/dialogs/eek-preview.cpp
@@ -48,6 +48,7 @@
#define PREVIEW_SIZE_LAST PREVIEW_SIZE_HUGE
#define PREVIEW_SIZE_NEXTFREE (PREVIEW_SIZE_HUGE + 1)
+#define PREVIEW_MAX_RATIO 500
static void eek_preview_class_init( EekPreviewClass *klass );
static void eek_preview_init( EekPreview *preview );
@@ -154,6 +155,13 @@ static void eek_preview_size_request( GtkWidget* widget, GtkRequisition* req )
width *= 3;
}
+ if ( preview->_ratio != 100 ) {
+ width = (width * preview->_ratio) / 100;
+ if ( width < 0 ) {
+ width = 1;
+ }
+ }
+
req->width = width;
req->height = height;
}
@@ -582,7 +590,7 @@ void eek_preview_set_focus_on_click( EekPreview* preview, gboolean focus_on_clic
}
}
-void eek_preview_set_details( EekPreview* preview, PreviewStyle prevstyle, ViewType view, PreviewSize size )
+void eek_preview_set_details( EekPreview* preview, PreviewStyle prevstyle, ViewType view, PreviewSize size, guint ratio )
{
preview->_prevstyle = prevstyle;
preview->_view = view;
@@ -592,6 +600,11 @@ void eek_preview_set_details( EekPreview* preview, PreviewStyle prevstyle, ViewT
}
preview->_size = size;
+ if ( ratio > PREVIEW_MAX_RATIO ) {
+ ratio = PREVIEW_MAX_RATIO;
+ }
+ preview->_ratio = ratio;
+
gtk_widget_queue_draw(GTK_WIDGET(preview));
}
@@ -624,6 +637,7 @@ static void eek_preview_init( EekPreview *preview )
preview->_prevstyle = PREVIEW_STYLE_ICON;
preview->_view = VIEW_TYPE_LIST;
preview->_size = PREVIEW_SIZE_SMALL;
+ preview->_ratio = 100;
/*
GdkColor color = {0};