📄 gdktypes.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 Library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library 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-1999. 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/. */#ifndef __GDK_TYPES_H__#define __GDK_TYPES_H__/* GDK uses "glib". (And so does GTK). */#include <glib.h>#define GDK_NONE 0L#define GDK_CURRENT_TIME 0L#define GDK_PARENT_RELATIVE 1L/* special deviceid for core pointer events */#define GDK_CORE_POINTER 0xfedc#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* Type definitions for the basic structures. */typedef gulong GdkAtom;typedef struct _GdkColor GdkColor;typedef struct _GdkColormap GdkColormap;typedef struct _GdkVisual GdkVisual;typedef struct _GdkWindowAttr GdkWindowAttr;typedef struct _GdkWindow GdkWindow;typedef struct _GdkWindow GdkPixmap;typedef struct _GdkWindow GdkBitmap;typedef struct _GdkWindow GdkDrawable;typedef struct _GdkGeometry GdkGeometry;typedef struct _GdkImage GdkImage;typedef struct _GdkGCValues GdkGCValues;typedef struct _GdkGC GdkGC;typedef struct _GdkPoint GdkPoint;typedef struct _GdkRectangle GdkRectangle;typedef struct _GdkSegment GdkSegment;typedef struct _GdkFont GdkFont;typedef struct _GdkCursor GdkCursor;typedef struct _GdkColorContextDither GdkColorContextDither;typedef struct _GdkColorContext GdkColorContext;typedef struct _GdkDragContext GdkDragContext;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 _GdkEventKey GdkEventKey;typedef struct _GdkEventFocus GdkEventFocus;typedef struct _GdkEventCrossing GdkEventCrossing;typedef struct _GdkEventConfigure GdkEventConfigure;typedef struct _GdkEventProperty GdkEventProperty;typedef struct _GdkEventSelection GdkEventSelection;typedef struct _GdkEventProximity GdkEventProximity;typedef struct _GdkEventClient GdkEventClient;typedef struct _GdkEventDND GdkEventDND;typedef union _GdkEvent GdkEvent;typedef struct _GdkDeviceKey GdkDeviceKey;typedef struct _GdkDeviceInfo GdkDeviceInfo;typedef struct _GdkTimeCoord GdkTimeCoord;typedef struct _GdkRegion GdkRegion;typedef void (*GdkEventFunc) (GdkEvent *event, gpointer data);typedef struct _GdkIC GdkIC;typedef struct _GdkICAttr GdkICAttr;typedef guint32 GdkWChar; /* Types of windows. * Root: There is only 1 root window and it is initialized * at startup. Creating a window of type GDK_WINDOW_ROOT * is an error. * Toplevel: Windows which interact with the window manager. * Child: Windows which are children of some other type of window. * (Any other type of window). Most windows are child windows. * Dialog: A special kind of toplevel window which interacts with * the window manager slightly differently than a regular * toplevel window. Dialog windows should be used for any * transient window. * Pixmap: Pixmaps are really just another kind of window which * doesn't actually appear on the screen. It can't have * children, either and is really just a convenience so * that the drawing functions can work on both windows * and pixmaps transparently. (ie. You shouldn't pass a * pixmap to any procedure which accepts a window with the * exception of the drawing functions). * Foreign: A window that actually belongs to another application */typedef enum{ GDK_WINDOW_ROOT, GDK_WINDOW_TOPLEVEL, GDK_WINDOW_CHILD, GDK_WINDOW_DIALOG, GDK_WINDOW_TEMP, GDK_WINDOW_PIXMAP, GDK_WINDOW_FOREIGN} GdkWindowType;/* Classes of windows. * InputOutput: Almost every window should be of this type. Such windows * receive events and are also displayed on screen. * InputOnly: Used only in special circumstances when events need to be * stolen from another window or windows. Input only windows * have no visible output, so they are handy for placing over * top of a group of windows in order to grab the events (or * filter the events) from those windows. */typedef enum{ GDK_INPUT_OUTPUT, GDK_INPUT_ONLY} GdkWindowClass;/* Types of images. * Normal: Normal X image type. These are slow as they involve passing * the entire image through the X connection each time a draw * request is required. * Shared: Shared memory X image type. These are fast as the X server * and the program actually use the same piece of memory. They * should be used with care though as there is the possibility * for both the X server and the program to be reading/writing * the image simultaneously and producing undesired results. */typedef enum{ GDK_IMAGE_NORMAL, GDK_IMAGE_SHARED, GDK_IMAGE_FASTEST} GdkImageType;/* Types of visuals. * StaticGray: * Grayscale: * StaticColor: * PseudoColor: * TrueColor: * DirectColor: */typedef enum{ GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR, GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_DIRECT_COLOR} GdkVisualType;/* Types of font. * GDK_FONT_FONT: the font is an XFontStruct. * GDK_FONT_FONTSET: the font is an XFontSet used for I18N. */typedef enum{ GDK_FONT_FONT, GDK_FONT_FONTSET} GdkFontType;/* Window attribute mask values. * GDK_WA_TITLE: The "title" field is valid. * GDK_WA_X: The "x" field is valid. * GDK_WA_Y: The "y" field is valid. * GDK_WA_CURSOR: The "cursor" field is valid. * GDK_WA_COLORMAP: The "colormap" field is valid. * GDK_WA_VISUAL: The "visual" field is valid. */typedef enum{ GDK_WA_TITLE = 1 << 1, GDK_WA_X = 1 << 2, GDK_WA_Y = 1 << 3, GDK_WA_CURSOR = 1 << 4, GDK_WA_COLORMAP = 1 << 5, GDK_WA_VISUAL = 1 << 6, GDK_WA_WMCLASS = 1 << 7, GDK_WA_NOREDIR = 1 << 8} GdkWindowAttributesType;/* Size restriction enumeration. */typedef enum{ GDK_HINT_POS = 1 << 0, GDK_HINT_MIN_SIZE = 1 << 1, GDK_HINT_MAX_SIZE = 1 << 2, GDK_HINT_BASE_SIZE = 1 << 3, GDK_HINT_ASPECT = 1 << 4, GDK_HINT_RESIZE_INC = 1 << 5} GdkWindowHints;/* GC function types. * Copy: Overwrites destination pixels with the source pixels. * Invert: Inverts the destination pixels. * Xor: Xor's the destination pixels with the source pixels. * Clear: set pixels to 0 * And: source AND destination * And Reverse: source AND (NOT destination) * And Invert: (NOT source) AND destination * Noop: destination * Or: source OR destination * Nor: (NOT source) AND (NOT destination) * Equiv: (NOT source) XOR destination * Xor Reverse: source OR (NOT destination) * Copy Inverted: NOT source * Xor Inverted: (NOT source) OR destination * Nand: (NOT source) OR (NOT destination) * Set: set pixels to 1 */typedef enum{ GDK_COPY, GDK_INVERT, GDK_XOR, GDK_CLEAR, GDK_AND, GDK_AND_REVERSE, GDK_AND_INVERT, GDK_NOOP, GDK_OR, GDK_EQUIV, GDK_OR_REVERSE, GDK_COPY_INVERT, GDK_OR_INVERT, GDK_NAND, GDK_SET} GdkFunction;/* GC fill types. * Solid: * Tiled: * Stippled: * OpaqueStippled: */typedef enum{ GDK_SOLID, GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED} GdkFill;/* GC fill rule for polygons * EvenOddRule * WindingRule */typedef enum{ GDK_EVEN_ODD_RULE, GDK_WINDING_RULE} GdkFillRule;/* GC line styles * Solid: * OnOffDash: * DoubleDash: */typedef enum{ GDK_LINE_SOLID, GDK_LINE_ON_OFF_DASH, GDK_LINE_DOUBLE_DASH} GdkLineStyle;/* GC cap styles * CapNotLast: * CapButt: * CapRound: * CapProjecting: */typedef enum{ GDK_CAP_NOT_LAST, GDK_CAP_BUTT, GDK_CAP_ROUND, GDK_CAP_PROJECTING} GdkCapStyle;/* GC join styles * JoinMiter: * JoinRound: * JoinBevel: */typedef enum{ GDK_JOIN_MITER, GDK_JOIN_ROUND, GDK_JOIN_BEVEL} GdkJoinStyle;/* Cursor types. */typedef enum{#include <gdk/gdkcursors.h> GDK_LAST_CURSOR, GDK_CURSOR_IS_PIXMAP = -1} GdkCursorType;typedef enum { GDK_FILTER_CONTINUE, /* Event not handled, continue processesing */ GDK_FILTER_TRANSLATE, /* Translated event stored */ GDK_FILTER_REMOVE /* Terminate processing, removing event */} GdkFilterReturn;typedef enum { GDK_VISIBILITY_UNOBSCURED, GDK_VISIBILITY_PARTIAL, GDK_VISIBILITY_FULLY_OBSCURED} GdkVisibilityState;/* 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). */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} 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_ALL_EVENTS_MASK = 0x0FFFFF} GdkEventMask;/* 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} GdkCrossingMode;/* Types of modifiers. */typedef enum{ GDK_SHIFT_MASK = 1 << 0, GDK_LOCK_MASK = 1 << 1, GDK_CONTROL_MASK = 1 << 2, GDK_MOD1_MASK = 1 << 3, GDK_MOD2_MASK = 1 << 4, GDK_MOD3_MASK = 1 << 5, GDK_MOD4_MASK = 1 << 6, GDK_MOD5_MASK = 1 << 7, GDK_BUTTON1_MASK = 1 << 8, GDK_BUTTON2_MASK = 1 << 9, GDK_BUTTON3_MASK = 1 << 10, GDK_BUTTON4_MASK = 1 << 11, GDK_BUTTON5_MASK = 1 << 12, GDK_RELEASE_MASK = 1 << 13, GDK_MODIFIER_MASK = 0x3fff} GdkModifierType;typedef enum{ GDK_CLIP_BY_CHILDREN = 0, GDK_INCLUDE_INFERIORS = 1} GdkSubwindowMode;typedef enum{ GDK_INPUT_READ = 1 << 0, GDK_INPUT_WRITE = 1 << 1, GDK_INPUT_EXCEPTION = 1 << 2} GdkInputCondition;typedef enum{ GDK_OK = 0, GDK_ERROR = -1, GDK_ERROR_PARAM = -2, GDK_ERROR_FILE = -3, GDK_ERROR_MEM = -4} GdkStatus;typedef enum{ GDK_LSB_FIRST, GDK_MSB_FIRST} GdkByteOrder;typedef enum{ GDK_GC_FOREGROUND = 1 << 0, GDK_GC_BACKGROUND = 1 << 1, GDK_GC_FONT = 1 << 2, GDK_GC_FUNCTION = 1 << 3, GDK_GC_FILL = 1 << 4, GDK_GC_TILE = 1 << 5, GDK_GC_STIPPLE = 1 << 6, GDK_GC_CLIP_MASK = 1 << 7, GDK_GC_SUBWINDOW = 1 << 8, GDK_GC_TS_X_ORIGIN = 1 << 9, GDK_GC_TS_Y_ORIGIN = 1 << 10, GDK_GC_CLIP_X_ORIGIN = 1 << 11, GDK_GC_CLIP_Y_ORIGIN = 1 << 12, GDK_GC_EXPOSURES = 1 << 13, GDK_GC_LINE_WIDTH = 1 << 14, GDK_GC_LINE_STYLE = 1 << 15, GDK_GC_CAP_STYLE = 1 << 16, GDK_GC_JOIN_STYLE = 1 << 17} GdkGCValuesMask;typedef enum{ GDK_SELECTION_PRIMARY = 1, GDK_SELECTION_SECONDARY = 2} GdkSelection;typedef enum{ GDK_PROPERTY_NEW_VALUE, GDK_PROPERTY_DELETE} GdkPropertyState;typedef enum{ GDK_PROP_MODE_REPLACE, GDK_PROP_MODE_PREPEND, GDK_PROP_MODE_APPEND} GdkPropMode;/* Enums for XInput support */typedef enum{ GDK_SOURCE_MOUSE, GDK_SOURCE_PEN, GDK_SOURCE_ERASER, GDK_SOURCE_CURSOR} GdkInputSource;typedef enum{ GDK_MODE_DISABLED, GDK_MODE_SCREEN, GDK_MODE_WINDOW} GdkInputMode;typedef enum{ GDK_AXIS_IGNORE, GDK_AXIS_X, GDK_AXIS_Y, GDK_AXIS_PRESSURE, GDK_AXIS_XTILT, GDK_AXIS_YTILT, GDK_AXIS_LAST} GdkAxisUse;/* The next two types define enums for predefined atoms relating to selections. In general, one will need to use gdk_intern_atom */typedef enum{ GDK_TARGET_BITMAP = 5, GDK_TARGET_COLORMAP = 7, GDK_TARGET_DRAWABLE = 17, GDK_TARGET_PIXMAP = 20, GDK_TARGET_STRING = 31} GdkTarget;typedef enum{ GDK_SELECTION_TYPE_ATOM = 4, GDK_SELECTION_TYPE_BITMAP = 5, GDK_SELECTION_TYPE_COLORMAP = 7, GDK_SELECTION_TYPE_DRAWABLE = 17, GDK_SELECTION_TYPE_INTEGER = 19, GDK_SELECTION_TYPE_PIXMAP = 20, GDK_SELECTION_TYPE_WINDOW = 33, GDK_SELECTION_TYPE_STRING = 31} GdkSelectionType;typedef enum{ GDK_EXTENSION_EVENTS_NONE, GDK_EXTENSION_EVENTS_ALL, GDK_EXTENSION_EVENTS_CURSOR} GdkExtensionMode;typedef enum /*< flags >*/{ GDK_IM_PREEDIT_AREA = 0x0001, GDK_IM_PREEDIT_CALLBACKS = 0x0002, GDK_IM_PREEDIT_POSITION = 0x0004, GDK_IM_PREEDIT_NOTHING = 0x0008, GDK_IM_PREEDIT_NONE = 0x0010, GDK_IM_PREEDIT_MASK = 0x001f, GDK_IM_STATUS_AREA = 0x0100, GDK_IM_STATUS_CALLBACKS = 0x0200, GDK_IM_STATUS_NOTHING = 0x0400, GDK_IM_STATUS_NONE = 0x0800, GDK_IM_STATUS_MASK = 0x0f00 } GdkIMStyle;typedef enum{ GDK_IC_STYLE = 1 << 0, GDK_IC_CLIENT_WINDOW = 1 << 1, GDK_IC_FOCUS_WINDOW = 1 << 2,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -