~inkscape.dev/inkscape-devlibs/devlibs-gtk3

« back to all changes in this revision

Viewing changes to include/gtk-2.0/gdk/gdktypes.h

  • Committer: JazzyNico
  • Date: 2013-01-21 10:11:05 UTC
  • Revision ID: nicoduf@yahoo.fr-20130121101105-i8d8slkq9ng4olx8
Adding gtk2 libraries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* GDK - The GIMP Drawing Kit
 
2
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
 
3
 *
 
4
 * This library is free software; you can redistribute it and/or
 
5
 * modify it under the terms of the GNU Lesser General Public
 
6
 * License as published by the Free Software Foundation; either
 
7
 * version 2 of the License, or (at your option) any later version.
 
8
 *
 
9
 * This library is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
12
 * Lesser General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU Lesser General Public
 
15
 * License along with this library; if not, write to the
 
16
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
17
 * Boston, MA 02111-1307, USA.
 
18
 */
 
19
 
 
20
/*
 
21
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
 
22
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 
23
 * files for a list of changes.  These files are distributed with
 
24
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
 
25
 */
 
26
 
 
27
#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
 
28
#error "Only <gdk/gdk.h> can be included directly."
 
29
#endif
 
30
 
 
31
#ifndef __GDK_TYPES_H__
 
32
#define __GDK_TYPES_H__
 
33
 
 
34
/* GDK uses "glib". (And so does GTK).
 
35
 */
 
36
#include <glib.h>
 
37
#include <pango/pango.h>
 
38
#include <glib-object.h>
 
39
 
 
40
#ifdef G_OS_WIN32
 
41
#  ifdef GDK_COMPILATION
 
42
#    define GDKVAR __declspec(dllexport)
 
43
#  else
 
44
#    define GDKVAR extern __declspec(dllimport)
 
45
#  endif
 
46
#else
 
47
#  define GDKVAR extern
 
48
#endif
 
49
 
 
50
/* The system specific file gdkconfig.h contains such configuration
 
51
 * settings that are needed not only when compiling GDK (or GTK)
 
52
 * itself, but also occasionally when compiling programs that use GDK
 
53
 * (or GTK). One such setting is what windowing API backend is in use.
 
54
 */
 
55
#include <gdkconfig.h>
 
56
 
 
57
/* some common magic values */
 
58
#define GDK_CURRENT_TIME     0L
 
59
#define GDK_PARENT_RELATIVE  1L
 
60
 
 
61
 
 
62
 
 
63
G_BEGIN_DECLS
 
64
 
 
65
 
 
66
/* Type definitions for the basic structures.
 
67
 */
 
68
typedef struct _GdkPoint              GdkPoint;
 
69
typedef struct _GdkRectangle          GdkRectangle;
 
70
typedef struct _GdkSegment            GdkSegment;
 
71
typedef struct _GdkSpan               GdkSpan;
 
72
 
 
73
/*
 
74
 * Note that on some platforms the wchar_t type
 
75
 * is not the same as GdkWChar. For instance
 
76
 * on Win32, wchar_t is unsigned short.
 
77
 */
 
78
typedef guint32                     GdkWChar;
 
79
 
 
80
typedef struct _GdkAtom            *GdkAtom;
 
81
 
 
82
#define GDK_ATOM_TO_POINTER(atom) (atom)
 
83
#define GDK_POINTER_TO_ATOM(ptr)  ((GdkAtom)(ptr))
 
84
 
 
85
#ifdef GDK_NATIVE_WINDOW_POINTER
 
86
#define GDK_GPOINTER_TO_NATIVE_WINDOW(p) ((GdkNativeWindow) (p))
 
87
#else
 
88
#define GDK_GPOINTER_TO_NATIVE_WINDOW(p) GPOINTER_TO_UINT(p)
 
89
#endif
 
90
 
 
91
#define _GDK_MAKE_ATOM(val) ((GdkAtom)GUINT_TO_POINTER(val))
 
92
#define GDK_NONE            _GDK_MAKE_ATOM (0)
 
93
 
 
94
#ifdef GDK_NATIVE_WINDOW_POINTER
 
95
typedef gpointer GdkNativeWindow;
 
96
#else
 
97
typedef guint32 GdkNativeWindow;
 
98
#endif
 
99
 
 
100
/* Forward declarations of commonly used types
 
101
 */
 
102
typedef struct _GdkColor              GdkColor;
 
103
typedef struct _GdkColormap           GdkColormap;
 
104
typedef struct _GdkCursor             GdkCursor;
 
105
typedef struct _GdkFont               GdkFont;
 
106
typedef struct _GdkGC                 GdkGC;
 
107
typedef struct _GdkImage              GdkImage;
 
108
typedef struct _GdkRegion             GdkRegion;
 
