⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdkevents.h

📁 windows平台下开发gtk程序所需要的库和头文件等
💻 H
字号:
/* GDK - The GIMP Drawing Kit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. *//* * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS * file for a list of people on the GTK+ Team.  See the ChangeLog * files for a list of changes.  These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)#error "Only <gdk/gdk.h> can be included directly."#endif#ifndef __GDK_EVENTS_H__#define __GDK_EVENTS_H__#include <gdk/gdkcolor.h>#include <gdk/gdktypes.h>#include <gdk/gdkdnd.h>#include <gdk/gdkinput.h>G_BEGIN_DECLS#define GDK_TYPE_EVENT          (gdk_event_get_type ())#define GDK_PRIORITY_EVENTS	(G_PRIORITY_DEFAULT)#define GDK_PRIORITY_REDRAW     (G_PRIORITY_HIGH_IDLE + 20)typedef struct _GdkEventAny	    GdkEventAny;typedef struct _GdkEventExpose	    GdkEventExpose;typedef struct _GdkEventNoExpose    GdkEventNoExpose;typedef struct _GdkEventVisibility  GdkEventVisibility;typedef struct _GdkEventMotion	    GdkEventMotion;typedef struct _GdkEventButton	    GdkEventButton;typedef struct _GdkEventScroll      GdkEventScroll;  typedef struct _GdkEventKey	    GdkEventKey;typedef struct _GdkEventFocus	    GdkEventFocus;typedef struct _GdkEventCrossing    GdkEventCrossing;typedef struct _GdkEventConfigure   GdkEventConfigure;typedef struct _GdkEventProperty    GdkEventProperty;typedef struct _GdkEventSelection   GdkEventSelection;typedef struct _GdkEventOwnerChange GdkEventOwnerChange;typedef struct _GdkEventProximity   GdkEventProximity;typedef struct _GdkEventClient	    GdkEventClient;typedef struct _GdkEventDND         GdkEventDND;typedef struct _GdkEventWindowState GdkEventWindowState;typedef struct _GdkEventSetting     GdkEventSetting;typedef struct _GdkEventGrabBroken  GdkEventGrabBroken;typedef union  _GdkEvent	    GdkEvent;typedef void (*GdkEventFunc) (GdkEvent *event,			      gpointer	data);/* Event filtering */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 */  GDK_FILTER_TRANSLATE,	  /* Native event translated into a GDK event and                             stored in the "event" structure that was                             passed in */  GDK_FILTER_REMOVE	  /* Terminate processing, removing event */} GdkFilterReturn;typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent,					  GdkEvent *event,					  gpointer  data);/* Event types. *   Nothing: No event occurred. *   Delete: A window delete event was sent by the window manager. *	     The specified window should be deleted. *   Destroy: A window has been destroyed. *   Expose: Part of a window has been uncovered. *   NoExpose: Same as expose, but no expose event was generated. *   VisibilityNotify: A window has become fully/partially/not obscured. *   MotionNotify: The mouse has moved. *   ButtonPress: A mouse button was pressed. *   ButtonRelease: A mouse button was release. *   KeyPress: A key was pressed. *   KeyRelease: A key was released. *   EnterNotify: A window was entered. *   LeaveNotify: A window was exited. *   FocusChange: The focus window has changed. (The focus window gets *		  keyboard events). *   Resize: A window has been resized. *   Map: A window has been mapped. (It is now visible on the screen). *   Unmap: A window has been unmapped. (It is no longer visible on *	    the screen). *   Scroll: A mouse wheel was scrolled either up or down. */typedef enum{  GDK_NOTHING		= -1,  GDK_DELETE		= 0,  GDK_DESTROY		= 1,  GDK_EXPOSE		= 2,  GDK_MOTION_NOTIFY	= 3,  GDK_BUTTON_PRESS	= 4,  GDK_2BUTTON_PRESS	= 5,  GDK_3BUTTON_PRESS	= 6,  GDK_BUTTON_RELEASE	= 7,  GDK_KEY_PRESS		= 8,  GDK_KEY_RELEASE	= 9,  GDK_ENTER_NOTIFY	= 10,  GDK_LEAVE_NOTIFY	= 11,  GDK_FOCUS_CHANGE	= 12,  GDK_CONFIGURE		= 13,  GDK_MAP		= 14,  GDK_UNMAP		= 15,  GDK_PROPERTY_NOTIFY	= 16,  GDK_SELECTION_CLEAR	= 17,  GDK_SELECTION_REQUEST = 18,  GDK_SELECTION_NOTIFY	= 19,  GDK_PROXIMITY_IN	= 20,  GDK_PROXIMITY_OUT	= 21,  GDK_DRAG_ENTER        = 22,  GDK_DRAG_LEAVE        = 23,  GDK_DRAG_MOTION       = 24,  GDK_DRAG_STATUS       = 25,  GDK_DROP_START        = 26,  GDK_DROP_FINISHED     = 27,  GDK_CLIENT_EVENT	= 28,  GDK_VISIBILITY_NOTIFY = 29,  GDK_NO_EXPOSE		= 30,  GDK_SCROLL            = 31,  GDK_WINDOW_STATE      = 32,  GDK_SETTING           = 33,  GDK_OWNER_CHANGE      = 34,  GDK_GRAB_BROKEN       = 35,  GDK_DAMAGE            = 36} GdkEventType;/* Event masks. (Used to select what types of events a window *  will receive). */typedef enum{  GDK_EXPOSURE_MASK		= 1 << 1,  GDK_POINTER_MOTION_MASK	= 1 << 2,  GDK_POINTER_MOTION_HINT_MASK	= 1 << 3,  GDK_BUTTON_MOTION_MASK	= 1 << 4,  GDK_BUTTON1_MOTION_MASK	= 1 << 5,  GDK_BUTTON2_MOTION_MASK	= 1 << 6,  GDK_BUTTON3_MOTION_MASK	= 1 << 7,  GDK_BUTTON_PRESS_MASK		= 1 << 8,  GDK_BUTTON_RELEASE_MASK	= 1 << 9,  GDK_KEY_PRESS_MASK		= 1 << 10,  GDK_KEY_RELEASE_MASK		= 1 << 11,  GDK_ENTER_NOTIFY_MASK		= 1 << 12,  GDK_LEAVE_NOTIFY_MASK		= 1 << 13,  GDK_FOCUS_CHANGE_MASK		= 1 << 14,  GDK_STRUCTURE_MASK		= 1 << 15,  GDK_PROPERTY_CHANGE_MASK	= 1 << 16,  GDK_VISIBILITY_NOTIFY_MASK	= 1 << 17,  GDK_PROXIMITY_IN_MASK		= 1 << 18,  GDK_PROXIMITY_OUT_MASK	= 1 << 19,  GDK_SUBSTRUCTURE_MASK		= 1 << 20,  GDK_SCROLL_MASK               = 1 << 21,  GDK_ALL_EVENTS_MASK		= 0x3FFFFE} GdkEventMask;typedef enum{  GDK_VISIBILITY_UNOBSCURED,  GDK_VISIBILITY_PARTIAL,  GDK_VISIBILITY_FULLY_OBSCURED} GdkVisibilityState;typedef enum{  GDK_SCROLL_UP,  GDK_SCROLL_DOWN,  GDK_SCROLL_LEFT,  GDK_SCROLL_RIGHT} GdkScrollDirection;/* Types of enter/leave notifications. *   Ancestor: *   Virtual: *   Inferior: *   Nonlinear: *   NonlinearVirtual: *   Unknown: An unknown type of enter/leave event occurred. */typedef enum{  GDK_NOTIFY_ANCESTOR		= 0,  GDK_NOTIFY_VIRTUAL		= 1,  GDK_NOTIFY_INFERIOR		= 2,  GDK_NOTIFY_NONLINEAR		= 3,  GDK_NOTIFY_NONLINEAR_VIRTUAL	= 4,  GDK_NOTIFY_UNKNOWN		= 5} GdkNotifyType;/* Enter/leave event modes. *   NotifyNormal *   NotifyGrab *   NotifyUngrab */typedef enum{  GDK_CROSSING_NORMAL,  GDK_CROSSING_GRAB,  GDK_CROSSING_UNGRAB,  GDK_CROSSING_GTK_GRAB,  GDK_CROSSING_GTK_UNGRAB,  GDK_CROSSING_STATE_CHANGED} GdkCrossingMode;typedef enum{  GDK_PROPERTY_NEW_VALUE,  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,  GDK_WINDOW_STATE_FULLSCREEN = 1 << 4,  GDK_WINDOW_STATE_ABOVE      = 1 << 5,  GDK_WINDOW_STATE_BELOW      = 1 << 6} GdkWindowState;typedef enum{  GDK_SETTING_ACTION_NEW,  GDK_SETTING_ACTION_CHANGED,  GDK_SETTING_ACTION_DELETED} GdkSettingAction;typedef enum{  GDK_OWNER_CHANGE_NEW_OWNER,  GDK_OWNER_CHANGE_DESTROY,  GDK_OWNER_CHANGE_CLOSE} GdkOwnerChange;struct _GdkEventAny{  GdkEventType type;  GdkWindow *window;  gint8 send_event;};struct _GdkEventExpose{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkRectangle area;  GdkRegion *region;  gint count; /* If non-zero, how many more events follow. */};struct _GdkEventNoExpose{  GdkEventType type;  GdkWindow *window;  gint8 send_event;};struct _GdkEventVisibility{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkVisibilityState state;};struct _GdkEventMotion{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  gdouble x;  gdouble y;  gdouble *axes;  guint state;  gint16 is_hint;  GdkDevice *device;  gdouble x_root, y_root;};struct _GdkEventButton{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  gdouble x;  gdouble y;  gdouble *axes;  guint state;  guint button;  GdkDevice *device;  gdouble x_root, y_root;};struct _GdkEventScroll{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  gdouble x;  gdouble y;  guint state;  GdkScrollDirection direction;  GdkDevice *device;  gdouble x_root, y_root;};struct _GdkEventKey{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  guint state;  guint keyval;  gint length;  gchar *string;  guint16 hardware_keycode;  guint8 group;  guint is_modifier : 1;};struct _GdkEventCrossing{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkWindow *subwindow;  guint32 time;  gdouble x;  gdouble y;  gdouble x_root;  gdouble y_root;  GdkCrossingMode mode;  GdkNotifyType detail;  gboolean focus;  guint state;};struct _GdkEventFocus{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  gint16 in;};struct _GdkEventConfigure{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  gint x, y;  gint width;  gint height;};struct _GdkEventProperty{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkAtom atom;  guint32 time;  guint state;};struct _GdkEventSelection{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkAtom selection;  GdkAtom target;  GdkAtom property;  guint32 time;  GdkNativeWindow requestor;};struct _GdkEventOwnerChange{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkNativeWindow owner;  GdkOwnerChange reason;  GdkAtom selection;  guint32 time;  guint32 selection_time;};/* This event type will be used pretty rarely. It only is important   for XInput aware programs that are drawing their own cursor */struct _GdkEventProximity{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  GdkDevice *device;};struct _GdkEventClient{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkAtom message_type;  gushort data_format;  union {    char b[20];    short s[10];    long l[5];  } 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;};struct _GdkEventGrabBroken {  GdkEventType type;  GdkWindow *window;  gint8 send_event;  gboolean keyboard;  gboolean implicit;  GdkWindow *grab_window;};/* Event types for DND */struct _GdkEventDND {  GdkEventType type;  GdkWindow *window;  gint8 send_event;  GdkDragContext *context;  guint32 time;  gshort x_root, y_root;};union _GdkEvent{  GdkEventType		    type;  GdkEventAny		    any;  GdkEventExpose	    expose;  GdkEventNoExpose	    no_expose;  GdkEventVisibility	    visibility;  GdkEventMotion	    motion;  GdkEventButton	    button;  GdkEventScroll            scroll;  GdkEventKey		    key;  GdkEventCrossing	    crossing;  GdkEventFocus		    focus_change;  GdkEventConfigure	    configure;  GdkEventProperty	    property;  GdkEventSelection	    selection;  GdkEventOwnerChange  	    owner_change;  GdkEventProximity	    proximity;  GdkEventClient	    client;  GdkEventDND               dnd;  GdkEventWindowState       window_state;  GdkEventSetting           setting;  GdkEventGrabBroken        grab_broken;};GType     gdk_event_get_type            (void) G_GNUC_CONST;gboolean  gdk_events_pending	 	(void);GdkEvent* gdk_event_get			(void);GdkEvent* gdk_event_peek                (void);GdkEvent* gdk_event_get_graphics_expose (GdkWindow 	*window);void      gdk_event_put	 		(const GdkEvent *event);GdkEvent* gdk_event_new                 (GdkEventType    type);GdkEvent* gdk_event_copy     		(const GdkEvent *event);void	  gdk_event_free     		(GdkEvent 	*event);guint32   gdk_event_get_time            (const GdkEvent  *event);gboolean  gdk_event_get_state           (const GdkEvent  *event,                                         GdkModifierType *state);gboolean  gdk_event_get_coords		(const GdkEvent  *event,					 gdouble	 *x_win,					 gdouble	 *y_win);gboolean  gdk_event_get_root_coords	(const GdkEvent  *event,					 gdouble	 *x_root,					 gdouble	 *y_root);gboolean  gdk_event_get_axis            (const GdkEvent  *event,                                         GdkAxisUse       axis_use,                                         gdouble         *value);void      gdk_event_request_motions     (const GdkEventMotion *event);void	  gdk_event_handler_set 	(GdkEventFunc    func,					 gpointer        data,					 GDestroyNotify  notify);void       gdk_event_set_screen         (GdkEvent        *event,                                         GdkScreen       *screen);GdkScreen *gdk_event_get_screen         (const GdkEvent  *event);void	  gdk_set_show_events		(gboolean	 show_events);gboolean  gdk_get_show_events		(void);#ifndef GDK_MULTIHEAD_SAFEvoid gdk_add_client_message_filter (GdkAtom       message_type,				    GdkFilterFunc func,				    gpointer      data);gboolean gdk_setting_get (const gchar *name,			  GValue      *value); #endif /* GDK_MULTIHEAD_SAFE */G_END_DECLS#endif /* __GDK_EVENTS_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -