]> Pileus Git - ~andy/gtk/blob - perf/main.c
Shut up CVS
[~andy/gtk] / perf / main.c
1 #include <stdio.h>
2 #include <gtk/gtk.h>
3 #include "appwindow.h"
4 #include "timers.h"
5
6 #define ITERS 20
7
8 static GtkWidget *
9 create_cb (gpointer data)
10 {
11   return appwindow_new ();
12 }
13
14 static void
15 report_cb (TimerReport report, gdouble elapsed, gpointer data)
16 {
17   const char *type;
18
19   switch (report) {
20   case TIMER_REPORT_WIDGET_CREATION:
21     type = "widget creation";
22     break;
23
24   case TIMER_REPORT_WIDGET_SHOW:
25     type = "widget show";
26     break;
27
28   case TIMER_REPORT_WIDGET_DESTRUCTION:
29     type = "widget destruction";
30     break;
31
32   default:
33     g_assert_not_reached ();
34     type = NULL;
35   }
36
37   fprintf (stderr, "%s: %g sec\n", type, elapsed);
38
39   if (report == TIMER_REPORT_WIDGET_DESTRUCTION)
40     fputs ("\n", stderr);
41 }
42
43 int
44 main (int argc, char **argv)
45 {
46   int i;
47
48   gtk_init (&argc, &argv);
49
50   for (i = 0; i < ITERS; i++)
51     timer_time_widget (create_cb, report_cb, NULL);
52   
53   return 0;
54 }