00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __GDK_INPUTPRIVATE_H__
00028 #define __GDK_INPUTPRIVATE_H__
00029
00030 typedef struct _GdkAxisInfo GdkAxisInfo;
00031 typedef struct _GdkInputVTable GdkInputVTable;
00032 typedef struct _GdkDevicePrivate GdkDevicePrivate;
00033 typedef struct _GdkInputWindow GdkInputWindow;
00034
00035 struct _GdkInputVTable {
00036 gint(*set_mode) (guint32 deviceid, GdkInputMode mode);
00037 void (*set_axes) (guint32 deviceid, GdkAxisUse * axes);
00038 void (*set_key) (guint32 deviceid,
00039 guint index, guint keyval, GdkModifierType modifiers);
00040
00041 GdkTimeCoord *(*motion_events) (GdkWindow * window,
00042 guint32 deviceid,
00043 guint32 start,
00044 guint32 stop, gint * nevents_return);
00045 void (*get_pointer) (GdkWindow * window,
00046 guint32 deviceid,
00047 gdouble * x,
00048 gdouble * y,
00049 gdouble * pressure,
00050 gdouble * xtilt,
00051 gdouble * ytilt, GdkModifierType * mask);
00052 gint(*grab_pointer) (GdkWindow * window,
00053 gint owner_events,
00054 GdkEventMask event_mask,
00055 GdkWindow * confine_to, guint32 time);
00056 void (*ungrab_pointer) (guint32 time);
00057
00058 void (*configure_event) (GdkEventConfigure * event, GdkWindow * window);
00059 void (*enter_event) (GdkEventCrossing * event, GdkWindow * window);
00060 gint(*other_event) (GdkEvent * event, MSG * xevent);
00061 gint(*enable_window) (GdkWindow * window, GdkDevicePrivate * gdkdev);
00062 gint(*disable_window) (GdkWindow * window, GdkDevicePrivate * gdkdev);
00063 };
00064
00065
00066 struct _GdkAxisInfo {
00067
00068 gint xresolution;
00069
00070
00071 gint xmin_value, xmax_value;
00072
00073
00074
00075 gint resolution;
00076
00077
00078 gint min_value, max_value;
00079 };
00080
00081 struct _GdkInputWindow {
00082
00083 GdkWindow *window;
00084
00085
00086 GdkExtensionMode mode;
00087
00088
00089 gint16 root_x;
00090 gint16 root_y;
00091
00092
00093 GdkRectangle *obscuring;
00094 gint num_obscuring;
00095
00096
00097 gint grabbed;
00098 };
00099
00100
00101
00102 extern GdkInputVTable gdk_input_vtable;
00103 extern gint gdk_input_ignore_core;
00104 extern gint gdk_input_ignore_wintab;
00105
00106
00107
00108 void gdk_input_window_destroy(GdkWindow * window);
00109 void gdk_input_init(void);
00110 void gdk_input_exit(void);
00111
00112 #endif