[Goodies-commits] r2974 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Wed Aug 8 23:45:16 CEST 2007
Author: stephan
Date: 2007-08-08 21:45:16 +0000 (Wed, 08 Aug 2007)
New Revision: 2974
Modified:
ristretto/trunk/src/navigator.c
ristretto/trunk/src/navigator.h
ristretto/trunk/src/thumbnail_viewer.c
Log:
Add indicators to thumbnailer
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-08-08 17:16:10 UTC (rev 2973)
+++ ristretto/trunk/src/navigator.c 2007-08-08 21:45:16 UTC (rev 2974)
@@ -606,6 +606,15 @@
return entry->rotation;
}
+gboolean
+rstto_navigator_entry_get_flip (RsttoNavigatorEntry *entry, gboolean horizontal)
+{
+ if (horizontal)
+ return entry->h_flipped;
+ else
+ return entry->v_flipped;
+}
+
void
rstto_navigator_flip_entry(RsttoNavigator *navigator, RsttoNavigatorEntry *entry, gboolean horizontal)
{
Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h 2007-08-08 17:16:10 UTC (rev 2973)
+++ ristretto/trunk/src/navigator.h 2007-08-08 21:45:16 UTC (rev 2974)
@@ -98,6 +98,8 @@
rstto_navigator_set_entry_rotation (RsttoNavigator *navigator, RsttoNavigatorEntry *entry, GdkPixbufRotation rotation);
GdkPixbufRotation
rstto_navigator_entry_get_rotation (RsttoNavigatorEntry *entry);
+gboolean
+rstto_navigator_entry_get_flip (RsttoNavigatorEntry *entry, gboolean horizontal);
void
rstto_navigator_flip_entry(RsttoNavigator *navigator, RsttoNavigatorEntry *entry, gboolean horizontal);
Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c 2007-08-08 17:16:10 UTC (rev 2973)
+++ ristretto/trunk/src/thumbnail_viewer.c 2007-08-08 21:45:16 UTC (rev 2974)
@@ -268,6 +268,85 @@
-1, -1,
GDK_RGB_DITHER_NORMAL,
0, 0);
+ GdkPixbufRotation rotation = rstto_navigator_entry_get_rotation(entry);
+ gint arc_1 = 5760;
+ gint arc_2 = 0;
+ switch (rotation)
+ {
+ case GDK_PIXBUF_ROTATE_NONE:
+ break;
+ case GDK_PIXBUF_ROTATE_CLOCKWISE:
+ arc_2 = -5760;
+ break;
+ case GDK_PIXBUF_ROTATE_UPSIDEDOWN:
+ arc_2 = -11430;
+ break;
+ case GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE:
+ arc_2 = -17190;
+ break;
+ }
+ if (arc_2)
+ {
+ gdk_draw_arc(GDK_DRAWABLE(widget->window),
+ gc,
+ FALSE,
+ (viewer->priv->dimension * (i+1))-8,
+ viewer->priv->dimension-24,
+ 16,
+ 16,
+ 0, 23040);
+ gdk_draw_arc(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ (viewer->priv->dimension * (i+1))-8,
+ viewer->priv->dimension-24,
+ 16,
+ 16,
+ arc_1, arc_2);
+ }
+
+
+ gboolean v_flip = rstto_navigator_entry_get_flip(entry, FALSE);
+ gboolean h_flip = rstto_navigator_entry_get_flip(entry, TRUE);
+
+ if (v_flip)
+ {
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ FALSE,
+ (viewer->priv->dimension * (i+1))-48,
+ viewer->priv->dimension-24,
+ 16,
+ 16);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ (viewer->priv->dimension * (i+1))-48,
+ viewer->priv->dimension-24,
+ 16,
+ 8);
+
+ }
+
+ if (h_flip)
+ {
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ FALSE,
+ (viewer->priv->dimension * (i+1))-28,
+ viewer->priv->dimension-24,
+ 16,
+ 16);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ (viewer->priv->dimension * (i+1))-28,
+ viewer->priv->dimension-24,
+ 8,
+ 16);
+
+ }
+
}
gtk_paint_box(widget->style,
@@ -342,6 +421,84 @@
-1, -1,
GDK_RGB_DITHER_NORMAL,
0, 0);
+ GdkPixbufRotation rotation = rstto_navigator_entry_get_rotation(entry);
+ gint arc_1 = 5760;
+ gint arc_2 = 0;
+ switch (rotation)
+ {
+ case GDK_PIXBUF_ROTATE_NONE:
+ break;
+ case GDK_PIXBUF_ROTATE_CLOCKWISE:
+ arc_2 = -5760;
+ break;
+ case GDK_PIXBUF_ROTATE_UPSIDEDOWN:
+ arc_2 = -11430;
+ break;
+ case GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE:
+ arc_2 = -17190;
+ break;
+ }
+ if (arc_2)
+ {
+ gdk_draw_arc(GDK_DRAWABLE(widget->window),
+ gc,
+ FALSE,
+ viewer->priv->dimension-24,
+ (viewer->priv->dimension * (i+1))-8,
+ 16,
+ 16,
+ 0, 23040);
+ gdk_draw_arc(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ viewer->priv->dimension-24,
+ (viewer->priv->dimension * (i+1))-8,
+ 16,
+ 16,
+ arc_1, arc_2);
+ }
+
+
+ gboolean v_flip = rstto_navigator_entry_get_flip(entry, FALSE);
+ gboolean h_flip = rstto_navigator_entry_get_flip(entry, TRUE);
+
+ if (v_flip)
+ {
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ FALSE,
+ viewer->priv->dimension-64,
+ (viewer->priv->dimension * (i+1))-8,
+ 16,
+ 16);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ viewer->priv->dimension-64,
+ (viewer->priv->dimension * (i+1))-8,
+ 16,
+ 8);
+
+ }
+
+ if (h_flip)
+ {
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ FALSE,
+ viewer->priv->dimension-44,
+ (viewer->priv->dimension * (i+1))-8,
+ 16,
+ 16);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ viewer->priv->dimension-44,
+ (viewer->priv->dimension * (i+1))-8,
+ 8,
+ 16);
+
+ }
}
gtk_paint_box(widget->style,
More information about the Goodies-commits
mailing list