[maemo-commits] [maemo-commits] r18911 - in projects/haf/trunk/sapwood: . demos

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Jul 20 17:17:37 EEST 2009
Author: herzi
Date: 2009-07-20 17:17:35 +0300 (Mon, 20 Jul 2009)
New Revision: 18911

Modified:
   projects/haf/trunk/sapwood/ChangeLog
   projects/haf/trunk/sapwood/demos/gradient.c
Log:
2009-01-10  Sven Herzberg  <sven at imendio.com>

	Added a transparent main window to the gradient demo (to check how
	well it works)

	* demos/gradient.c (window_expose_event), (main): added a semi transparent
	background to the window; set a default size; improve the logging
	messages



Modified: projects/haf/trunk/sapwood/ChangeLog
===================================================================
--- projects/haf/trunk/sapwood/ChangeLog	2009-07-20 14:16:33 UTC (rev 18910)
+++ projects/haf/trunk/sapwood/ChangeLog	2009-07-20 14:17:35 UTC (rev 18911)
@@ -1,5 +1,14 @@
 2009-01-10  Sven Herzberg  <sven at imendio.com>
 
+	Added a transparent main window to the gradient demo (to check how
+	well it works)
+
+	* demos/gradient.c (window_expose_event), (main): added a semi transparent
+	background to the window; set a default size; improve the logging
+	messages
+
+2009-01-10  Sven Herzberg  <sven at imendio.com>
+
 	Added the button style from the buttonbox demo
 
 	* demos/rgba-demo.gtkrc: just copied the button style part

Modified: projects/haf/trunk/sapwood/demos/gradient.c
===================================================================
--- projects/haf/trunk/sapwood/demos/gradient.c	2009-07-20 14:16:33 UTC (rev 18910)
+++ projects/haf/trunk/sapwood/demos/gradient.c	2009-07-20 14:17:35 UTC (rev 18911)
@@ -20,8 +20,37 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #include <gtk/gtk.h>
 
+static gboolean
+window_expose_event (GtkWidget     * widget,
+                     GdkEventExpose* expose,
+                     gpointer        user_data G_GNUC_UNUSED)
+{
+  cairo_t* cr = gdk_cairo_create (widget->window);
+
+  cairo_save (cr);
+    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+    cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
+    cairo_paint (cr);
+  cairo_restore (cr);
+
+  cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+  cairo_rectangle (cr,
+                   widget->allocation.x - (widget->allocation.width - 20) / 2,
+                   widget->allocation.y,
+                   20,
+                   widget->allocation.height);
+  cairo_set_source_rgba (cr, 0.5, 0.0, 0.0, 0.5);
+  cairo_fill (cr);
+  cairo_paint (cr);
+
+  cairo_destroy (cr);
+
+  return FALSE;
+}
+
 int
 main (int argc, char **argv)
 {
@@ -40,8 +69,21 @@
     {
       gtk_widget_set_colormap (window,
                                gdk_screen_get_rgba_colormap (gtk_widget_get_screen (window)));
+
+      gtk_widget_set_app_paintable (window, TRUE);
+
+      g_signal_connect (window, "expose-event",
+                        G_CALLBACK (window_expose_event), NULL);
     }
+  else
+    {
+      g_print ("not ");
+    }
 
+  g_print ("using rgba colormap\n");
+
+  gtk_window_set_default_size (GTK_WINDOW (window), 300, 200);
+
   gtk_container_add (GTK_CONTAINER (window), align);
   gtk_container_add (GTK_CONTAINER (align), button);
 

More information about the maemo-commits mailing list