1/*
2 * Copyright (C) 2010 Igalia, S.L.
3 *
4 *  This library is free software; you can redistribute it and/or
5 *  modify it under the terms of the GNU Library 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 *  Library General Public License for more details.
13 *
14 *  You should have received a copy of the GNU Library General Public License
15 *  along with this library; see the file COPYING.LIB.  If not, write to
16 *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 *  Boston, MA 02110-1301, USA.
18 */
19
20#ifndef GtkTypedefs_h
21#define GtkTypedefs_h
22
23/* Vanilla C code does not seem to be able to handle forward-declaration typedefs. */
24#ifdef  __cplusplus
25
26typedef char gchar;
27typedef double gdouble;
28typedef float gfloat;
29typedef int gint;
30typedef gint gboolean;
31typedef long glong;
32typedef short gshort;
33typedef unsigned char guchar;
34typedef unsigned int guint;
35typedef unsigned long gulong;
36typedef unsigned short gushort;
37typedef void* gpointer;
38
39typedef struct _GAsyncResult GAsyncResult;
40typedef struct _GCancellable GCancellable;
41typedef struct _GCharsetConverter GCharsetConverter;
42typedef struct _GDir GDir;
43typedef struct _GdkAtom* GdkAtom;
44typedef struct _GdkCursor GdkCursor;
45typedef struct _GdkDragContext GdkDragContext;
46typedef struct _GdkEventConfigure GdkEventConfigure;
47typedef struct _GdkEventExpose GdkEventExpose;
48typedef struct _GdkPixbuf GdkPixbuf;
49typedef struct _GError GError;
50typedef struct _GFile GFile;
51typedef struct _GHashTable GHashTable;
52typedef struct _GInputStream GInputStream;
53typedef struct _GList GList;
54typedef struct _GMainContext GMainContext;
55typedef struct _GMainLoop GMainLoop;
56typedef struct _GPatternSpec GPatternSpec;
57typedef struct _GPollableOutputStream GPollableOutputStream;
58typedef struct _GSList GSList;
59typedef struct _GSocketClient GSocketClient;
60typedef struct _GSocketConnection GSocketConnection;
61typedef struct _GSource GSource;
62typedef struct _GVariant GVariant;
63typedef union _GdkEvent GdkEvent;
64typedef struct _GTimer GTimer;
65typedef struct _GKeyFile GKeyFile;
66typedef struct _GPtrArray GPtrArray;
67typedef struct _GByteArray GByteArray;
68typedef struct _GBytes GBytes;
69typedef struct _GClosure GClosure;
70
71#if USE(CAIRO)
72typedef struct _cairo_surface cairo_surface_t;
73typedef struct _cairo_rectangle_int cairo_rectangle_int_t;
74#endif
75
76#if USE(CLUTTER)
77typedef struct _ClutterActor ClutterActor;
78typedef struct _GraphicsLayerActor GraphicsLayerActor;
79#endif
80
81#if PLATFORM(GTK)
82typedef struct _GtkAction GtkAction;
83typedef struct _GtkAdjustment GtkAdjustment;
84typedef struct _GtkBorder GtkBorder;
85typedef struct _GtkClipboard GtkClipboard;
86typedef struct _GtkContainer GtkContainer;
87typedef struct _GtkIconInfo GtkIconInfo;
88typedef struct _GtkMenu GtkMenu;
89typedef struct _GtkMenuItem GtkMenuItem;
90typedef struct _GtkObject GtkObject;
91typedef struct _GtkSelectionData GtkSelectionData;
92typedef struct _GtkStyle GtkStyle;
93typedef struct _GtkTargetList GtkTargetList;
94typedef struct _GtkThemeParts GtkThemeParts;
95typedef struct _GtkWidget GtkWidget;
96typedef struct _GtkWindow GtkWindow;
97
98#ifdef GTK_API_VERSION_2
99typedef struct _GdkRectangle GdkRectangle;
100typedef struct _GdkDrawable GdkWindow;
101#else
102typedef struct _GdkWindow GdkWindow;
103typedef struct _GtkStyleContext GtkStyleContext;
104#endif
105
106#endif
107
108#endif
109#endif /* GtkTypedefs_h */
110