2 #include <clutter/clutter.h>
4 #include <clutter-gtk/clutter-gtk.h>
7 main (int argc, char *argv[])
9 ClutterTimeline *timeline;
10 ClutterActor *stage, *viewport, *tex;
11 ClutterColor stage_color = { 0x61, 0x64, 0x8c, 0xff };
12 GtkWidget *window, *embed;
13 GtkWidget *table, *scrollbar;
14 GtkAdjustment *h_adjustment, *v_adjustment;
16 ClutterColor col2 = { 0, };
18 if (gtk_clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
19 g_error ("Unable to initialize GtkClutter");
21 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
22 g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
24 table = gtk_table_new (2, 2, FALSE);
25 gtk_container_add (GTK_CONTAINER (window), table);
26 gtk_widget_show (table);
28 embed = gtk_clutter_embed_new ();
29 gtk_table_attach (GTK_TABLE (table), embed,
32 GTK_EXPAND | GTK_FILL,
33 GTK_EXPAND | GTK_FILL,
35 gtk_widget_set_size_request (embed, 320, 240);
36 gtk_widget_show (embed);
38 stage = gtk_clutter_embed_get_stage (GTK_CLUTTER_EMBED (embed));
39 clutter_stage_set_color (CLUTTER_STAGE (stage), &stage_color);
41 viewport = gtk_clutter_viewport_new (NULL, NULL);
42 clutter_actor_set_size (viewport, 320, 240);
43 clutter_container_add_actor (CLUTTER_CONTAINER (stage), viewport);
46 tex = gtk_clutter_texture_new_from_stock (embed,
47 GTK_STOCK_DIALOG_INFO,
48 GTK_ICON_SIZE_DIALOG);
53 tex = clutter_texture_new_from_file (argv[1], &error);
56 g_warning ("Unable to open `%s': %s", argv[1], error->message);
61 clutter_container_add_actor (CLUTTER_CONTAINER (viewport), tex);
63 gtk_clutter_scrollable_get_adjustments (GTK_CLUTTER_SCROLLABLE (viewport),
67 scrollbar = gtk_vscrollbar_new (v_adjustment);
68 gtk_table_attach (GTK_TABLE (table), scrollbar,
71 0, GTK_EXPAND | GTK_FILL,
73 gtk_widget_show (scrollbar);
75 scrollbar = gtk_hscrollbar_new (h_adjustment);
76 gtk_table_attach (GTK_TABLE (table), scrollbar,
79 GTK_EXPAND | GTK_FILL, 0,
81 gtk_widget_show (scrollbar);
83 gtk_widget_show (window);