summaryrefslogtreecommitdiff
path: root/tests/testinput.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>1997-12-18 02:17:14 +0000
committerOwen Taylor <otaylor@src.gnome.org>1997-12-18 02:17:14 +0000
commitd5d01a5af9aaa11762d7ba86760796df00af3786 (patch)
treec12bb7c7980b3177456cab8987755a976297b205 /tests/testinput.c
parent65e63db01e93820093c2eb5169d5f8c0be3fe4e5 (diff)
downloadgdk-pixbuf-d5d01a5af9aaa11762d7ba86760796df00af3786.tar.gz
It's all in the changelog. Well, almost all.
-owt
Diffstat (limited to 'tests/testinput.c')
-rw-r--r--tests/testinput.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/testinput.c b/tests/testinput.c
index 1c6dae0e1..218e5ca76 100644
--- a/tests/testinput.c
+++ b/tests/testinput.c
@@ -96,9 +96,7 @@ static gint
configure_event (GtkWidget *widget, GdkEventConfigure *event)
{
if (pixmap)
- {
- gdk_pixmap_destroy(pixmap);
- }
+ gdk_pixmap_unref (pixmap);
pixmap = gdk_pixmap_new(widget->window,
widget->allocation.width,
widget->allocation.height,
@@ -187,6 +185,17 @@ button_press_event (GtkWidget *widget, GdkEventButton *event)
}
static gint
+key_press_event (GtkWidget *widget, GdkEventKey *event)
+{
+ if ((event->keyval >= 0x20) && (event->keyval <= 0xFF))
+ printf("I got a %c\n", event->keyval);
+ else
+ printf("I got some other key\n");
+
+ return TRUE;
+}
+
+static gint
motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
{
GdkTimeCoord *coords;
@@ -338,6 +347,8 @@ main (int argc, char *argv[])
(GtkSignalFunc) motion_notify_event, NULL);
gtk_signal_connect (GTK_OBJECT (drawing_area), "button_press_event",
(GtkSignalFunc) button_press_event, NULL);
+ gtk_signal_connect (GTK_OBJECT (drawing_area), "key_press_event",
+ (GtkSignalFunc) key_press_event, NULL);
gtk_signal_connect (GTK_OBJECT (drawing_area), "leave_notify_event",
(GtkSignalFunc) leave_notify_event, NULL);
@@ -347,6 +358,7 @@ main (int argc, char *argv[])
gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK
| GDK_LEAVE_NOTIFY_MASK
| GDK_BUTTON_PRESS_MASK
+ | GDK_KEY_PRESS_MASK
| GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK
| GDK_PROXIMITY_OUT_MASK);
@@ -355,6 +367,8 @@ main (int argc, char *argv[])
events for the drawing area */
gtk_widget_set_extension_events (drawing_area, GDK_EXTENSION_EVENTS_ALL);
+ gtk_widget_grab_focus (drawing_area);
+
/* .. And create some buttons */
button = gtk_button_new_with_label ("Input Dialog");
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);