r4377 - in trunk/src/target/OM-2007.2/libraries/moko-gtk-engine: . data/gtk-2.0 src

thomas at sita.openmoko.org thomas at sita.openmoko.org
Fri Apr 18 15:00:08 CEST 2008


Author: thomas
Date: 2008-04-18 15:00:06 +0200 (Fri, 18 Apr 2008)
New Revision: 4377

Modified:
   trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
   trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtk-2.0/gtkrc
   trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c
Log:
2008-04-18  Thomas Wood  <thomas at openedhand.com>

	* data/gtk-2.0/gtkrc: Fix padding and add a border to menus


Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog	2008-04-18 10:55:13 UTC (rev 4376)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog	2008-04-18 13:00:06 UTC (rev 4377)
@@ -1,5 +1,9 @@
 2008-04-18  Thomas Wood  <thomas at openedhand.com>
 
+	* data/gtk-2.0/gtkrc: Fix padding and add a border to menus
+
+2008-04-18  Thomas Wood  <thomas at openedhand.com>
+
 	* data/gtk-2.0/gtkrc: Make labels on inactive tabs slightly darker
 
 2008-04-16  Thomas Wood  <thomas at openedhand.com>

Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtk-2.0/gtkrc
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtk-2.0/gtkrc	2008-04-18 10:55:13 UTC (rev 4376)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtk-2.0/gtkrc	2008-04-18 13:00:06 UTC (rev 4377)
@@ -30,6 +30,7 @@
   GtkCheckMenuItem::indicator_size = 18
   GtkEntry::inner_border = {10, 10, 10, 10}
   GtkFrame::shadow_type = GTK_SHADOW_NONE
+  GtkMenu::horizontal-padding = 1
   GtkPaned::handle-size = 16
   GtkRange::slider-width = 28
   GtkRange::trough_border = 2
@@ -135,6 +136,14 @@
 }
 widget_class "*GtkNotebook*" style "notebook"
 
+style "menu"
+{
+  engine "moko-engine" {
+    border = TRUE
+  }
+}
+class "GtkMenu" style "menu"
+
 style "menuitem"
 {
   xthickness = 8
@@ -145,6 +154,7 @@
 
   bg[PRELIGHT] = @selected_bg_color
   fg[PRELIGHT] = @selected_fg_color
+
 }
 widget_class "*MenuItem*" style "menuitem"
 widget "GtkWindow.gtk-combobox-popup-menu" style "menuitem"

Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c	2008-04-18 10:55:13 UTC (rev 4376)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c	2008-04-18 13:00:06 UTC (rev 4377)
@@ -30,7 +30,6 @@
 #include <math.h>
 #include <string.h>
 
-#define DEBUG(func) // g_printf ("%s: detail = '%s'; state = %d; x:%d; y:%d; w:%d; h:%d;\n", func, detail, state_type, x, y, width, height);
 #define DETAIL(foo) (detail && strcmp (foo, detail) == 0)
 
 GtkStyleClass *parent_style_class;
@@ -40,7 +39,6 @@
 {
   GdkGC *gc;
 
-  DEBUG ("draw_box");
   SANITIZE_SIZE;
 
   /*** spin buttons ***/
@@ -102,7 +100,6 @@
 moko_draw_shadow (DRAW_ARGS)
 {
   GdkGC* gc;
-  DEBUG ("draw_shadow");
 
   if (shadow_type == GTK_SHADOW_NONE)
     return;
@@ -129,8 +126,6 @@
                  GdkRectangle *area, GtkWidget *widget, const gchar *detail,
                  gint x, gint y, gint width, gint height)
 {
-  DEBUG ("draw_focus");
-
   /* no focus indicator for the moment ... */
 }
 
@@ -141,22 +136,19 @@
 		 const gchar * detail, gint x, gint y, gint width,
 		 gint height)
 {
-  GdkGC *gc, *border;
 
-  if (state_type == GTK_STATE_PRELIGHT)
-    state_type = GTK_STATE_NORMAL;
-
-  if (shadow_type == GTK_SHADOW_IN)
-    gc = style->base_gc[GTK_STATE_SELECTED];
-  else
-    gc = style->base_gc[state_type];
-
   gdk_draw_rectangle (window, style->black_gc, TRUE,
                       x, y, width, height);
 
-  gdk_draw_rectangle (window, gc, TRUE,
+  gdk_draw_rectangle (window, style->base_gc[GTK_STATE_NORMAL], TRUE,
                       x + 2, y + 2, width - 4, height - 4);
 
+  if (shadow_type == GTK_SHADOW_IN)
+  {
+    gdk_draw_rectangle (window, style->base_gc[GTK_STATE_SELECTED], TRUE,
+                        x + 4, y + 4, width - 8, height - 8);
+  }
+
 }
 
 static void
@@ -166,23 +158,26 @@
 		  const gchar * detail, gint x, gint y, gint width,
 		  gint height)
 {
-  DEBUG ("draw_option");
+  cairo_t *cr;
 
-  GdkGC *gc;
-  if (state_type == GTK_STATE_PRELIGHT)
-    state_type = GTK_STATE_NORMAL;
-  if (shadow_type == GTK_SHADOW_IN)
-    gc = style->base_gc[GTK_STATE_SELECTED];
-  else
-    gc = style->base_gc[state_type];
+  /* X arc drawing code is really ugly, so we use cairo here */
+  gdk_draw_arc (window, style->black_gc, TRUE,
+   x, y, width, height, 0, 360 * 64);
 
+  x += 2; y += 2;
+  width -= 4; height -=4;
 
-  gdk_draw_arc (window, style->black_gc, TRUE,
+  gdk_draw_arc (window, style->base_gc[state_type], TRUE,
    x, y, width, height, 0, 360 * 64);
 
-  gdk_draw_arc (window, gc, TRUE,
-   x + 2, y + 2, width - 4, height - 4, 0, 360 * 64);
+  if (shadow_type == GTK_SHADOW_IN)
+  {
+    x += 2; y += 2;
+    width -= 4; height -=4;
 
+    gdk_draw_arc (window, style->base_gc[GTK_STATE_SELECTED], TRUE,
+     x, y, width, height, 0, 360 * 64);
+  }
 }
 
 static void





More information about the commitlog mailing list