15ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen/*
25ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen * Copyright (C) 2010 Igalia, S.L.
35ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *
45ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  This library is free software; you can redistribute it and/or
55ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  modify it under the terms of the GNU Library General Public
65ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  License as published by the Free Software Foundation; either
75ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  version 2 of the License, or (at your option) any later version.
85ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *
95ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  This library is distributed in the hope that it will be useful,
105ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  but WITHOUT ANY WARRANTY; without even the implied warranty of
115ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
125ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  Library General Public License for more details.
135ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *
145ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  You should have received a copy of the GNU Library General Public License
155ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  along with this library; see the file COPYING.LIB.  If not, write to
165ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
175ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen *  Boston, MA 02110-1301, USA.
185ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen */
195ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
205ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#ifndef GtkTypedefs_h
215ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#define GtkTypedefs_h
225ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
235ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen/* Vanilla C code does not seem to be able to handle forward-declaration typedefs. */
245ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#ifdef  __cplusplus
255ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
265ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef char gchar;
275ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef double gdouble;
285ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef float gfloat;
295ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef int gint;
305ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef gint gboolean;
315ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef long glong;
325ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef short gshort;
335ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef unsigned char guchar;
345ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef unsigned int guint;
355ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef unsigned long gulong;
365ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef unsigned short gushort;
375ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef void* gpointer;
385ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
395abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GAsyncResult GAsyncResult;
405abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GCancellable GCancellable;
41e14391e94c850b8bd03680c23b38978db68687a8John Recktypedef struct _GCharsetConverter GCharsetConverter;
425ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GCond GCond;
435ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GDir GDir;
445ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GdkAtom* GdkAtom;
455ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GdkCursor GdkCursor;
465ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GdkDragContext GdkDragContext;
475ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GdkEventConfigure GdkEventConfigure;
4868513a70bcd92384395513322f1b801e7bf9c729Steve Blocktypedef struct _GdkEventExpose GdkEventExpose;
495ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GdkPixbuf GdkPixbuf;
505ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GError GError;
515ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GFile GFile;
525ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GHashTable GHashTable;
535abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GInputStream GInputStream;
545ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GList GList;
555ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GMutex GMutex;
565ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GPatternSpec GPatternSpec;
572fc2651226baac27029e38c9d6ef883fa32084dbSteve Blocktypedef struct _GPollableOutputStream GPollableOutputStream;
585abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GSocketClient GSocketClient;
595abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GSocketConnection GSocketConnection;
605abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GSource GSource;
615abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _GVariant GVariant;
625abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef union _GdkEvent GdkEvent;
635abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick
642daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if USE(CAIRO)
655abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merricktypedef struct _cairo_surface cairo_surface_t;
665abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick#endif
675abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick
685abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick#if PLATFORM(GTK)
695ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkAction GtkAction;
705ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkAdjustment GtkAdjustment;
715ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkBorder GtkBorder;
725ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkClipboard GtkClipboard;
735ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkContainer GtkContainer;
745ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkIconInfo GtkIconInfo;
755ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkMenu GtkMenu;
765ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkMenuItem GtkMenuItem;
775ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkObject GtkObject;
785ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkSelectionData GtkSelectionData;
795ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkStyle GtkStyle;
805ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkTargetList GtkTargetList;
815ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkThemeParts GtkThemeParts;
825ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GtkWidget GtkWidget;
8368513a70bcd92384395513322f1b801e7bf9c729Steve Blocktypedef struct _GtkWindow GtkWindow;
845ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
855ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#ifdef GTK_API_VERSION_2
865ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _GdkRectangle GdkRectangle;
87f05b935882198ccf7d81675736e3aeb089c5113aBen Murdochtypedef struct _GdkDrawable GdkWindow;
885ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#else
89f05b935882198ccf7d81675736e3aeb089c5113aBen Murdochtypedef struct _GdkWindow GdkWindow;
905ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef struct _cairo_rectangle_int cairo_rectangle_int_t;
915ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsentypedef cairo_rectangle_int_t GdkRectangle;
92cad810f21b803229eb11403f9209855525a25d57Steve Blocktypedef struct _GtkStyleContext GtkStyleContext;
935ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
945ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
955ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
965ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
975abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick#endif
985ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif /* GtkTypedefs_h */
99