/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code 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 General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef _GTK2_INTERFACE_H
#define _GTK2_INTERFACE_H
#include <stdlib.h>
#include <jni.h>
#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
#define GTK_FILE_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER, GtkFileChooser))
fp_g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
typedef enum _WidgetType
{
} WidgetType;
typedef enum _ColorType
{
DARK,
MID,
} ColorType;
typedef enum _Setting
{
} Setting;
/* GTK types, here to eliminate need for GTK headers at compile time */
#ifndef FALSE
#define FALSE (0)
#endif
/* basic types */
typedef char gchar;
typedef short gshort;
typedef int gint;
typedef long glong;
typedef float gfloat;
typedef double gdouble;
typedef void* gpointer;
typedef signed char gint8;
typedef signed short gint16;
typedef signed int gint32;
typedef unsigned char guchar;
typedef unsigned char guint8;
typedef unsigned short gushort;
typedef unsigned short guint16;
typedef unsigned int guint;
typedef unsigned int guint32;
typedef unsigned int gsize;
typedef unsigned long gulong;
typedef signed long long gint64;
typedef unsigned long long guint64;
/* enumerated constants */
typedef enum
{
} GtkArrowType;
typedef enum {
typedef enum
{
typedef enum
{
} GtkIconSize;
typedef enum
{
typedef enum
{
typedef enum
{
typedef enum
{
} GtkStateType;
typedef enum
{
typedef enum
{
typedef enum
{
} GParamFlags;
/* We define all structure pointers to be void* */
typedef void GError;
typedef void GMainContext;
struct _GSList
{
};
typedef void GdkColormap;
typedef void GdkDrawable;
typedef void GdkGC;
typedef void GdkPixbuf;
typedef void GdkPixmap;
typedef void GdkWindow;
typedef void GtkFixed;
typedef void GtkMenuItem;
typedef void GtkMenuShell;
typedef void GtkWidgetClass;
typedef void PangoFontDescription;
typedef void GtkSettings;
/* Some real structures */
typedef struct
{
} GdkColor;
typedef struct {
} GPollFD;
typedef struct {
gint x;
gint y;
} GdkRectangle;
typedef struct {
gint x;
gint y;
typedef struct {
typedef struct {
typedef struct {
} GtkBorder;
/******************************************************
* FIXME: it is more safe to include gtk headers for
* the precise type definition of GType and other
* structures. This is a place where getting rid of gtk
* headers may be dangerous.
******************************************************/
typedef struct
{
union {
} GValue;
typedef struct
{
} GParamSpec;
typedef struct {
void *qdata;
} GObject;
typedef struct {
} GtkObject;
typedef struct
{
} GtkStyle;
struct _GtkWidget
{
};
typedef struct
{
} GtkMisc;
typedef struct {
} GtkContainer;
typedef struct {
} GtkBin;
typedef struct {
} GtkButton;
typedef struct {
struct _GtkAdjustment
{
};
typedef enum
{
struct _GtkRange
{
/*< protected >*/
/*< private >*/
};
typedef enum
{
typedef enum
{
struct _GtkProgress
{
};
struct _GtkProgressBar
{
};
typedef enum {
typedef enum {
typedef enum {
typedef struct {
typedef void (*GCallback)(void);
typedef enum {
/*
* Converts java.lang.String object to UTF-8 character string.
*/
/*
* Check whether the gtk2 library is available and meets the minimum
* version requirement. If the library is already loaded this method has no
* effect and returns success.
* Returns FALSE on failure and TRUE on success.
*/
/**
* Returns :
* NULL if the GTK+ library is compatible with the given version, or a string
* describing the version mismatch.
*/
/*
* Load the gtk2 library. If the library is already loaded this method has no
* effect and returns success.
* Returns FALSE on failure and TRUE on success.
*/
/*
* Unload the gtk2 library. If the library is already unloaded this method has
* no effect and returns success.
* Returns FALSE on failure and TRUE on success.
*/
void flush_gtk_event_loop();
/**
* Function Pointers for GtkFileChooser
*/
void (*fp_gtk_main_quit)(void);
const gchar *first_button_text, ...);
const char *filename);
void (*fp_gtk_main)(void);
void (*fp_gdk_threads_init)(void);
void (*fp_gdk_threads_enter)(void);
void (*fp_gdk_threads_leave)(void);
#endif /* !_GTK2_INTERFACE_H */