]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkevents.h
make args const, 74159 (gtk_tree_view_insert_column_with_attributes):
[~andy/gtk] / gdk / gdkevents.h
index a6d8384f6b2146c4e48e9b56ec232ec2612960a4..763c1a377a31fa72c2a0760585feb7e04fffe31f 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef __GDK_EVENTS_H__
 #define __GDK_EVENTS_H__
 
+#include <gdk/gdkcolor.h>
 #include <gdk/gdktypes.h>
 #include <gdk/gdkdnd.h>
 #include <gdk/gdkinput.h>
@@ -9,6 +10,8 @@
 extern "C" {
 #endif /* __cplusplus */
 
+#define GDK_TYPE_EVENT          (gdk_event_get_type ())
+
 #define GDK_PRIORITY_EVENTS    (G_PRIORITY_DEFAULT)
 #define GDK_PRIORITY_REDRAW     (G_PRIORITY_HIGH_IDLE + 20)
 
@@ -28,8 +31,9 @@ typedef struct _GdkEventProperty    GdkEventProperty;
 typedef struct _GdkEventSelection   GdkEventSelection;
 typedef struct _GdkEventProximity   GdkEventProximity;
 typedef struct _GdkEventClient     GdkEventClient;
-
 typedef struct _GdkEventDND         GdkEventDND;
+typedef struct _GdkEventWindowState GdkEventWindowState;
+typedef struct _GdkEventSetting     GdkEventSetting;
 
 typedef union  _GdkEvent           GdkEvent;
 
@@ -38,7 +42,9 @@ typedef void (*GdkEventFunc) (GdkEvent *event,
 
 /* Event filtering */
 
-typedef void GdkXEvent;          /* Can be cast to XEvent */
+typedef void GdkXEvent;          /* Can be cast to window system specific
+                          * even type, XEvent on X11, MSG on Win32.
+                          */
 
 typedef enum {
   GDK_FILTER_CONTINUE,   /* Event not handled, continue processesing */
@@ -108,7 +114,9 @@ typedef enum
   GDK_CLIENT_EVENT     = 28,
   GDK_VISIBILITY_NOTIFY = 29,
   GDK_NO_EXPOSE                = 30,
-  GDK_SCROLL            = 31
+  GDK_SCROLL            = 31,
+  GDK_WINDOW_STATE      = 32,
+  GDK_SETTING           = 33
 } GdkEventType;
 
 /* Event masks. (Used to select what types of events a window
@@ -191,6 +199,21 @@ typedef enum
   GDK_PROPERTY_DELETE
 } GdkPropertyState;
 
+typedef enum
+{
+  GDK_WINDOW_STATE_WITHDRAWN = 1 << 0,
+  GDK_WINDOW_STATE_ICONIFIED = 1 << 1,
+  GDK_WINDOW_STATE_MAXIMIZED = 1 << 2,
+  GDK_WINDOW_STATE_STICKY    = 1 << 3
+} GdkWindowState;
+
+typedef enum
+{
+  GDK_SETTING_ACTION_NEW,
+  GDK_SETTING_ACTION_CHANGED,
+  GDK_SETTING_ACTION_DELETED
+} GdkSettingAction;
+
 struct _GdkEventAny
 {
   GdkEventType type;
@@ -204,6 +227,7 @@ struct _GdkEventExpose
   GdkWindow *window;
   gint8 send_event;
   GdkRectangle area;
+  GdkRegion *region;
   gint count; /* If non-zero, how many more events follow. */
 };
 
@@ -277,6 +301,8 @@ struct _GdkEventKey
   guint keyval;
   gint length;
   gchar *string;
+  guint16 hardware_keycode;
+  guint8 group;
 };
 
 struct _GdkEventCrossing
@@ -362,6 +388,24 @@ struct _GdkEventClient
   } data;
 };
 
+struct _GdkEventSetting
+{
+  GdkEventType type;
+  GdkWindow *window;
+  gint8 send_event;
+  GdkSettingAction action;
+  char *name;
+};
+
+struct _GdkEventWindowState
+{
+  GdkEventType type;
+  GdkWindow *window;
+  gint8 send_event;
+  GdkWindowState changed_mask;
+  GdkWindowState new_window_state;
+};
+
 /* Event types for DND */
 
 struct _GdkEventDND {
@@ -393,8 +437,12 @@ union _GdkEvent
   GdkEventProximity        proximity;
   GdkEventClient           client;
   GdkEventDND               dnd;
+  GdkEventWindowState       window_state;
+  GdkEventSetting           setting;
 };
 
+GType     gdk_event_get_type            (void);
+
 gboolean  gdk_events_pending           (void);
 GdkEvent* gdk_event_get                        (void);
 
@@ -404,11 +452,19 @@ void      gdk_event_put                   (GdkEvent       *event);
 
 GdkEvent* gdk_event_copy               (GdkEvent       *event);
 void     gdk_event_free                (GdkEvent       *event);
-guint32   gdk_event_get_time           (GdkEvent       *event);
-gboolean  gdk_event_get_axis            (GdkEvent       *event,
-                                        GdkAxisUse      axis_use,
-                                        gdouble        *value);
 
+guint32   gdk_event_get_time            (GdkEvent        *event);
+gboolean  gdk_event_get_state           (GdkEvent        *event,
+                                         GdkModifierType *state);
+gboolean  gdk_event_get_coords         (GdkEvent        *event,
+                                        gdouble         *x_win,
+                                        gdouble         *y_win);
+gboolean  gdk_event_get_root_coords    (GdkEvent        *event,
+                                        gdouble         *x_root,
+                                        gdouble         *y_root);
+gboolean  gdk_event_get_axis            (GdkEvent        *event,
+                                         GdkAxisUse       axis_use,
+                                         gdouble         *value);
 void     gdk_event_handler_set         (GdkEventFunc    func,
                                         gpointer        data,
                                         GDestroyNotify  notify);
@@ -424,6 +480,8 @@ void gdk_add_client_message_filter (GdkAtom       message_type,
                                    GdkFilterFunc func,
                                    gpointer      data);
 
+gboolean gdk_setting_get (const gchar *name,
+                         GValue      *value); 
 
 #ifdef __cplusplus
 }