[Xfce4-commits] <ristretto:master> Add checkered background

Stephan Arts noreply at xfce.org
Fri Oct 21 17:38:10 CEST 2011


Updating branch refs/heads/master
         to 785101a913fef84feb570bc36aca8982c0a94e74 (commit)
       from 0b5a1e3d57e56d74cfca2610fb81df179b4904b0 (commit)

commit 785101a913fef84feb570bc36aca8982c0a94e74
Author: Stephan Arts <stephan at xfce.org>
Date:   Fri Oct 21 17:29:30 2011 +0200

    Add checkered background

 src/image_viewer.c |   81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/src/image_viewer.c b/src/image_viewer.c
index a608c40..28902cc 100644
--- a/src/image_viewer.c
+++ b/src/image_viewer.c
@@ -888,6 +888,12 @@ paint_image (
         cairo_t *ctx )
 {
     RsttoImageViewer *viewer = RSTTO_IMAGE_VIEWER (widget);
+    gint i = 0;
+    gint a = 0;
+    gdouble x_offset;
+    gdouble y_offset;
+    gint block_width = 10;
+    gint block_height = 10;
 
     if (viewer->priv->pixbuf)
     {
@@ -932,6 +938,81 @@ paint_image (
             viewer->priv->rendering.y_offset = 0.0;
         }
 
+        cairo_save (ctx);
+        x_offset = viewer->priv->rendering.x_offset;
+        y_offset = viewer->priv->rendering.y_offset;
+
+/* BEGIN PAINT CHECKERED BACKGROUND */
+        cairo_set_source_rgba (ctx, 0.8, 0.8, 0.8, 1.0);
+        for (i = 0; i < viewer->priv->rendering.width/10; ++i)
+        {
+            if(i%2){a=0;}
+            else{a=1;}
+
+            if ((i+1) <= (viewer->priv->rendering.width/10))
+            {
+                block_width = 10;
+            }
+            else
+            {
+                block_width = ((gint)viewer->priv->rendering.width)%10;
+            }
+            for (; a < viewer->priv->rendering.height/10; a+=2)
+            {
+                if ((a+1) <= (viewer->priv->rendering.height/10))
+                {
+                    block_height = 10;
+                }
+                else
+                {
+                    block_height = ((gint)viewer->priv->rendering.height%10);
+                }
+                cairo_rectangle (
+                        ctx,
+                        x_offset + i*10 - 0.5,
+                        y_offset + a*10 - 0.5,
+                        block_width,
+                        block_height);
+                cairo_fill (ctx);
+            }
+        }
+
+        cairo_set_source_rgba (ctx, 0.4, 0.4, 0.4, 1.0);
+        for (i = 0; i < viewer->priv->rendering.width/10; ++i)
+        {
+            if(i%2){a=1;}
+            else{a=0;}
+
+            if ((i+1) <= (viewer->priv->rendering.width/10))
+            {
+                block_width = 10;
+            }
+            else
+            {
+                block_width = ((gint)viewer->priv->rendering.width)%10;
+            }
+            for (; a < viewer->priv->rendering.height/10; a+=2)
+            {
+                if ((a+1) <= (viewer->priv->rendering.height/10))
+                {
+                    block_height = 10;
+                }
+                else
+                {
+                    block_height = ((gint)viewer->priv->rendering.height%10);
+                }
+                cairo_rectangle (
+                        ctx,
+                        x_offset + i*10 - 0.5,
+                        y_offset + a*10 - 0.5,
+                        block_width,
+                        block_height);
+                cairo_fill (ctx);
+            }
+        }
+/* END PAINT CHECKERED BACKGROUND */
+        cairo_restore (ctx);
+
         /* TODO: make this work for all rotations */
         switch (viewer->priv->orientation)
         {


More information about the Xfce4-commits mailing list