const GError *error,
gpointer user_data)
{
+ if (error)
+ g_warning ("Unable to load texture: %s", error->message);
+
if (timer)
g_print ("%s: load time: %.3f secs\n",
G_STRLOC,
g_timer_elapsed (timer, NULL));
}
+static void
+on_size_change (ClutterTexture *texture,
+ gint width,
+ gint height)
+{
+ g_print ("%s: tex.size = %d, %d\n", G_STRLOC, width, height);
+}
+
int
main (int argc, char *argv[])
{
ClutterActor *stage, *viewport, *tex;
ClutterColor stage_color = { 0x61, 0x64, 0x8c, 0xff };
- GtkWidget *window, *embed;
- GtkWidget *table, *scrollbar;
- GtkAdjustment *h_adjustment, *v_adjustment;
+ GtkWidget *window, *embed;
+ GtkWidget *table, *scrollbar, *slider;
+ GtkAdjustment *h_adjustment, *v_adjustment, *z_adjustment;
g_thread_init (NULL);
gdk_threads_init ();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
- table = gtk_table_new (2, 2, FALSE);
+ table = gtk_table_new (3, 2, FALSE);
gtk_container_add (GTK_CONTAINER (window), table);
gtk_widget_show (table);
GError *error = NULL;
tex = clutter_texture_new ();
- g_object_set (G_OBJECT (tex), "load-async", TRUE, NULL);
+ clutter_texture_set_load_async (CLUTTER_TEXTURE (tex), TRUE);
+ g_signal_connect (tex,
+ "size-change", G_CALLBACK (on_size_change),
+ NULL);
g_signal_connect (tex,
"load-finished", G_CALLBACK (on_load_finished),
NULL);
0, 0);
gtk_widget_show (scrollbar);
+ z_adjustment =
+ gtk_clutter_zoomable_get_adjustment (GTK_CLUTTER_ZOOMABLE (viewport));
+
+ slider = gtk_hscale_new (z_adjustment);
+ gtk_table_attach (GTK_TABLE (table), slider,
+ 0, 1,
+ 2, 3,
+ GTK_EXPAND | GTK_FILL, 0,
+ 0, 0);
+ gtk_widget_show (slider);
+
gtk_widget_show (window);
gtk_main();