109
typedef struct _GdkVisual             GdkVisual;
 
110
 
 
111
typedef struct _GdkDrawable           GdkDrawable;
 
112
typedef struct _GdkDrawable           GdkBitmap;
 
113
typedef struct _GdkDrawable           GdkPixmap;
 
114
typedef struct _GdkDrawable           GdkWindow;
 
115
typedef struct _GdkDisplay            GdkDisplay;
 
116
typedef struct _GdkScreen             GdkScreen;
 
117
 
 
118
typedef enum
 
119
{
 
120
  GDK_LSB_FIRST,
 
121
  GDK_MSB_FIRST
 
122
} GdkByteOrder;
 
123
 
 
124
/* Types of modifiers.
 
125
 */
 
126
typedef enum
 
127
{
 
128
  GDK_SHIFT_MASK    = 1 << 0,
 
129
  GDK_LOCK_MASK     = 1 << 1,
 
130
  GDK_CONTROL_MASK  = 1 << 2,
 
131
  GDK_MOD1_MASK     = 1 << 3,
 
132
  GDK_MOD2_MASK     = 1 << 4,
 
133
  GDK_MOD3_MASK     = 1 << 5,
 
134
  GDK_MOD4_MASK     = 1 << 6,
 
135
  GDK_MOD5_MASK     = 1 << 7,
 
136
  GDK_BUTTON1_MASK  = 1 << 8,
 
137
  GDK_BUTTON2_MASK  = 1 << 9,
 
138
  GDK_BUTTON3_MASK  = 1 << 10,
 
139
  GDK_BUTTON4_MASK  = 1 << 11,
 
140
  GDK_BUTTON5_MASK  = 1 << 12,
 
141
 
 
142
  /* The next few modifiers are used by XKB, so we skip to the end.
 
143
   * Bits 15 - 25 are currently unused. Bit 29 is used internally.
 
144
   */
 
145
  
 
146
  GDK_SUPER_MASK    = 1 << 26,
 
147
  GDK_HYPER_MASK    = 1 << 27,
 
148
  GDK_META_MASK     = 1 << 28,
 
149
  
 
150
  GDK_RELEASE_MASK  = 1 << 30,
 
151
 
 
152
  GDK_MODIFIER_MASK = 0x5c001fff
 
153
} GdkModifierType;
 
154
 
 
155
typedef enum
 
156
{
 
157
  GDK_INPUT_READ       = 1 << 0,
 
158
  GDK_INPUT_WRITE      = 1 << 1,
 
159
  GDK_INPUT_EXCEPTION  = 1 << 2
 
160
} GdkInputCondition;
 
161
 
 
162
typedef enum
 
163
{
 
164
  GDK_OK          = 0,
 
165
  GDK_ERROR       = -1,
 
166
  GDK_ERROR_PARAM = -2,
 
167
  GDK_ERROR_FILE  = -3,
 
168
  GDK_ERROR_MEM   = -4
 
169
} GdkStatus;
 
170
 
 
171
/* We define specific numeric values for these constants,
 
172
 * since old application code may depend on them matching the X values
 
173
 * We don't actually depend on the matchup ourselves.
 
174
 */
 
175
typedef enum
 
176
{
 
177
  GDK_GRAB_SUCCESS         = 0,
 
178
  GDK_GRAB_ALREADY_GRABBED = 1,
 
179
  GDK_GRAB_INVALID_TIME    = 2,
 
180
  GDK_GRAB_NOT_VIEWABLE    = 3,
 
181
  GDK_GRAB_FROZEN          = 4
 
182
} GdkGrabStatus;
 
183
 
 
184
typedef void (*GdkInputFunction) (gpointer          data,
 
185
                                  gint              source,
 
186
                                  GdkInputCondition condition);
 
187
 
 
188
#ifndef GDK_DISABLE_DEPRECATED
 
189
 
 
190
typedef void (*GdkDestroyNotify) (gpointer data);
 
191
 
 
192
#endif /* GDK_DISABLE_DEPRECATED */
 
193
 
 
194
struct _GdkPoint
 
195
{
 
196
  gint x;
 
197
  gint y;
 
198
};
 
199
 
 
200
struct _GdkRectangle
 
201
{
 
202
  gint x;
 
203
  gint y;
 
204
  gint width;
 
205
  gint height;
 
206
};
 
207
 
 
208
struct _GdkSegment
 
209
{
 
210
  gint x1;
 
211
  gint y1;
 
212
  gint x2;
 
213
  gint y2;
 
214
};
 
215
 
 
216
struct _GdkSpan
 
217
{
 
218
  gint x;
 
219
  gint y;
 
220
  gint width;
 
221
};
 
222
 
 
223
G_END_DECLS
 
224
 
 
225
 
 
226
#endif /* __GDK_TYPES_H__ */