Magellan Linux

Contents of /trunk/gtk2+/patches/gtk+-2.2.1-disable_icons_smooth_alpha.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (show annotations) (download)
Tue May 8 20:06:05 2007 UTC (16 years, 11 months ago) by niro
File size: 1383 byte(s)
-import

1 diff -ru gtk+-2.2.1/gtk/gtkstyle.c gtk+-2.2.1.patch/gtk/gtkstyle.c
2 --- gtk+-2.2.1/gtk/gtkstyle.c 2003-01-31 05:42:34.000000000 +0100
3 +++ gtk+-2.2.1.patch/gtk/gtkstyle.c 2003-02-07 19:16:04.000000000 +0100
4 @@ -1988,6 +1988,36 @@
5 }
6 }
7
8 +static void
9 +set_pixbuf_alpha (GdkPixbuf *src)
10 +{
11 + int width, wb;
12 + int height;
13 + int rowstride;
14 + gboolean has_alpha;
15 + guchar *pixels, *p;
16 + int i, j;
17 +
18 + width = gdk_pixbuf_get_width (src);
19 + height = gdk_pixbuf_get_height (src);
20 + rowstride = gdk_pixbuf_get_rowstride (src);
21 + has_alpha = gdk_pixbuf_get_has_alpha (src);
22 +
23 + if (has_alpha == FALSE)
24 + return;
25 +
26 + pixels = gdk_pixbuf_get_pixels (src);
27 +
28 + wb = width << 2;
29 + for (i = 0; i < height; i ++)
30 + {
31 + p = pixels + (i * rowstride);
32 +
33 + for (j = 0; j < wb; j += 4)
34 + p[j + 3] = p[j + 3] >> 1;
35 + }
36 +}
37 +
38 static GdkPixbuf *
39 gtk_default_render_icon (GtkStyle *style,
40 const GtkIconSource *source,
41 @@ -2054,8 +2084,8 @@
42 stated = gdk_pixbuf_copy (scaled);
43
44 gdk_pixbuf_saturate_and_pixelate (scaled, stated,
45 - 0.8, TRUE);
46 -
47 + 0.0, FALSE);
48 + set_pixbuf_alpha (stated);
49 g_object_unref (scaled);
50 }
51 else if (state == GTK_STATE_PRELIGHT)