3 #include "gtkwidgetprofiler.h"
9 create_widget_cb (GtkWidgetProfiler *profiler, gpointer data)
11 return appwindow_new ();
15 report_cb (GtkWidgetProfiler *profiler, GtkWidgetProfilerReport report, GtkWidget *widget, gdouble elapsed, gpointer data)
20 case GTK_WIDGET_PROFILER_REPORT_CREATE:
21 type = "widget creation";
24 case GTK_WIDGET_PROFILER_REPORT_MAP:
28 case GTK_WIDGET_PROFILER_REPORT_EXPOSE:
29 type = "widget expose";
32 case GTK_WIDGET_PROFILER_REPORT_DESTROY:
33 type = "widget destruction";
37 g_assert_not_reached ();
41 fprintf (stdout, "%s: %g sec\n", type, elapsed);
43 if (report == GTK_WIDGET_PROFILER_REPORT_DESTROY)
48 main (int argc, char **argv)
50 GtkWidgetProfiler *profiler;
52 gtk_init (&argc, &argv);
54 profiler = gtk_widget_profiler_new ();
55 g_signal_connect (profiler, "create-widget",
56 G_CALLBACK (create_widget_cb), NULL);
57 g_signal_connect (profiler, "report",
58 G_CALLBACK (report_cb), NULL);
60 gtk_widget_profiler_set_num_iterations (profiler, ITERS);
62 /* gtk_widget_profiler_profile_boot (profiler); */
63 gtk_widget_profiler_profile_expose (profiler);