summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDanielle Madeley <danielle.madeley@collabora.co.uk>2009-09-10 12:47:00 +1000
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2009-11-18 12:18:30 +1100
commiteb7bc8690776a326a1e4a7ff0f4d1d81b13f94f1 (patch)
tree325bf876161a4c7c888a257f9b048ff97037b78c /examples
parente4057baa0c7c71f0c55fcbe5433aa3d4fdd00c68 (diff)
downloadclutter-gtk-eb7bc8690776a326a1e4a7ff0f4d1d81b13f94f1.tar.gz
stacked-standins demo, which has embedded stacks of GtkClutterStandins
This demo currently highlights some bugs in GtkClutterStandin
Diffstat (limited to 'examples')
-rw-r--r--examples/Makefile.am7
-rw-r--r--examples/stacked-standins.c77
2 files changed, 83 insertions, 1 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 5302066..881d791 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -14,7 +14,8 @@ noinst_PROGRAMS = \
gtk-clutter-window-test \
gtk-clutter-window-test2 \
refcounting-test \
- reparenting-test
+ reparenting-test \
+ stacked-standins
INCLUDES = -I$(srcdir) -I$(top_srcdir)
@@ -76,6 +77,10 @@ reparenting_test_SOURCES = reparenting-test.c
reparenting_test_DEPENDENCIES = $(common_deps)
reparenting_test_LDADD = $(common_ldadd)
+stacked_standins_SOURCES = stacked-standins.c
+stacked_standins_DEPENDENCIES = $(common_deps)
+stacked_standins_LDADD = $(common_ldadd)
+
EXTRA_DIST = \
animated-notebook.ui \
redhand.png
diff --git a/examples/stacked-standins.c b/examples/stacked-standins.c
new file mode 100644
index 0000000..9733cff
--- /dev/null
+++ b/examples/stacked-standins.c
@@ -0,0 +1,77 @@
+/* Clutter-Gtk Test
+ *
+ * (c) 2009, Collabora Ltd.
+ *
+ * Written by Danielle Madeley <danielle.madeley@collabora.co.uk>
+ */
+
+#include <gtk/gtk.h>
+#include <clutter/clutter.h>
+#include <clutter-gtk/clutter-gtk.h>
+
+#include <math.h>
+
+int
+main (int argc, char **argv)
+{
+ ClutterActor *actor;
+ GtkWidget *standin;
+
+ gtk_clutter_init (&argc, &argv);
+
+ GtkWidget *window = gtk_clutter_window_new ();
+ g_signal_connect_swapped (window, "show",
+ G_CALLBACK (g_print), "show window (%p)\n");
+ g_signal_connect_swapped (window, "destroy",
+ G_CALLBACK (gtk_main_quit), NULL);
+
+ /* notebook */
+ GtkWidget *nb = gtk_notebook_new ();
+ g_signal_connect_swapped (nb, "show",
+ G_CALLBACK (g_print), "show notebook (%p)\n");
+ actor = gtk_clutter_actor_new_with_contents (nb);
+ g_signal_connect_swapped (actor, "show",
+ G_CALLBACK (g_print), "show notebook actor (%p)\n");
+ standin = gtk_clutter_standin_new (actor);
+ g_signal_connect_swapped (standin, "show",
+ G_CALLBACK (g_print), "show notebook standin (%p)\n");
+
+ gtk_container_add (GTK_CONTAINER (window), standin);
+ gtk_container_set_border_width (GTK_CONTAINER (window), 6);
+
+ /* button */
+ GtkWidget *button = gtk_button_new ();
+ g_signal_connect_swapped (button, "show",
+ G_CALLBACK (g_print), "show button (%p)\n");
+ g_signal_connect_swapped (button, "clicked",
+ G_CALLBACK (g_print), "clicked\n");
+
+ actor = gtk_clutter_actor_new_with_contents (button);
+ g_signal_connect_swapped (actor, "show",
+ G_CALLBACK (g_print), "show button actor (%p\n");
+ standin = gtk_clutter_standin_new (actor);
+ g_signal_connect_swapped (standin, "show",
+ G_CALLBACK (g_print), "show button standin (%p)\n");
+
+ gtk_notebook_append_page (GTK_NOTEBOOK (nb),
+ standin, gtk_label_new ("Page 1"));
+
+ /* image */
+ GtkWidget *image = gtk_image_new_from_file ("redhand.png");
+ g_signal_connect_swapped (actor, "show",
+ G_CALLBACK (g_print), "show image (%p\n");
+
+ actor = gtk_clutter_actor_new_with_contents (image);
+ g_signal_connect_swapped (actor, "show",
+ G_CALLBACK (g_print), "show image actor (%p\n");
+ standin = gtk_clutter_standin_new (actor);
+ g_signal_connect_swapped (actor, "show",
+ G_CALLBACK (g_print), "show image standin (%p\n");
+
+ gtk_container_add (GTK_CONTAINER (button), standin);
+
+ g_print (" --- show all ---\n");
+ gtk_widget_show_all (window);
+ g_print (" --- main ---\n");
+ gtk_main ();
+}