[maemo-commits] [maemo-commits] r16604 - in projects/haf/trunk/sapwood: . engine

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Nov 7 07:34:46 EET 2008
Author: herzi
Date: 2008-11-07 07:34:40 +0200 (Fri, 07 Nov 2008)
New Revision: 16604

Modified:
   projects/haf/trunk/sapwood/ChangeLog
   projects/haf/trunk/sapwood/engine/sapwood-rc-style.c
   projects/haf/trunk/sapwood/engine/sapwood-rc-style.h
   projects/haf/trunk/sapwood/engine/sapwood-style.c
   projects/haf/trunk/sapwood/engine/theme-pixbuf.h
Log:
2008-11-07  Sven Herzberg  <sven at imendio.com>

	NB#91010: shadowcolor option for labels
	Patch by Daniel Borgmann (danielb at openismus.com)

	* engine/sapwood-rc-style.c (theme_parse_shadowcolor),
	(sapwood_rc_style_parse), (sapwood_rc_style_merge):
	* engine/sapwood-rc-style.h:
	* engine/sapwood-style.c (draw_layout):
	* engine/theme-pixbuf.h:


Modified: projects/haf/trunk/sapwood/ChangeLog
===================================================================
--- projects/haf/trunk/sapwood/ChangeLog	2008-11-06 15:34:43 UTC (rev 16603)
+++ projects/haf/trunk/sapwood/ChangeLog	2008-11-07 05:34:40 UTC (rev 16604)
@@ -1,3 +1,14 @@
+2008-11-07  Sven Herzberg  <sven at imendio.com>
+
+	NB#91010: shadowcolor option for labels
+	Patch by Daniel Borgmann (danielb at openismus.com)
+
+	* engine/sapwood-rc-style.c (theme_parse_shadowcolor),
+	(sapwood_rc_style_parse), (sapwood_rc_style_merge):
+	* engine/sapwood-rc-style.h:
+	* engine/sapwood-style.c (draw_layout):
+	* engine/theme-pixbuf.h:
+
 2008-10-06  Claudio Saavedra  <csaavedra at igalia.com>
 
 	* === Release 3.1.0 ===

Modified: projects/haf/trunk/sapwood/engine/sapwood-rc-style.c
===================================================================
--- projects/haf/trunk/sapwood/engine/sapwood-rc-style.c	2008-11-06 15:34:43 UTC (rev 16603)
+++ projects/haf/trunk/sapwood/engine/sapwood-rc-style.c	2008-11-07 05:34:40 UTC (rev 16604)
@@ -44,6 +44,7 @@
   }
 theme_symbols[] =
 {
+  { "shadowcolor",      TOKEN_SHADOWCOLOR },
   { "image", 		TOKEN_IMAGE  },
   { "function", 	TOKEN_FUNCTION },
   { "file", 		TOKEN_FILE },
@@ -153,6 +154,24 @@
 }
 
 static guint
+theme_parse_shadowcolor (GScanner       *scanner,
+                         SapwoodRcStyle *style,
+                         GdkColor       *shadowcolor)
+{
+  guint token;
+  
+  /* Skip 'blah_shadowcolor' */
+  token = g_scanner_get_next_token (scanner);
+  
+  token = g_scanner_get_next_token (scanner);
+  if (token != G_TOKEN_EQUAL_SIGN)
+    return G_TOKEN_EQUAL_SIGN;
+  
+  style->has_shadow = TRUE;
+  return gtk_rc_parse_color_full (scanner, GTK_RC_STYLE (style), shadowcolor);
+}
+
+static guint
 theme_parse_file (GtkSettings  *settings,
                   GScanner     *scanner,
                   ThemePixbuf **theme_pb)
@@ -735,7 +754,7 @@
   guint old_scope;
   guint token;
   gint i;
-  ThemeImage *img;
+  ThemeImage *img = NULL;
 
   /* Set up a new scope in this scanner. */
 
@@ -769,6 +788,9 @@
     {
       switch (token)
 	{
+	case TOKEN_SHADOWCOLOR:
+	  token = theme_parse_shadowcolor (scanner, sapwood_style, &sapwood_style->shadowcolor);
+	  break;
 	case TOKEN_IMAGE:
 	  img = NULL;
 	  token = theme_parse_image (settings, scanner, sapwood_style, &img);
@@ -781,7 +803,7 @@
 
       if (token != G_TOKEN_NONE)
 	return token;
-      else
+      else if (img != NULL)
 	sapwood_style->img_list = g_list_prepend (sapwood_style->img_list, img);
 
       token = g_scanner_peek_next_token (scanner);
@@ -805,6 +827,12 @@
       SapwoodRcStyle *pixbuf_dest = SAPWOOD_RC_STYLE (dest);
       SapwoodRcStyle *pixbuf_src = SAPWOOD_RC_STYLE (src);
       GList *tmp_list1, *tmp_list2;
+      
+      if (pixbuf_src->has_shadow)
+        {
+          pixbuf_dest->has_shadow = TRUE;
+          pixbuf_dest->shadowcolor = pixbuf_src->shadowcolor;
+        }
 
       if (pixbuf_src->img_list)
 	{

Modified: projects/haf/trunk/sapwood/engine/sapwood-rc-style.h
===================================================================
--- projects/haf/trunk/sapwood/engine/sapwood-rc-style.h	2008-11-06 15:34:43 UTC (rev 16603)
+++ projects/haf/trunk/sapwood/engine/sapwood-rc-style.h	2008-11-07 05:34:40 UTC (rev 16604)
@@ -44,6 +44,8 @@
   GtkRcStyle parent_instance;
 
   GList *img_list;
+  guint has_shadow : 1;
+  GdkColor shadowcolor;
 };
 
 struct _SapwoodRcStyleClass

Modified: projects/haf/trunk/sapwood/engine/sapwood-style.c
===================================================================
--- projects/haf/trunk/sapwood/engine/sapwood-style.c	2008-11-06 15:34:43 UTC (rev 16603)
+++ projects/haf/trunk/sapwood/engine/sapwood-style.c	2008-11-07 05:34:40 UTC (rev 16604)
@@ -1389,6 +1389,10 @@
   if (area)
     gdk_gc_set_clip_rectangle (gc, area);
 
+  /* Draw the optional shadow */
+  if (SAPWOOD_RC_STYLE (style->rc_style)->has_shadow)
+    gdk_draw_layout_with_colors (window, gc, x + 1, y + 1, layout, &SAPWOOD_RC_STYLE (style->rc_style)->shadowcolor, NULL);
+
   gdk_draw_layout (window, gc, x, y, layout);
 
   if (area)

Modified: projects/haf/trunk/sapwood/engine/theme-pixbuf.h
===================================================================
--- projects/haf/trunk/sapwood/engine/theme-pixbuf.h	2008-11-06 15:34:43 UTC (rev 16603)
+++ projects/haf/trunk/sapwood/engine/theme-pixbuf.h	2008-11-07 05:34:40 UTC (rev 16604)
@@ -35,7 +35,8 @@
 
 enum
 {
-  TOKEN_IMAGE = G_TOKEN_LAST + 1,
+  TOKEN_SHADOWCOLOR = G_TOKEN_LAST + 1,
+  TOKEN_IMAGE,
   TOKEN_FUNCTION,
   TOKEN_FILE,
   TOKEN_STRETCH,


More information about the maemo-commits mailing list