static GdkPixmap *pixmap = NULL;
/* Create a new backing pixmap of the appropriate size */
-static gint
+static gboolean
configure_event (GtkWidget *widget, GdkEventConfigure *event)
{
if (pixmap)
}
/* Redraw the screen from the backing pixmap */
-static gint
+static gboolean
expose_event (GtkWidget *widget, GdkEventExpose *event)
{
gdk_draw_drawable (widget->window,
- widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+ widget->style->fg_gc[gtk_widget_get_state (widget)],
pixmap,
event->area.x, event->area.y,
event->area.x, event->area.y,
switch (source)
{
case GDK_SOURCE_MOUSE:
- gc = widget->style->dark_gc[GTK_WIDGET_STATE (widget)];
+ gc = widget->style->dark_gc[gtk_widget_get_state (widget)];
break;
case GDK_SOURCE_PEN:
gc = widget->style->black_gc;
gc = widget->style->white_gc;
break;
default:
- gc = widget->style->light_gc[GTK_WIDGET_STATE (widget)];
+ gc = widget->style->light_gc[gtk_widget_get_state (widget)];
}
update_rect.x = x - 10 * pressure;
g_print ("Button press on device '%s'\n", device->name);
}
-static gint
+static gboolean
button_press_event (GtkWidget *widget, GdkEventButton *event)
{
print_button_press (event->device);
return TRUE;
}
-static gint
+static gboolean
motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
{
gdouble x, y;
{
inputd = gtk_input_dialog_new();
- g_signal_connect (G_OBJECT (inputd), "destroy",
- G_CALLBACK (input_dialog_destroy), (gpointer) &inputd);
- g_signal_connect_swapped (G_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
+ g_signal_connect (inputd, "destroy",
+ G_CALLBACK (input_dialog_destroy), &inputd);
+ g_signal_connect_swapped (GTK_INPUT_DIALOG (inputd)->close_button,
"clicked",
G_CALLBACK (gtk_widget_hide),
- G_OBJECT (inputd));
+ inputd);
gtk_widget_hide (GTK_INPUT_DIALOG (inputd)->save_button);
gtk_widget_show (inputd);
}
else
{
- if (!GTK_WIDGET_MAPPED (inputd))
+ if (!gtk_widget_get_mapped (inputd))
gtk_widget_show (inputd);
else
gdk_window_raise (inputd->window);
}
}
-void
-quit ()
-{
- exit (0);
-}
-
int
main (int argc, char *argv[])
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_name (window, "Test Input");
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_widget_show (vbox);
- g_signal_connect (G_OBJECT (window), "destroy",
- G_CALLBACK (quit), NULL);
+ g_signal_connect (window, "destroy",
+ G_CALLBACK (gtk_main_quit), NULL);
/* Create the drawing area */
/* Signals used to handle backing pixmap */
- g_signal_connect (G_OBJECT (drawing_area), "expose_event",
+ g_signal_connect (drawing_area, "expose-event",
G_CALLBACK (expose_event), NULL);
- g_signal_connect (G_OBJECT(drawing_area),"configure_event",
+ g_signal_connect (drawing_area,"configure-event",
G_CALLBACK (configure_event), NULL);
/* Event signals */
- g_signal_connect (G_OBJECT (drawing_area), "motion_notify_event",
+ g_signal_connect (drawing_area, "motion-notify-event",
G_CALLBACK (motion_notify_event), NULL);
- g_signal_connect (G_OBJECT (drawing_area), "button_press_event",
+ g_signal_connect (drawing_area, "button-press-event",
G_CALLBACK (button_press_event), NULL);
gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK
button = gtk_button_new_with_label ("Input Dialog");
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- g_signal_connect (G_OBJECT (button), "clicked",
+ g_signal_connect (button, "clicked",
G_CALLBACK (create_input_dialog), NULL);
gtk_widget_show (button);
button = gtk_button_new_with_label ("Quit");
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- g_signal_connect_swapped (G_OBJECT (button), "clicked",
+ g_signal_connect_swapped (button, "clicked",
G_CALLBACK (gtk_widget_destroy),
- G_OBJECT (window));
+ window);
gtk_widget_show (button);
gtk_widget_show (window);