[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