[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