[Goodies-commits] r2963 - ristretto/trunk/src

Stephan Arts stephan at xfce.org
Tue Aug 7 16:14:48 CEST 2007


Author: stephan
Date: 2007-08-07 14:14:48 +0000 (Tue, 07 Aug 2007)
New Revision: 2963

Modified:
   ristretto/trunk/src/thumbnail_viewer.c
Log:
fix some rendering issues;


Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-08-07 13:08:57 UTC (rev 2962)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-08-07 14:14:48 UTC (rev 2963)
@@ -241,25 +241,28 @@
 
                 gdk_gc_set_foreground(gc, &color);
                 gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
-                      gc,
-                      TRUE,
-                      16+(i*viewer->priv->dimension)-viewer->priv->offset, 0, viewer->priv->dimension, viewer->priv->dimension);
+                                gc,
+                                TRUE,
+                                16+(i*viewer->priv->dimension)-viewer->priv->offset,
+                                0,
+                                viewer->priv->dimension,
+                                viewer->priv->dimension);
 
                 
                 if(current_entry == entry)
                     gtk_paint_box(widget->style,
-                                 widget->window,
-                                 GTK_STATE_SELECTED,
-                                 GTK_SHADOW_NONE,
-                                 NULL,NULL,NULL,
-                                 (i*viewer->priv->dimension)+20-viewer->priv->offset, 4, viewer->priv->dimension - 8, viewer->priv->dimension - 8);
+                                widget->window,
+                                GTK_STATE_SELECTED,
+                                GTK_SHADOW_NONE,
+                                NULL,NULL,NULL,
+                                (i*viewer->priv->dimension)+20-viewer->priv->offset, 4, viewer->priv->dimension - 8, viewer->priv->dimension - 8);
                 else
                     gtk_paint_box(widget->style,
-                                 widget->window,
-                                 GTK_STATE_NORMAL,
-                                 GTK_SHADOW_NONE,
-                                 NULL,NULL,NULL,
-                                 (i*viewer->priv->dimension)+20-viewer->priv->offset, 4, viewer->priv->dimension - 8, viewer->priv->dimension - 8);
+                                widget->window,
+                                GTK_STATE_NORMAL,
+                                GTK_SHADOW_NONE,
+                                NULL,NULL,NULL,
+                                (i*viewer->priv->dimension)+20-viewer->priv->offset, 4, viewer->priv->dimension - 8, viewer->priv->dimension - 8);
 
                 if(pixbuf)
                     gdk_draw_pixbuf(GDK_DRAWABLE(widget->window),
@@ -272,6 +275,15 @@
                                 GDK_RGB_DITHER_NORMAL,
                                 0, 0);
             }
+            if(widget->allocation.width - (viewer->priv->dimension * (i+1)) - viewer->priv->offset - 16 > 0)
+            {
+                gdk_window_clear_area(widget->window,
+                            (viewer->priv->dimension * (i+1)) - viewer->priv->offset,
+                            0,
+                            widget->allocation.width - (viewer->priv->dimension * (i+1)) - viewer->priv->offset - 16,
+                            viewer->priv->dimension);
+            }
+
             gtk_paint_box(widget->style,
                             widget->window,
                             GTK_STATE_NORMAL,
@@ -301,7 +313,8 @@
                             GTK_ARROW_RIGHT,
                             TRUE,
                             widget->allocation.width - 16, viewer->priv->dimension / 2 - 7,14,14);
-            gdk_window_clear_area(widget->window, 16 + viewer->priv->dimension * (i+1), 0, widget->allocation.width, viewer->priv->dimension);
+
+
             break;
         case GTK_ORIENTATION_VERTICAL:
             for(i = 0; i < rstto_navigator_get_n_files(viewer->priv->navigator); ++i)
@@ -342,6 +355,16 @@
                                 GDK_RGB_DITHER_NORMAL,
                                 0, 0);
             }
+
+            if(widget->allocation.height - (viewer->priv->dimension * (i+1)) - viewer->priv->offset - 16 > 0)
+            {
+                gdk_window_clear_area(widget->window,
+                            0,
+                            (viewer->priv->dimension * (i+1)) - viewer->priv->offset,
+                            viewer->priv->dimension,
+                            widget->allocation.height - (viewer->priv->dimension * (i+1)) - viewer->priv->offset - 16);
+            }
+
             gtk_paint_box(widget->style,
                             widget->window,
                             GTK_STATE_NORMAL,
@@ -371,7 +394,6 @@
                             GTK_ARROW_DOWN,
                             TRUE,
                             viewer->priv->dimension / 2 - 7, widget->allocation.height - 16,14,14);
-            gdk_window_clear_area(widget->window, 0, 16 + viewer->priv->dimension * (i+1), viewer->priv->dimension, widget->allocation.height);
             break;
     }
 
@@ -450,10 +472,16 @@
         }
         else
         {
-            viewer->priv->offset += viewer->priv->dimension;
-            if((rstto_navigator_get_n_files(viewer->priv->navigator) * viewer->priv->dimension - viewer->priv->offset) < viewer->priv->dimension)
+            if(rstto_navigator_get_n_files(viewer->priv->navigator) == 0)
+                viewer->priv->offset = 0;
+            else
             {
-                viewer->priv->offset = (rstto_navigator_get_n_files(viewer->priv->navigator) - 1) * viewer->priv->dimension;
+                viewer->priv->offset += viewer->priv->dimension;
+
+                if((rstto_navigator_get_n_files(viewer->priv->navigator) * viewer->priv->dimension - viewer->priv->offset) < viewer->priv->dimension)
+                {
+                    viewer->priv->offset = (rstto_navigator_get_n_files(viewer->priv->navigator) - 1) * viewer->priv->dimension;
+                }
             }
         }
         if(old_offset != viewer->priv->offset)




More information about the Goodies-commits mailing list