[maemo-commits] [maemo-commits] r17075 - in projects/haf/trunk/sapwood: . server
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Jan 9 15:46:22 EET 2009
- Previous message: [maemo-commits] r17074 - in projects/haf/trunk/sapwood: . server
- Next message: [maemo-commits] r17076 - in projects/haf/trunk/sapwood: . engine protocol server tests
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: herzi Date: 2009-01-09 15:46:20 +0200 (Fri, 09 Jan 2009) New Revision: 17075 Modified: projects/haf/trunk/sapwood/ChangeLog projects/haf/trunk/sapwood/server/sapwood-server.c Log: 2009-01-09 Sven Herzberg <sven at imendio.com> Be able to choose the depth of the pixmap by providing a colormap (through a GdkWindow) * server/sapwood-server.c (extract_pixmap_single): create a single GdkWindow to be able to let it provide the colormap and default depth for the 32 bit pixmaps later Modified: projects/haf/trunk/sapwood/ChangeLog =================================================================== --- projects/haf/trunk/sapwood/ChangeLog 2009-01-09 13:46:15 UTC (rev 17074) +++ projects/haf/trunk/sapwood/ChangeLog 2009-01-09 13:46:20 UTC (rev 17075) @@ -1,3 +1,12 @@ +2009-01-09 Sven Herzberg <sven at imendio.com> + + Be able to choose the depth of the pixmap by providing a colormap + (through a GdkWindow) + + * server/sapwood-server.c (extract_pixmap_single): create a single + GdkWindow to be able to let it provide the colormap and default depth + for the 32 bit pixmaps later + 2009-01-08 Sven Herzberg <sven at imendio.com> Do the GdkPixbuf rendering with cairo Modified: projects/haf/trunk/sapwood/server/sapwood-server.c =================================================================== --- projects/haf/trunk/sapwood/server/sapwood-server.c 2009-01-09 13:46:15 UTC (rev 17074) +++ projects/haf/trunk/sapwood/server/sapwood-server.c 2009-01-09 13:46:20 UTC (rev 17075) @@ -82,12 +82,37 @@ int width, int height, PixbufOpenResponse *rep) { + static GdkWindow* rgba_window = NULL; GdkPixmap *pixmap; gboolean need_mask; cairo_t *cr; - pixmap = gdk_pixmap_new (NULL, width, height, server_depth); + if (G_UNLIKELY (!rgba_window)) { + GdkWindowAttr attrs = { + NULL, /* gchar *title */ + 0, /* gint event_mask */ + 0, 0, /* gint x, y */ + 1, /* gint width */ + 1, /* gint height */ + GDK_INPUT_OUTPUT, /* GdkWindowClass wclass */ + NULL, /* GdkVisual *visual */ + NULL, /* GdkColormap *colormap */ + GDK_WINDOW_TOPLEVEL, /* GdkWindowType window_type */ + NULL, /* GdkCursor *cursor */ + NULL, /* gchar *wmclass_name */ + NULL, /* gchar *wmclass_class */ + TRUE, /* gboolean override_redirect */ + GDK_WINDOW_TYPE_HINT_NORMAL, /* GdkWindowTypeHint type_hint */ + }; + GdkScreen* screen = gdk_screen_get_default (); + attrs.visual = gdk_screen_get_rgb_visual (screen); + attrs.colormap = gdk_screen_get_rgb_colormap (screen); + rgba_window = gdk_window_new (gdk_screen_get_root_window (screen), &attrs, + GDK_WA_VISUAL | GDK_WA_COLORMAP); + } + pixmap = gdk_pixmap_new (rgba_window, width, height, -1); + cr = gdk_cairo_create (pixmap); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
- Previous message: [maemo-commits] r17074 - in projects/haf/trunk/sapwood: . server
- Next message: [maemo-commits] r17076 - in projects/haf/trunk/sapwood: . engine protocol server tests
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]