diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2008-02-21 06:54:33 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2008-02-21 06:54:33 +0000 |
| commit | ef72f4b81da42a06b872afe03ef33174a494acab (patch) | |
| tree | b1e71bfb493ee6ba2606b939576b6f120d1a8afc /src/dialogs/eek-preview.cpp | |
| parent | Warning cleanup (diff) | |
| download | inkscape-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.cpp | 16 |
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}; |
