Your message dated Thu, 05 Apr 2007 19:34:04 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Close
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: gtk2-engines-lighthouseblue
Version: 2.8.1-1
Severity: wishlist
Tags: patch

Resize Grip widgets are invisible with the LighthouseBlue engine. This isn't a 
major usability problem, 
but it frustrating on occasion to try and click a grip when it doesn't exist. 
Enclosed is a patch that
draws a low-profile, angled rectangle shaped grip that seems to blend in fairly 
well with the
rest of the theme.


-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.9-ck3
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)

Versions of packages gtk2-engines-lighthouseblue depends on:
ii  libatk1.0-0                 1.8.0-2      The ATK accessibility toolkit
ii  libc6                       2.3.2.ds1-18 GNU C Library: Shared libraries an
ii  libglib2.0-0                2.4.7-1      The GLib library of C routines
ii  libgtk2.0-0                 2.4.13-1da2  The GTK+ graphical user interface 
ii  libpango1.0-0               1.6.0-1      Layout and rendering of internatio

-- no debconf information
diff -ur gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.c ../gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.c
--- gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.c	2004-08-18 11:15:04 -0400
+++ ../gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.c	2004-11-06 01:57:35 -0500
@@ -1751,9 +1752,24 @@
   parent_class->draw_layout (style, window, state_type, use_text, area, widget, detail, x, y, layout);
 	
 }
