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 WTF_GTypedefs_h
21#define WTF_GTypedefs_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 struct _GVariantBuilder GVariantBuilder;
64typedef struct _GVariantIter GVariantIter;
65typedef union _GdkEvent GdkEvent;
66typedef struct _GTimer GTimer;
67typedef struct _GKeyFile GKeyFile;
68typedef struct _GPtrArray GPtrArray;
69typedef struct _GByteArray GByteArray;
70typedef struct _GBytes GBytes;
71typedef struct _GClosure GClosure;
72
73#if USE(CAIRO)
74typedef struct _cairo_surface cairo_surface_t;
75typedef struct _cairo_rectangle_int cairo_rectangle_int_t;
76#endif
77
78#if USE(CLUTTER)
79typedef struct _ClutterActor ClutterActor;
80typedef struct _GraphicsLayerActor GraphicsLayerActor;
81#endif
82
83#if PLATFORM(GTK)
84typedef struct _GtkAction GtkAction;
85typedef struct _GtkAdjustment GtkAdjustment;
86typedef struct _GtkBorder GtkBorder;
87typedef struct _GtkClipboard GtkClipboard;
88typedef struct _GtkContainer GtkContainer;
89typedef struct _GtkIconInfo GtkIconInfo;
90typedef struct _GtkMenu GtkMenu;
91typedef struct _GtkMenuItem GtkMenuItem;
92typedef struct _GtkObject GtkObject;
93typedef struct _GtkSelectionData GtkSelectionData;
94typedef struct _GtkStyle GtkStyle;
95typedef struct _GtkTargetList GtkTargetList;
96typedef struct _GtkThemeParts GtkThemeParts;
97typedef struct _GtkWidget GtkWidget;
98typedef struct _GtkWindow GtkWindow;
99
100#ifdef GTK_API_VERSION_2
101typedef struct _GdkRectangle GdkRectangle;
102typedef struct _GdkDrawable GdkWindow;
103#else
104typedef struct _GdkWindow GdkWindow;
105typedef struct _GtkStyleContext GtkStyleContext;
106#endif
107
108#endif
109
110#endif
111#endif // WTF_GTypedefs_h
112