0N/A/*
3909N/A * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A#ifndef _GTK2_INTERFACE_H
0N/A#define _GTK2_INTERFACE_H
0N/A
0N/A#include <stdlib.h>
0N/A#include <jni.h>
0N/A
2328N/A#define _G_TYPE_CIC(ip, gt, ct) ((ct*) ip)
2328N/A#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
2328N/A#define GTK_TYPE_FILE_CHOOSER (fp_gtk_file_chooser_get_type ())
2328N/A#define GTK_FILE_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER, GtkFileChooser))
2328N/A#define fp_g_signal_connect(instance, detailed_signal, c_handler, data) \
2328N/A fp_g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
2328N/A#define G_CALLBACK(f) ((GCallback) (f))
2328N/A#define G_TYPE_FUNDAMENTAL_SHIFT (2)
2328N/A#define G_TYPE_MAKE_FUNDAMENTAL(x) ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
2328N/A#define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20)
2328N/A#define G_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
2328N/A#define GTK_STOCK_CANCEL "gtk-cancel"
2328N/A#define GTK_STOCK_SAVE "gtk-save"
2328N/A#define GTK_STOCK_OPEN "gtk-open"
2328N/A
0N/Atypedef enum _WidgetType
0N/A{
0N/A BUTTON, /* GtkButton */
0N/A CHECK_BOX, /* GtkCheckButton */
0N/A CHECK_BOX_MENU_ITEM, /* GtkCheckMenuItem */
0N/A COLOR_CHOOSER, /* GtkColorSelectionDialog */
0N/A COMBO_BOX, /* GtkComboBox */
0N/A COMBO_BOX_ARROW_BUTTON, /* GtkComboBoxEntry */
0N/A COMBO_BOX_TEXT_FIELD, /* GtkComboBoxEntry */
0N/A DESKTOP_ICON, /* GtkLabel */
0N/A DESKTOP_PANE, /* GtkContainer */
0N/A EDITOR_PANE, /* GtkTextView */
0N/A FORMATTED_TEXT_FIELD, /* GtkEntry */
0N/A HANDLE_BOX, /* GtkHandleBox */
0N/A HPROGRESS_BAR, /* GtkProgressBar */
0N/A HSCROLL_BAR, /* GtkHScrollbar */
0N/A HSCROLL_BAR_BUTTON_LEFT, /* GtkHScrollbar */
0N/A HSCROLL_BAR_BUTTON_RIGHT, /* GtkHScrollbar */
0N/A HSCROLL_BAR_TRACK, /* GtkHScrollbar */
0N/A HSCROLL_BAR_THUMB, /* GtkHScrollbar */
0N/A HSEPARATOR, /* GtkHSeparator */
0N/A HSLIDER, /* GtkHScale */
0N/A HSLIDER_TRACK, /* GtkHScale */
0N/A HSLIDER_THUMB, /* GtkHScale */
0N/A HSPLIT_PANE_DIVIDER, /* GtkHPaned */
0N/A INTERNAL_FRAME, /* GtkWindow */
0N/A INTERNAL_FRAME_TITLE_PANE, /* GtkLabel */
0N/A IMAGE, /* GtkImage */
0N/A LABEL, /* GtkLabel */
0N/A LIST, /* GtkTreeView */
0N/A MENU, /* GtkMenu */
0N/A MENU_BAR, /* GtkMenuBar */
0N/A MENU_ITEM, /* GtkMenuItem */
0N/A MENU_ITEM_ACCELERATOR, /* GtkLabel */
0N/A OPTION_PANE, /* GtkMessageDialog */
0N/A PANEL, /* GtkContainer */
0N/A PASSWORD_FIELD, /* GtkEntry */
0N/A POPUP_MENU, /* GtkMenu */
0N/A POPUP_MENU_SEPARATOR, /* GtkSeparatorMenuItem */
0N/A RADIO_BUTTON, /* GtkRadioButton */
0N/A RADIO_BUTTON_MENU_ITEM, /* GtkRadioMenuItem */
0N/A ROOT_PANE, /* GtkContainer */
0N/A SCROLL_PANE, /* GtkScrolledWindow */
0N/A SPINNER, /* GtkSpinButton */
0N/A SPINNER_ARROW_BUTTON, /* GtkSpinButton */
0N/A SPINNER_TEXT_FIELD, /* GtkSpinButton */
0N/A SPLIT_PANE, /* GtkPaned */
0N/A TABBED_PANE, /* GtkNotebook */
0N/A TABBED_PANE_TAB_AREA, /* GtkNotebook */
0N/A TABBED_PANE_CONTENT, /* GtkNotebook */
0N/A TABBED_PANE_TAB, /* GtkNotebook */
0N/A TABLE, /* GtkTreeView */
0N/A TABLE_HEADER, /* GtkButton */
0N/A TEXT_AREA, /* GtkTextView */
0N/A TEXT_FIELD, /* GtkEntry */
0N/A TEXT_PANE, /* GtkTextView */
0N/A TITLED_BORDER, /* GtkFrame */
0N/A TOGGLE_BUTTON, /* GtkToggleButton */
0N/A TOOL_BAR, /* GtkToolbar */
0N/A TOOL_BAR_DRAG_WINDOW, /* GtkToolbar */
0N/A TOOL_BAR_SEPARATOR, /* GtkSeparatorToolItem */
0N/A TOOL_TIP, /* GtkWindow */
0N/A TREE, /* GtkTreeView */
0N/A TREE_CELL, /* GtkTreeView */
0N/A VIEWPORT, /* GtkViewport */
0N/A VPROGRESS_BAR, /* GtkProgressBar */
0N/A VSCROLL_BAR, /* GtkVScrollbar */
0N/A VSCROLL_BAR_BUTTON_UP, /* GtkVScrollbar */
0N/A VSCROLL_BAR_BUTTON_DOWN, /* GtkVScrollbar */
0N/A VSCROLL_BAR_TRACK, /* GtkVScrollbar */
0N/A VSCROLL_BAR_THUMB, /* GtkVScrollbar */
0N/A VSEPARATOR, /* GtkVSeparator */
0N/A VSLIDER, /* GtkVScale */
0N/A VSLIDER_TRACK, /* GtkVScale */
0N/A VSLIDER_THUMB, /* GtkVScale */
0N/A VSPLIT_PANE_DIVIDER, /* GtkVPaned */
0N/A WIDGET_TYPE_SIZE
0N/A} WidgetType;
0N/A
0N/Atypedef enum _ColorType
0N/A{
0N/A FOREGROUND,
0N/A BACKGROUND,
0N/A TEXT_FOREGROUND,
0N/A TEXT_BACKGROUND,
0N/A FOCUS,
0N/A LIGHT,
0N/A DARK,
0N/A MID,
0N/A BLACK,
0N/A WHITE
0N/A} ColorType;
0N/A
0N/Atypedef enum _Setting
0N/A{
0N/A GTK_FONT_NAME,
0N/A GTK_ICON_SIZES
0N/A} Setting;
0N/A
0N/A/* GTK types, here to eliminate need for GTK headers at compile time */
0N/A
0N/A#ifndef FALSE
0N/A#define FALSE (0)
0N/A#define TRUE (!FALSE)
0N/A#endif
0N/A
0N/A#define GTK_HAS_FOCUS (1 << 12)
0N/A#define GTK_HAS_DEFAULT (1 << 14)
0N/A
0N/A
0N/A/* basic types */
0N/Atypedef char gchar;
0N/Atypedef short gshort;
0N/Atypedef int gint;
0N/Atypedef long glong;
0N/Atypedef float gfloat;
0N/Atypedef double gdouble;
0N/Atypedef void* gpointer;
0N/Atypedef gint gboolean;
0N/A
0N/Atypedef signed char gint8;
0N/Atypedef signed short gint16;
0N/Atypedef signed int gint32;
0N/A
0N/Atypedef unsigned char guchar;
0N/Atypedef unsigned char guint8;
0N/Atypedef unsigned short gushort;
0N/Atypedef unsigned short guint16;
0N/Atypedef unsigned int guint;
0N/Atypedef unsigned int guint32;
0N/Atypedef unsigned int gsize;
0N/Atypedef unsigned long gulong;
0N/A
0N/Atypedef signed long long gint64;
0N/Atypedef unsigned long long guint64;
0N/A
0N/A/* enumerated constants */
0N/Atypedef enum
0N/A{
0N/A GTK_ARROW_UP,
0N/A GTK_ARROW_DOWN,
0N/A GTK_ARROW_LEFT,
0N/A GTK_ARROW_RIGHT
0N/A} GtkArrowType;
0N/A
0N/Atypedef enum {
0N/A GDK_COLORSPACE_RGB
0N/A} GdkColorspace;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_EXPANDER_COLLAPSED,
0N/A GTK_EXPANDER_SEMI_COLLAPSED,
0N/A GTK_EXPANDER_SEMI_EXPANDED,
0N/A GTK_EXPANDER_EXPANDED
0N/A} GtkExpanderStyle;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_ICON_SIZE_INVALID,
0N/A GTK_ICON_SIZE_MENU,
0N/A GTK_ICON_SIZE_SMALL_TOOLBAR,
0N/A GTK_ICON_SIZE_LARGE_TOOLBAR,
0N/A GTK_ICON_SIZE_BUTTON,
0N/A GTK_ICON_SIZE_DND,
0N/A GTK_ICON_SIZE_DIALOG
0N/A} GtkIconSize;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_ORIENTATION_HORIZONTAL,
0N/A GTK_ORIENTATION_VERTICAL
0N/A} GtkOrientation;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_POS_LEFT,
0N/A GTK_POS_RIGHT,
0N/A GTK_POS_TOP,
0N/A GTK_POS_BOTTOM
0N/A} GtkPositionType;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_SHADOW_NONE,
0N/A GTK_SHADOW_IN,
0N/A GTK_SHADOW_OUT,
0N/A GTK_SHADOW_ETCHED_IN,
0N/A GTK_SHADOW_ETCHED_OUT
0N/A} GtkShadowType;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_STATE_NORMAL,
0N/A GTK_STATE_ACTIVE,
0N/A GTK_STATE_PRELIGHT,
0N/A GTK_STATE_SELECTED,
0N/A GTK_STATE_INSENSITIVE
0N/A} GtkStateType;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_TEXT_DIR_NONE,
0N/A GTK_TEXT_DIR_LTR,
0N/A GTK_TEXT_DIR_RTL
0N/A} GtkTextDirection;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_WINDOW_TOPLEVEL,
0N/A GTK_WINDOW_POPUP
0N/A} GtkWindowType;
0N/A
0N/Atypedef enum
0N/A{
0N/A G_PARAM_READABLE = 1 << 0,
0N/A G_PARAM_WRITABLE = 1 << 1,
0N/A G_PARAM_CONSTRUCT = 1 << 2,
0N/A G_PARAM_CONSTRUCT_ONLY = 1 << 3,
0N/A G_PARAM_LAX_VALIDATION = 1 << 4,
0N/A G_PARAM_PRIVATE = 1 << 5
0N/A} GParamFlags;
0N/A
0N/A/* We define all structure pointers to be void* */
0N/Atypedef void GError;
0N/Atypedef void GMainContext;
2328N/A
2328N/Atypedef struct _GSList GSList;
2328N/Astruct _GSList
2328N/A{
2328N/A gpointer data;
2328N/A GSList *next;
2328N/A};
0N/A
0N/Atypedef void GdkColormap;
0N/Atypedef void GdkDrawable;
0N/Atypedef void GdkGC;
0N/Atypedef void GdkPixbuf;
0N/Atypedef void GdkPixmap;
0N/Atypedef void GdkWindow;
0N/A
0N/Atypedef void GtkFixed;
0N/Atypedef void GtkMenuItem;
0N/Atypedef void GtkMenuShell;
0N/Atypedef void GtkWidgetClass;
0N/Atypedef void PangoFontDescription;
0N/Atypedef void GtkSettings;
0N/A
0N/A/* Some real structures */
0N/Atypedef struct
0N/A{
0N/A guint32 pixel;
0N/A guint16 red;
0N/A guint16 green;
0N/A guint16 blue;
0N/A} GdkColor;
0N/A
0N/Atypedef struct {
0N/A gint fd;
0N/A gushort events;
0N/A gushort revents;
0N/A} GPollFD;
0N/A
0N/Atypedef struct {
0N/A gint x;
0N/A gint y;
0N/A gint width;
0N/A gint height;
0N/A} GdkRectangle;
0N/A
0N/Atypedef struct {
0N/A gint x;
0N/A gint y;
0N/A gint width;
0N/A gint height;
0N/A} GtkAllocation;
0N/A
0N/Atypedef struct {
0N/A gint width;
0N/A gint height;
0N/A} GtkRequisition;
0N/A
0N/Atypedef struct {
0N/A GtkWidgetClass *g_class;
0N/A} GTypeInstance;
0N/A
0N/Atypedef struct {
0N/A gint left;
0N/A gint right;
0N/A gint top;
0N/A gint bottom;
0N/A} GtkBorder;
0N/A
0N/A/******************************************************
0N/A * FIXME: it is more safe to include gtk headers for
0N/A * the precise type definition of GType and other
0N/A * structures. This is a place where getting rid of gtk
0N/A * headers may be dangerous.
0N/A ******************************************************/
0N/Atypedef gulong GType;
0N/A
0N/Atypedef struct
0N/A{
0N/A GType g_type;
0N/A
0N/A union {
0N/A gint v_int;
0N/A guint v_uint;
0N/A glong v_long;
0N/A gulong v_ulong;
0N/A gint64 v_int64;
0N/A guint64 v_uint64;
0N/A gfloat v_float;
0N/A gdouble v_double;
0N/A gpointer v_pointer;
0N/A } data[2];
0N/A} GValue;
0N/A
0N/Atypedef struct
0N/A{
0N/A GTypeInstance g_type_instance;
0N/A
0N/A gchar *name;
0N/A GParamFlags flags;
0N/A GType value_type;
0N/A GType owner_type;
0N/A} GParamSpec;
0N/A
0N/Atypedef struct {
0N/A GTypeInstance g_type_instance;
0N/A guint ref_count;
0N/A void *qdata;
0N/A} GObject;
0N/A
0N/Atypedef struct {
0N/A GObject parent_instance;
0N/A guint32 flags;
0N/A} GtkObject;
0N/A
0N/Atypedef struct
0N/A{
0N/A GObject parent_instance;
0N/A
0N/A GdkColor fg[5];
0N/A GdkColor bg[5];
0N/A GdkColor light[5];
0N/A GdkColor dark[5];
0N/A GdkColor mid[5];
0N/A GdkColor text[5];
0N/A GdkColor base[5];
0N/A GdkColor text_aa[5]; /* Halfway between text/base */
0N/A
0N/A GdkColor black;
0N/A GdkColor white;
0N/A PangoFontDescription *font_desc;
0N/A
0N/A gint xthickness;
0N/A gint ythickness;
0N/A
0N/A GdkGC *fg_gc[5];
0N/A GdkGC *bg_gc[5];
0N/A GdkGC *light_gc[5];
0N/A GdkGC *dark_gc[5];
0N/A GdkGC *mid_gc[5];
0N/A GdkGC *text_gc[5];
0N/A GdkGC *base_gc[5];
0N/A GdkGC *text_aa_gc[5];
0N/A GdkGC *black_gc;
0N/A GdkGC *white_gc;
0N/A
0N/A GdkPixmap *bg_pixmap[5];
0N/A} GtkStyle;
0N/A
0N/Atypedef struct _GtkWidget GtkWidget;
0N/Astruct _GtkWidget
0N/A{
0N/A GtkObject object;
0N/A guint16 private_flags;
0N/A guint8 state;
0N/A guint8 saved_state;
0N/A gchar *name;
0N/A GtkStyle *style;
0N/A GtkRequisition requisition;
0N/A GtkAllocation allocation;
0N/A GdkWindow *window;
0N/A GtkWidget *parent;
0N/A};
0N/A
0N/Atypedef struct
0N/A{
0N/A GtkWidget widget;
0N/A
0N/A gfloat xalign;
0N/A gfloat yalign;
0N/A
0N/A guint16 xpad;
0N/A guint16 ypad;
0N/A} GtkMisc;
0N/A
0N/Atypedef struct {
0N/A GtkWidget widget;
0N/A GtkWidget *focus_child;
0N/A guint border_width : 16;
0N/A guint need_resize : 1;
0N/A guint resize_mode : 2;
0N/A guint reallocate_redraws : 1;
0N/A guint has_focus_chain : 1;
0N/A} GtkContainer;
0N/A
0N/Atypedef struct {
0N/A GtkContainer container;
0N/A GtkWidget *child;
0N/A} GtkBin;
0N/A
0N/Atypedef struct {
0N/A GtkBin bin;
0N/A GdkWindow *event_window;
0N/A gchar *label_text;
0N/A guint activate_timeout;
0N/A guint constructed : 1;
0N/A guint in_button : 1;
0N/A guint button_down : 1;
0N/A guint relief : 2;
0N/A guint use_underline : 1;
0N/A guint use_stock : 1;
0N/A guint depressed : 1;
0N/A guint depress_on_activate : 1;
0N/A guint focus_on_click : 1;
0N/A} GtkButton;
0N/A
0N/Atypedef struct {
0N/A GtkButton button;
0N/A guint active : 1;
0N/A guint draw_indicator : 1;
0N/A guint inconsistent : 1;
0N/A} GtkToggleButton;
0N/A
0N/Atypedef struct _GtkAdjustment GtkAdjustment;
0N/Astruct _GtkAdjustment
0N/A{
0N/A GtkObject parent_instance;
0N/A
0N/A gdouble lower;
0N/A gdouble upper;
0N/A gdouble value;
0N/A gdouble step_increment;
0N/A gdouble page_increment;
0N/A gdouble page_size;
0N/A};
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_UPDATE_CONTINUOUS,
0N/A GTK_UPDATE_DISCONTINUOUS,
0N/A GTK_UPDATE_DELAYED
0N/A} GtkUpdateType;
0N/A
0N/Atypedef struct _GtkRange GtkRange;
0N/Astruct _GtkRange
0N/A{
0N/A GtkWidget widget;
0N/A GtkAdjustment *adjustment;
0N/A GtkUpdateType update_policy;
0N/A guint inverted : 1;
0N/A /*< protected >*/
0N/A guint flippable : 1;
0N/A guint has_stepper_a : 1;
0N/A guint has_stepper_b : 1;
0N/A guint has_stepper_c : 1;
0N/A guint has_stepper_d : 1;
0N/A guint need_recalc : 1;
0N/A guint slider_size_fixed : 1;
0N/A gint min_slider_size;
0N/A GtkOrientation orientation;
0N/A GdkRectangle range_rect;
0N/A gint slider_start, slider_end;
0N/A gint round_digits;
0N/A /*< private >*/
0N/A guint trough_click_forward : 1;
0N/A guint update_pending : 1;
0N/A /*GtkRangeLayout * */ void *layout;
0N/A /*GtkRangeStepTimer * */ void* timer;
0N/A gint slide_initial_slider_position;
0N/A gint slide_initial_coordinate;
0N/A guint update_timeout_id;
0N/A GdkWindow *event_window;
0N/A};
0N/A
0N/Atypedef struct _GtkProgressBar GtkProgressBar;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_PROGRESS_CONTINUOUS,
0N/A GTK_PROGRESS_DISCRETE
0N/A} GtkProgressBarStyle;
0N/A
0N/Atypedef enum
0N/A{
0N/A GTK_PROGRESS_LEFT_TO_RIGHT,
0N/A GTK_PROGRESS_RIGHT_TO_LEFT,
0N/A GTK_PROGRESS_BOTTOM_TO_TOP,
0N/A GTK_PROGRESS_TOP_TO_BOTTOM
0N/A} GtkProgressBarOrientation;
0N/A
0N/Atypedef struct _GtkProgress GtkProgress;
0N/A
0N/Astruct _GtkProgress
0N/A{
0N/A GtkWidget widget;
0N/A GtkAdjustment *adjustment;
0N/A GdkPixmap *offscreen_pixmap;
0N/A gchar *format;
0N/A gfloat x_align;
0N/A gfloat y_align;
0N/A guint show_text : 1;
0N/A guint activity_mode : 1;
0N/A guint use_text_format : 1;
0N/A};
0N/A
0N/Astruct _GtkProgressBar
0N/A{
0N/A GtkProgress progress;
0N/A GtkProgressBarStyle bar_style;
0N/A GtkProgressBarOrientation orientation;
0N/A guint blocks;
0N/A gint in_block;
0N/A gint activity_pos;
0N/A guint activity_step;
0N/A guint activity_blocks;
0N/A gdouble pulse_fraction;
0N/A guint activity_dir : 1;
0N/A guint ellipsize : 3;
0N/A};
0N/A
2328N/Atypedef enum {
2328N/A GTK_RESPONSE_NONE = -1,
2328N/A GTK_RESPONSE_REJECT = -2,
2328N/A GTK_RESPONSE_ACCEPT = -3,
2328N/A GTK_RESPONSE_DELETE_EVENT = -4,
2328N/A GTK_RESPONSE_OK = -5,
2328N/A GTK_RESPONSE_CANCEL = -6,
2328N/A GTK_RESPONSE_CLOSE = -7,
2328N/A GTK_RESPONSE_YES = -8,
2328N/A GTK_RESPONSE_NO = -9,
2328N/A GTK_RESPONSE_APPLY = -10,
2328N/A GTK_RESPONSE_HELP = -11
2328N/A} GtkResponseType;
2328N/A
2328N/Atypedef struct _GtkWindow GtkWindow;
2328N/A
2328N/Atypedef struct _GtkFileChooser GtkFileChooser;
2328N/A
2328N/Atypedef enum {
2328N/A GTK_FILE_CHOOSER_ACTION_OPEN,
2328N/A GTK_FILE_CHOOSER_ACTION_SAVE,
2328N/A GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
2328N/A GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
2328N/A} GtkFileChooserAction;
2328N/A
2328N/Atypedef struct _GtkFileFilter GtkFileFilter;
2328N/A
2328N/Atypedef enum {
2328N/A GTK_FILE_FILTER_FILENAME = 1 << 0,
2328N/A GTK_FILE_FILTER_URI = 1 << 1,
2328N/A GTK_FILE_FILTER_DISPLAY_NAME = 1 << 2,
2328N/A GTK_FILE_FILTER_MIME_TYPE = 1 << 3
2328N/A} GtkFileFilterFlags;
2328N/A
2328N/Atypedef struct {
2328N/A GtkFileFilterFlags contains;
2328N/A const gchar *filename;
2328N/A const gchar *uri;
2328N/A const gchar *display_name;
2328N/A const gchar *mime_type;
2328N/A} GtkFileFilterInfo;
2328N/A
2328N/Atypedef gboolean (*GtkFileFilterFunc)(const GtkFileFilterInfo *filter_info,
2328N/A gpointer data);
2328N/A
2328N/Atypedef void (*GDestroyNotify)(gpointer data);
2328N/A
2328N/Atypedef void (*GCallback)(void);
2328N/A
2328N/Atypedef struct _GClosure GClosure;
2328N/A
2328N/Atypedef void (*GClosureNotify)(gpointer data, GClosure *closure);
2328N/A
2328N/Atypedef enum {
2328N/A G_CONNECT_AFTER = 1 << 0, G_CONNECT_SWAPPED = 1 << 1
2328N/A} GConnectFlags;
2328N/A
2328N/Atypedef struct _GThreadFunctions GThreadFunctions;
2328N/A
0N/A/*
0N/A * Converts java.lang.String object to UTF-8 character string.
0N/A */
0N/Aconst char *getStrFor(JNIEnv *env, jstring value);
0N/A
0N/A/*
0N/A * Check whether the gtk2 library is available and meets the minimum
0N/A * version requirement. If the library is already loaded this method has no
0N/A * effect and returns success.
0N/A * Returns FALSE on failure and TRUE on success.
0N/A */
0N/Agboolean gtk2_check_version();
0N/A
2328N/A/**
2328N/A * Returns :
2328N/A * NULL if the GTK+ library is compatible with the given version, or a string
2328N/A * describing the version mismatch.
2328N/A */
2328N/Agchar* (*fp_gtk_check_version)(guint required_major, guint required_minor,
2328N/A guint required_micro);
0N/A/*
0N/A * Load the gtk2 library. If the library is already loaded this method has no
0N/A * effect and returns success.
0N/A * Returns FALSE on failure and TRUE on success.
0N/A */
0N/Agboolean gtk2_load();
0N/A
0N/A/*
0N/A * Unload the gtk2 library. If the library is already unloaded this method has
0N/A * no effect and returns success.
0N/A * Returns FALSE on failure and TRUE on success.
0N/A */
0N/Agboolean gtk2_unload();
0N/A
0N/Avoid gtk2_paint_arrow(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height,
0N/A GtkArrowType arrow_type, gboolean fill);
0N/Avoid gtk2_paint_box(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height,
0N/A gint synth_state, GtkTextDirection dir);
0N/Avoid gtk2_paint_box_gap(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height,
0N/A GtkPositionType gap_side, gint gap_x, gint gap_width);
0N/Avoid gtk2_paint_check(WidgetType widget_type, gint synth_state,
0N/A const gchar *detail, gint x, gint y, gint width, gint height);
0N/Avoid gtk2_paint_diamond(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height);
0N/Avoid gtk2_paint_expander(WidgetType widget_type, GtkStateType state_type,
0N/A const gchar *detail, gint x, gint y, gint width, gint height,
0N/A GtkExpanderStyle expander_style);
0N/Avoid gtk2_paint_extension(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height, GtkPositionType gap_side);
0N/Avoid gtk2_paint_flat_box(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height, gboolean has_focus);
0N/Avoid gtk2_paint_focus(WidgetType widget_type, GtkStateType state_type,
0N/A const char *detail, gint x, gint y, gint width, gint height);
0N/Avoid gtk2_paint_handle(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height, GtkOrientation orientation);
0N/Avoid gtk2_paint_hline(WidgetType widget_type, GtkStateType state_type,
0N/A const gchar *detail, gint x, gint y, gint width, gint height);
0N/Avoid gtk2_paint_option(WidgetType widget_type, gint synth_state,
0N/A const gchar *detail, gint x, gint y, gint width, gint height);
0N/Avoid gtk2_paint_shadow(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height,
0N/A gint synth_state, GtkTextDirection dir);
0N/Avoid gtk2_paint_slider(WidgetType widget_type, GtkStateType state_type,
0N/A GtkShadowType shadow_type, const gchar *detail,
0N/A gint x, gint y, gint width, gint height, GtkOrientation orientation);
0N/Avoid gtk2_paint_vline(WidgetType widget_type, GtkStateType state_type,
0N/A const gchar *detail, gint x, gint y, gint width, gint height);
0N/Avoid gtk_paint_background(WidgetType widget_type, GtkStateType state_type,
0N/A gint x, gint y, gint width, gint height);
0N/A
2724N/Avoid gtk2_init_painting(JNIEnv *env, gint w, gint h);
0N/Agint gtk2_copy_image(gint *dest, gint width, gint height);
0N/A
0N/Agint gtk2_get_xthickness(JNIEnv *env, WidgetType widget_type);
0N/Agint gtk2_get_ythickness(JNIEnv *env, WidgetType widget_type);
0N/Agint gtk2_get_color_for_state(JNIEnv *env, WidgetType widget_type,
0N/A GtkStateType state_type, ColorType color_type);
0N/Ajobject gtk2_get_class_value(JNIEnv *env, WidgetType widget_type, jstring key);
0N/A
0N/AGdkPixbuf *gtk2_get_stock_icon(gint widget_type, const gchar *stock_id,
0N/A GtkIconSize size, GtkTextDirection direction, const char *detail);
0N/AGdkPixbuf *gtk2_get_icon(const gchar *filename, gint size);
0N/Ajstring gtk2_get_pango_font_name(JNIEnv *env, WidgetType widget_type);
0N/A
0N/Avoid flush_gtk_event_loop();
0N/A
0N/Ajobject gtk2_get_setting(JNIEnv *env, Setting property);
0N/A
0N/Avoid gtk2_set_range_value(WidgetType widget_type, jdouble value,
0N/A jdouble min, jdouble max, jdouble visible);
0N/A
2328N/Avoid (*fp_g_free)(gpointer mem);
0N/Avoid (*fp_g_object_unref)(gpointer object);
0N/Aint (*fp_gdk_pixbuf_get_bits_per_sample)(const GdkPixbuf *pixbuf);
0N/Aguchar *(*fp_gdk_pixbuf_get_pixels)(const GdkPixbuf *pixbuf);
0N/Agboolean (*fp_gdk_pixbuf_get_has_alpha)(const GdkPixbuf *pixbuf);
0N/Aint (*fp_gdk_pixbuf_get_height)(const GdkPixbuf *pixbuf);
0N/Aint (*fp_gdk_pixbuf_get_n_channels)(const GdkPixbuf *pixbuf);
0N/Aint (*fp_gdk_pixbuf_get_rowstride)(const GdkPixbuf *pixbuf);
0N/Aint (*fp_gdk_pixbuf_get_width)(const GdkPixbuf *pixbuf);
0N/AGdkPixbuf *(*fp_gdk_pixbuf_new_from_file)(const char *filename, GError **error);
2328N/Avoid (*fp_gtk_widget_destroy)(GtkWidget *widget);
3077N/Avoid (*fp_gtk_window_present)(GtkWindow *window);
3616N/Avoid (*fp_gtk_window_move)(GtkWindow *window, gint x, gint y);
3616N/Avoid (*fp_gtk_window_resize)(GtkWindow *window, gint width, gint height);
2328N/A
2328N/A/**
2328N/A * Function Pointers for GtkFileChooser
2328N/A */
2328N/Agchar* (*fp_gtk_file_chooser_get_filename)(GtkFileChooser *chooser);
2328N/Avoid (*fp_gtk_widget_hide)(GtkWidget *widget);
2328N/Avoid (*fp_gtk_main_quit)(void);
2328N/AGtkWidget* (*fp_gtk_file_chooser_dialog_new)(const gchar *title,
2328N/A GtkWindow *parent, GtkFileChooserAction action,
2328N/A const gchar *first_button_text, ...);
2328N/Agboolean (*fp_gtk_file_chooser_set_current_folder)(GtkFileChooser *chooser,
2328N/A const gchar *filename);
2328N/Agboolean (*fp_gtk_file_chooser_set_filename)(GtkFileChooser *chooser,
2328N/A const char *filename);
3940N/Avoid (*fp_gtk_file_chooser_set_current_name)(GtkFileChooser *chooser,
3940N/A const gchar *name);
2328N/Avoid (*fp_gtk_file_filter_add_custom)(GtkFileFilter *filter,
2328N/A GtkFileFilterFlags needed, GtkFileFilterFunc func, gpointer data,
2328N/A GDestroyNotify notify);
2328N/Avoid (*fp_gtk_file_chooser_set_filter)(GtkFileChooser *chooser,
2328N/A GtkFileFilter *filter);
2328N/AGType (*fp_gtk_file_chooser_get_type)(void);
2328N/AGtkFileFilter* (*fp_gtk_file_filter_new)(void);
2328N/Avoid (*fp_gtk_file_chooser_set_do_overwrite_confirmation)(
2328N/A GtkFileChooser *chooser, gboolean do_overwrite_confirmation);
2328N/Avoid (*fp_gtk_file_chooser_set_select_multiple)(
2328N/A GtkFileChooser *chooser, gboolean select_multiple);
2328N/Agchar* (*fp_gtk_file_chooser_get_current_folder)(GtkFileChooser *chooser);
2328N/AGSList* (*fp_gtk_file_chooser_get_filenames)(GtkFileChooser *chooser);
2328N/Aguint (*fp_gtk_g_slist_length)(GSList *list);
2328N/Agulong (*fp_g_signal_connect_data)(gpointer instance,
2328N/A const gchar *detailed_signal, GCallback c_handler, gpointer data,
2328N/A GClosureNotify destroy_data, GConnectFlags connect_flags);
2328N/Avoid (*fp_gtk_widget_show)(GtkWidget *widget);
2328N/Avoid (*fp_gtk_main)(void);
2328N/Aguint (*fp_gtk_main_level)(void);
2328N/A
2328N/A
2328N/Avoid (*fp_g_thread_init)(GThreadFunctions *vtable);
2328N/Avoid (*fp_gdk_threads_init)(void);
2328N/Avoid (*fp_gdk_threads_enter)(void);
2328N/Avoid (*fp_gdk_threads_leave)(void);
0N/A
0N/A#endif /* !_GTK2_INTERFACE_H */