This is the mail archive of the guile-gtk@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Making gdk-event-area work



Here's a patch to make gdk-event-area work.  It doesn't handle the
case when the event isn't an expose event very prettily.
(Incidentally, converting rectangles to pairs of pairs isn't very
nice.  Are there any plans to use a more abstract data type?)


diff -u guile-gtk-0.19/gdk-1.2.defs guile-gtk-0.19-new/gdk-1.2.defs
--- guile-gtk-0.19/gdk-1.2.defs	Tue May 23 13:19:23 2000
+++ guile-gtk-0.19-new/gdk-1.2.defs	Sun Sep  3 18:47:35 2000
@@ -526,9 +526,9 @@
   bool
   ((GdkEvent event)))
 
-;(define-func gdk_event_area
-;  rect
-;  ((GdkEvent event)))
+(define-func gdk_event_area
+  rect
+  ((GdkEvent event)))
 
 (define-func gdk_event_visibility_state
   GdkVisibilityState
diff -u guile-gtk-0.19/gtk-support.c guile-gtk-0.19-new/gtk-support.c
--- guile-gtk-0.19/gtk-support.c	Tue May 23 10:48:16 2000
+++ guile-gtk-0.19-new/gtk-support.c	Sun Sep  3 20:22:59 2000
@@ -121,15 +121,18 @@
   return event->any.send_event;
 }
 
-GdkRectangle *
+GdkRectangle
 gdk_event_area (GdkEvent *event)
 {
   switch (event->any.type)
     {
     case GDK_EXPOSE:
-      return &event->expose.area;
+      return event->expose.area;
     default:
-      return NULL;
+      {
+	GdkRectangle r = { 0, 0, 0, 0 };
+	return r;
+      }
     }
 }
 
diff -u guile-gtk-0.19/guile-gtk.h guile-gtk-0.19-new/guile-gtk.h
--- guile-gtk-0.19/guile-gtk.h	Tue May 16 21:19:52 2000
+++ guile-gtk-0.19-new/guile-gtk.h	Sun Sep  3 20:20:19 2000
@@ -192,7 +192,7 @@
 GdkEventType gdk_event_type (GdkEvent *event);
 GdkWindow *gdk_event_window (GdkEvent *event);
 gboolean gdk_event_send_event (GdkEvent *event);
-GdkRectangle *gdk_event_area (GdkEvent *event);
+GdkRectangle gdk_event_area (GdkEvent *event);
 GdkVisibilityState gdk_event_visibility_state (GdkEvent *event);
 guint32 gdk_event_time (GdkEvent *event);
 gdouble gdk_event_x (GdkEvent *event);


-- 
         Mark Seaborn
   - mseaborn@bigfoot.com - http://members.xoom.com/mseaborn/ -

  A few months in the laboratory often saves several hours at the library.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]