+static void make_square(gint * value1, gint * value2) 
+{ 
+  if (*value1 < *value2) 
+    *value2 = *value1;
+}
+
+static void make_square_offset(gint * value1, gint * value2, gint * value3) 
+{ 
+  if (*value1 < *value2) 
+  {
+    *value3 += (*value1 - *value2);
+    *value2 = *value1;
+  }
+}
+   
 
 static void draw_resize_grip (GtkStyle *style,
-							  GdkWindow * indow,
+							  GdkWindow * window,
 							  GtkStateType state_type,
 							  GdkRectangle *area,
 							  GtkWidget *widget,
@@ -1761,7 +1777,233 @@
 							  GdkWindowEdge edge,
 							  gint x, gint y, gint width, gint height)
 {
-	return; /* no resize grip in this theme */
+  g_return_if_fail (GTK_IS_STYLE (style));
+  g_return_if_fail (window != NULL);
+  
+/*  if (widget && GTK_IS_STATUSBAR(widget) && !RESIZE_GRIP(style)) {
+    gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(widget), FALSE);
+    return;
+  }*/
+    
+  if (area)
+    {
+      gdk_gc_set_clip_rectangle (style->light_gc[state_type], area);
+      gdk_gc_set_clip_rectangle (style->dark_gc[state_type], area);
+      gdk_gc_set_clip_rectangle (style->bg_gc[state_type], area);
+    }
+  
+  switch (edge)
+    {
+    case GDK_WINDOW_EDGE_WEST:
+    case GDK_WINDOW_EDGE_EAST:
+      {
+	gint xi;
+
+        if (edge==GDK_WINDOW_EDGE_WEST) 
+          make_square(&height, &width); 
+        else 
+          make_square_offset(&height, &width, &x);
+	
+	xi = x;
+
+	while (xi < x + width)
+	  {
+	    gdk_draw_line (window,
+			   style->light_gc[state_type],
+			   xi, y,
+			   xi, y + height -1);
+
+	    xi++;
+	    gdk_draw_line (window,
+			   style->dark_gc[state_type],
+			   xi, y+1,
+			   xi, y + height);
+
+	    xi += 2;
+	  }
+      }
+      break;
+    case GDK_WINDOW_EDGE_NORTH:
+    case GDK_WINDOW_EDGE_SOUTH:
+      {
+	gint yi;
+
+        if (edge==GDK_WINDOW_EDGE_NORTH) 
+          make_square(&width, &height); 
+        else 
+          make_square_offset(&width, &height, &y);
+
+	yi = y;
+
+	while (yi < y + height)
+	  {
+	    gdk_draw_line (window,
+			   style->light_gc[state_type],
+			   x, yi,
+			   x + width-1, yi);
+
+	    yi++;
+	    gdk_draw_line (window,
+			   style->dark_gc[state_type],
+			   x+1, yi,
+			   x + width, yi);
+
+	    yi+= 2;
+	  }
+      }
+      break;
+    case GDK_WINDOW_EDGE_NORTH_WEST:
+      {
+        gint xi, yi, heighti, widthi;
+
+        make_square_offset(&width, &height, &y);
+        make_square_offset(&height, &width, &x);
+				
+					
+				heighti = height / 3;
+				widthi = width / 3;
+
+        xi = x + width;
+        yi = y + height - heighti;
+				
+        while (xi < (x + width - widthi - 3))
+          {
+            gdk_draw_line (window,
+                           style->dark_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti);                           
+
+            --xi;
+            --yi;
+            
+            gdk_draw_line (window,
+                           style->light_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti );
+
+            --xi;
+            --yi;
+          }
+
+	    
+	  
+      }
+      break;
+    case GDK_WINDOW_EDGE_NORTH_EAST:
+      {
+        gint xi, yi, heighti, widthi;
+
+        make_square_offset(&width, &height, &y);
+        make_square_offset(&height, &width, &x);
+				
+					
+				heighti = height / 3;
+				widthi = width / 3;
+
+        xi = x;
+        yi = y + height - heighti;
+				
+        while (xi < (x + width - widthi - 3))
+          {
+            gdk_draw_line (window,
+                           style->dark_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti);                           
+
+            ++xi;
+            --yi;
+            
+            gdk_draw_line (window,
+                           style->light_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti );
+
+            ++xi;
+            --yi;
+          }
+
+      }
+      break;
+    case GDK_WINDOW_EDGE_SOUTH_WEST:
+      {
+        gint xi, yi, heighti, widthi;
+
+        make_square_offset(&width, &height, &y);
+        make_square_offset(&height, &width, &x);
+				
+					
+				heighti = height / 3;
+				widthi = width / 3;
+
+        xi = x + width;
+        yi = y + heighti;
+				
+        while (xi < (x + width - widthi - 3))
+          {
+            gdk_draw_line (window,
+                           style->dark_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti);                           
+
+            --xi;
+            ++yi;
+            
+            gdk_draw_line (window,
+                           style->light_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti );
+
+            --xi;
+            ++yi;
+          }
+
+      }
+      break;
+    case GDK_WINDOW_EDGE_SOUTH_EAST:
+      {
+        gint xi, yi, heighti, widthi;
+
+        make_square_offset(&width, &height, &y);
+        make_square_offset(&height, &width, &x);
+				
+					
+				heighti = height / 3;
+				widthi = width / 3;
+
+        xi = x;
+        yi = y + heighti;
+				
+        while (xi < (x + width - widthi - 3))
+          {
+            gdk_draw_line (window,
+                           style->dark_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti);                           
+
+            ++xi;
+            ++yi;
+            
+            gdk_draw_line (window,
+                           style->light_gc[state_type],
+                           xi, yi,
+                           xi + widthi , yi - heighti );
+
+            ++xi;
+						++yi;
+          }
+      }
+      break;
+    default:
+      return;
+      break;
+    }
+  
+  if (area)
+    {
+      gdk_gc_set_clip_rectangle (style->light_gc[state_type], NULL);
+      gdk_gc_set_clip_rectangle (style->dark_gc[state_type], NULL);
+      gdk_gc_set_clip_rectangle (style->bg_gc[state_type], NULL);
+    }
 }
 					
 
diff -ur gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.h ../gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.h
--- gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.h	2003-01-16 22:32:01 -0500
+++ ../gnome-themes-2.8.1/gtk-themes/LightHouseBlue/src/lighthouseblue_style.h	2004-11-05 22:26:45 -0500
@@ -16,6 +16,8 @@
 #define LIGHTHOUSEBLUE_IS_STYLE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), LIGHTHOUSEBLUE_TYPE_STYLE))
 #define LIGHTHOUSEBLUE_IS_STYLE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), LIGHTHOUSEBLUE_TYPE_STYLE))
 #define LIGHTHOUSEBLUE_STYLE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), LIGHTHOUSEBLUE_TYPE_STYLE, LighthouseBlueStyleClass))
+#define THEME_DATA(style)                 (LIGHTHOUSEBLUE_STYLE (style->rc_style))
+#define RESIZE_GRIP(style)(THEME_DATA(style)->resize_grip)
 
 struct _LighthouseBlueStyle
 {

--- End Message ---
--- Begin Message ---
Version: 1:2.10.0-1

Closing bug for 2.10 as lighthouseblue has been dropped.

-- 
Cheers,
Sven Arvidsson
http://www.whiz.se
PGP Key ID 760BDD22

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---

Reply via email to