| /******************************************************************************* |
| * Copyright (c) 2000, 2019 IBM Corporation and others. All rights reserved. |
| * The contents of this file are made available under the terms |
| * of the GNU Lesser General Public License (LGPL) Version 2.1 that |
| * accompanies this distribution (lgpl-v21.txt). The LGPL is also |
| * available at http://www.gnu.org/licenses/lgpl.html. If the version |
| * of the LGPL at http://www.gnu.org is different to the version of |
| * the LGPL accompanying this distribution and there is any conflict |
| * between the two license versions, the terms of the LGPL accompanying |
| * this distribution shall govern. |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.swt.internal.gtk; |
| |
| |
| import java.util.*; |
| |
| import org.eclipse.swt.internal.*; |
| |
| // Common type translation table: |
| // C -> Java |
| // -------------------- |
| // Primitives: |
| // int -> int |
| // guint -> long #Reason: |
| // c : unsigned int range: 4294967295 |
| // java : int range : 2147483647 (less than c unsigned int) |
| // Java : long range: 9,223,372,036,854,775,807 |
| // // Note: Not to be used for pointers. |
| // |
| // gint* -> int[] |
| // boolean -> int ex setenv |
| // gboolean -> boolean |
| // |
| // Pointers: |
| // gpointer -> long |
| // void * -> long |
| // |
| // Strings: |
| // gchar * -> long |
| // const char * -> byte[] ex setenv |
| // const gchar* -> byte[] ex g_log_remove_handler |
| // |
| // Special types: |
| // GQuark -> int |
| // GError ** -> long [] ex g_filename_to_uri |
| |
| |
| /** |
| * This class contains native functions for various libraries. |
| * |
| * Any dynamic functions must be manually linked to their corresponding library. See os_cutom.h #define FUNC_LIB_* LIB_* |
| */ |
| public class OS extends C { |
| /** OS Constants */ |
| public static final boolean IsLinux, IsWin32, BIG_ENDIAN; |
| static { |
| |
| /* Initialize the OS flags and locale constants */ |
| String osName = System.getProperty ("os.name"); |
| boolean isLinux = false, isWin32 = false; |
| if (osName.equals ("Linux")) isLinux = true; |
| if (osName.startsWith("Windows")) isWin32 = true; |
| IsLinux = isLinux; IsWin32 = isWin32; |
| |
| byte[] buffer = new byte[4]; |
| long ptr = C.malloc(4); |
| C.memmove(ptr, new int[]{1}, 4); |
| C.memmove(buffer, ptr, 1); |
| C.free(ptr); |
| BIG_ENDIAN = buffer[0] == 0; |
| } |
| |
| /** Initialization; load native libraries */ |
| static { |
| String propertyName = "SWT_GTK4"; |
| String gtk4 = getEnvironmentalVariable (propertyName); |
| if (gtk4 != null && gtk4.equals("1")) { |
| try { |
| Library.loadLibrary("swt-pi4"); |
| } catch (Throwable e) { |
| Library.loadLibrary("swt-pi3"); |
| } |
| } else { |
| try { |
| Library.loadLibrary("swt-pi3"); |
| } catch (Throwable e) { |
| Library.loadLibrary("swt-pi4"); |
| } |
| } |
| } |
| |
| //Add ability to debug gtk warnings for SWT snippets via SWT_FATAL_WARNINGS=1 |
| // env variable. Please see Eclipse bug 471477 |
| static { |
| String propertyName = "SWT_FATAL_WARNINGS"; |
| String swt_fatal_warnings = getEnvironmentalVariable (propertyName); |
| |
| if (swt_fatal_warnings != null && swt_fatal_warnings.equals("1")) { |
| String gtk4PropertyName = "SWT_GTK4"; |
| String gtk4 = getEnvironmentalVariable (gtk4PropertyName); |
| if (gtk4 != null && gtk4.equals("1")) { |
| System.err.println("SWT warning: SWT_FATAL_WARNINGS only available on GTK3."); |
| } else { |
| OS.swt_debug_on_fatal_warnings (); |
| } |
| } |
| } |
| |
| // Bug 519124 |
| static { |
| String swt_lib_versions = getEnvironmentalVariable (OS.SWT_LIB_VERSIONS); // Note, this is read in multiple places. |
| if (swt_lib_versions != null && swt_lib_versions.equals("1")) { |
| System.out.print("SWT_LIB_Gtk:"+GTK.gtk_get_major_version()+"."+GTK.gtk_get_minor_version()+"."+GTK.gtk_get_micro_version()); |
| System.out.print(" (Dynamic gdbus)"); |
| System.out.println(""); |
| } |
| } |
| |
| public static final String SWT_LIB_VERSIONS = "SWT_LIB_VERSIONS"; |
| |
| public static String getEnvironmentalVariable (String envVarName) { |
| String envVarValue = null; |
| long ptr = C.getenv(ascii(envVarName)); |
| if (ptr != 0) { |
| int length = C.strlen(ptr); |
| byte[] buffer = new byte[length]; |
| C.memmove(buffer, ptr, length); |
| char[] convertedChar = new char[buffer.length]; |
| for (int i = 0; i < buffer.length; i++) { |
| convertedChar[i]=(char)buffer[i]; |
| } |
| envVarValue = new String(convertedChar); |
| } |
| return envVarValue; |
| } |
| |
| /** Constants */ |
| public static final int G_FILE_TEST_IS_DIR = 1 << 2; |
| public static final int G_FILE_TEST_IS_EXECUTABLE = 1 << 3; |
| public static final int G_SIGNAL_MATCH_DATA = 1 << 4; |
| public static final int G_SIGNAL_MATCH_ID = 1 << 0; |
| public static final int G_LOG_FLAG_FATAL = 0x2; |
| public static final int G_LOG_FLAG_RECURSION = 0x1; |
| public static final int G_LOG_LEVEL_MASK = 0xfffffffc; |
| public static final int G_APP_INFO_CREATE_NONE = 0; |
| public static final int G_APP_INFO_CREATE_SUPPORTS_URIS = (1 << 1); |
| public static final int PANGO_ALIGN_LEFT = 0; |
| public static final int PANGO_ALIGN_CENTER = 1; |
| public static final int PANGO_ALIGN_RIGHT = 2; |
| public static final int PANGO_ATTR_FOREGROUND = 9; |
| public static final int PANGO_ATTR_BACKGROUND = 10; |
| public static final int PANGO_ATTR_UNDERLINE = 11; |
| public static final int PANGO_ATTR_UNDERLINE_COLOR = 18; |
| public static final int PANGO_DIRECTION_LTR = 0; |
| public static final int PANGO_DIRECTION_RTL = 1; |
| public static final int PANGO_SCALE = 1024; |
| public static final int PANGO_STRETCH_ULTRA_CONDENSED = 0x0; |
| public static final int PANGO_STRETCH_EXTRA_CONDENSED = 0x1; |
| public static final int PANGO_STRETCH_CONDENSED = 0x2; |
| public static final int PANGO_STRETCH_SEMI_CONDENSED = 0x3; |
| public static final int PANGO_STRETCH_NORMAL = 0x4; |
| public static final int PANGO_STRETCH_SEMI_EXPANDED = 0x5; |
| public static final int PANGO_STRETCH_EXPANDED = 0x6; |
| public static final int PANGO_STRETCH_EXTRA_EXPANDED = 0x7; |
| public static final int PANGO_STRETCH_ULTRA_EXPANDED = 0x8; |
| public static final int PANGO_STYLE_ITALIC = 0x2; |
| public static final int PANGO_STYLE_NORMAL = 0x0; |
| public static final int PANGO_STYLE_OBLIQUE = 0x1; |
| public static final int PANGO_TAB_LEFT = 0; |
| public static final int PANGO_UNDERLINE_NONE = 0; |
| public static final int PANGO_UNDERLINE_SINGLE = 1; |
| public static final int PANGO_UNDERLINE_DOUBLE = 2; |
| public static final int PANGO_UNDERLINE_LOW = 3; |
| public static final int PANGO_UNDERLINE_ERROR = 4; |
| public static final int PANGO_VARIANT_NORMAL = 0; |
| public static final int PANGO_VARIANT_SMALL_CAPS = 1; |
| public static final int PANGO_WEIGHT_BOLD = 0x2bc; |
| public static final int PANGO_WEIGHT_NORMAL = 0x190; |
| public static final int PANGO_WRAP_WORD_CHAR = 2; |
| |
| /** |
| * GDBus Session types. |
| * @category gdbus */ |
| public static final int G_BUS_TYPE_SESSION = 2; //The login session message bus. |
| /** @category gdbus */ |
| public static final int G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0); //Allow another message bus connection to claim the name. |
| /** |
| * If another message bus connection owns the name and have |
| * specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. |
| * @category gdbus */ |
| public static final int G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1); |
| |
| // Proxy flags found here: https://developer.gnome.org/gio/stable/GDBusProxy.html#GDBusProxyFlags |
| public static final int G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = 1; |
| public static final int G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = 2; |
| public static final int G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = 3; |
| |
| public static final int G_DBUS_CALL_FLAGS_NONE = 0; |
| public static final int G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0); |
| |
| public static final int G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = 1; |
| |
| public static final int G_DBUS_SERVER_FLAGS_NONE = 0; |
| |
| /** |
| * DBus Data types as defined by: |
| * https://dbus.freedesktop.org/doc/dbus-specification.html#idm423 |
| * If using these, make sure they're properly handled in all GDBus code. Only some of these are supported by some GDBus classes. |
| * @category gdbus */ |
| public static final String DBUS_TYPE_BYTE = "y"; // 8 bit, unsigned int. |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_BOOLEAN = "b"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_ARRAY = "a"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_STRING = "s"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_STRING_ARRAY = "as"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_STRUCT_ARRAY_BROWSER_FUNCS = "a(tss)"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_INT32 = "i"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_UINT64 = "t"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_DOUBLE = "d"; |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_STRUCT = "r"; // Not used by Dbus, but implemented by GDBus. |
| /** @category gdbus */ |
| public static final String DBUS_TYPE_SINGLE_COMPLETE = "*"; |
| |
| /** |
| * GVariant Types |
| * These are for the most part quite similar to DBus types with a few differences. Read: |
| * https://developer.gnome.org/glib/stable/glib-GVariantType.html |
| * |
| * @category gdbus |
| */ |
| public static final byte[] G_VARIANT_TYPE_BYTE = ascii(DBUS_TYPE_BYTE); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_BOOLEAN = ascii(DBUS_TYPE_BOOLEAN); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_STRING_ARRAY = ascii(DBUS_TYPE_STRING_ARRAY); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_STRING = ascii(DBUS_TYPE_STRING); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_IN32 = ascii(DBUS_TYPE_INT32); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_UINT64 = ascii(DBUS_TYPE_UINT64); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_DOUBLE = ascii(DBUS_TYPE_DOUBLE); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_TUPLE = ascii(DBUS_TYPE_STRUCT); |
| /** @category gdbus */ |
| public static final byte[] G_VARIANT_TYPE_ARRAY_BROWSER_FUNCS = ascii(DBUS_TYPE_STRUCT_ARRAY_BROWSER_FUNCS); |
| |
| |
| /** Signals */ |
| public static final byte[] accel_closures_changed = ascii("accel-closures-changed"); // Gtk2,3,4 |
| public static final byte[] activate = ascii("activate"); // ? |
| public static final byte[] angle_changed = ascii("angle_changed"); // Gtk3/4, Guesture related. |
| public static final byte[] authorize_authenticated_peer = ascii("authorize-authenticated-peer"); |
| public static final byte[] backspace = ascii("backspace"); |
| public static final byte[] begin = ascii("begin"); |
| public static final byte[] button_press_event = ascii("button-press-event"); |
| public static final byte[] button_release_event = ascii("button-release-event"); |
| public static final byte[] changed = ascii("changed"); |
| public static final byte[] change_value = ascii("change-value"); |
| public static final byte[] clicked = ascii("clicked"); |
| public static final byte[] close_request = ascii("close-request"); |
| public static final byte[] commit = ascii("commit"); |
| public static final byte[] configure_event = ascii("configure-event"); |
| public static final byte[] copy_clipboard = ascii("copy-clipboard"); |
| public static final byte[] cut_clipboard = ascii("cut-clipboard"); |
| public static final byte[] create_menu_proxy = ascii("create-menu-proxy"); |
| public static final byte[] delete_event = ascii("delete-event"); |
| public static final byte[] delete_from_cursor = ascii("delete-from-cursor"); |
| public static final byte[] day_selected = ascii("day-selected"); |
| public static final byte[] day_selected_double_click = ascii("day-selected-double-click"); |
| public static final byte[] delete_range = ascii("delete-range"); |
| public static final byte[] delete_text = ascii("delete-text"); |
| public static final byte[] direction_changed = ascii("direction-changed"); |
| public static final byte[] dpi_changed = ascii("notify::scale-factor"); |
| public static final byte[] drag_begin = ascii("drag_begin"); |
| public static final byte[] drag_data_delete = ascii("drag_data_delete"); |
| public static final byte[] drag_data_get = ascii("drag_data_get"); |
| public static final byte[] drag_data_received = ascii("drag_data_received"); |
| public static final byte[] drag_drop = ascii("drag_drop"); |
| public static final byte[] drag_end = ascii("drag_end"); |
| public static final byte[] drag_leave = ascii("drag_leave"); |
| public static final byte[] drag_motion = ascii("drag_motion"); |
| public static final byte[] draw = ascii("draw"); |
| public static final byte[] end = ascii("end"); |
| public static final byte[] enter_notify_event = ascii("enter-notify-event"); |
| public static final byte[] enter = ascii("enter"); |
| public static final byte[] event = ascii("event"); |
| public static final byte[] event_after = ascii("event-after"); |
| public static final byte[] expand_collapse_cursor_row = ascii("expand-collapse-cursor-row"); |
| public static final byte[] focus = ascii("focus"); |
| public static final byte[] focus_in_event = ascii("focus-in-event"); |
| public static final byte[] focus_in = ascii("focus-in"); |
| public static final byte[] focus_out_event = ascii("focus-out-event"); |
| public static final byte[] focus_out = ascii("focus-out"); |
| public static final byte[] grab_focus = ascii("grab-focus"); |
| public static final byte[] hide = ascii("hide"); |
| public static final byte[] icon_release = ascii("icon-release"); |
| public static final byte[] insert_text = ascii("insert-text"); |
| public static final byte[] key_press_event = ascii("key-press-event"); |
| public static final byte[] key_release_event = ascii("key-release-event"); |
| public static final byte[] key_pressed = ascii("key-pressed"); |
| public static final byte[] key_released = ascii("key-released"); |
| public static final byte[] keys_changed = ascii("keys-changed"); |
| public static final byte[] leave_notify_event = ascii("leave-notify-event"); |
| public static final byte[] leave = ascii("leave"); |
| public static final byte[] map = ascii("map"); |
| public static final byte[] map_event = ascii("map-event"); |
| public static final byte[] mnemonic_activate = ascii("mnemonic-activate"); |
| public static final byte[] month_changed = ascii("month-changed"); |
| public static final byte[] motion_notify_event = ascii("motion-notify-event"); |
| public static final byte[] motion = ascii("motion"); |
| public static final byte[] move_cursor = ascii("move-cursor"); |
| public static final byte[] move_focus = ascii("move-focus"); |
| public static final byte[] new_connection = ascii("new-connection"); |
| public static final byte[] output = ascii("output"); |
| public static final byte[] paste_clipboard = ascii("paste-clipboard"); |
| public static final byte[] pressed = ascii("pressed"); |
| public static final byte[] released = ascii("released"); |
| public static final byte[] popped_up = ascii("popped-up"); |
| public static final byte[] popup_menu = ascii("popup-menu"); |
| public static final byte[] populate_popup = ascii("populate-popup"); |
| public static final byte[] preedit_changed = ascii("preedit-changed"); |
| public static final byte[] property_notify_event = ascii("property-notify-event"); |
| public static final byte[] realize = ascii("realize"); |
| public static final byte[] row_activated = ascii("row-activated"); |
| public static final byte[] row_changed = ascii("row-changed"); |
| public static final byte[] row_has_child_toggled = ascii("row-has-child-toggled"); |
| public static final byte[] row_inserted = ascii("row-inserted"); |
| public static final byte[] row_deleted = ascii("row-deleted"); |
| public static final byte[] scale_changed = ascii("scale-changed"); |
| public static final byte[] scroll_child = ascii("scroll-child"); |
| public static final byte[] scroll_event = ascii("scroll-event"); |
| public static final byte[] scroll = ascii("scroll"); |
| public static final byte[] select = ascii("select"); |
| public static final byte[] selection_done = ascii("selection-done"); |
| public static final byte[] show = ascii("show"); |
| public static final byte[] show_help = ascii("show-help"); |
| public static final byte[] size_allocate = ascii("size-allocate"); |
| public static final byte[] start_interactive_search = ascii("start-interactive-search"); |
| public static final byte[] style_updated = ascii("style-updated"); |
| public static final byte[] switch_page = ascii("switch-page"); |
| public static final byte[] test_collapse_row = ascii("test-collapse-row"); |
| public static final byte[] test_expand_row = ascii("test-expand-row"); |
| public static final byte[] toggled = ascii("toggled"); |
| public static final byte[] unmap = ascii("unmap"); |
| public static final byte[] unmap_event = ascii("unmap-event"); |
| public static final byte[] value_changed = ascii("value-changed"); |
| public static final byte[] window_state_event = ascii("window-state-event"); |
| public static final byte[] notify_state = ascii("notify::state"); |
| |
| /** Properties */ |
| public static final byte[] active = ascii("active"); |
| public static final byte[] background_rgba = ascii("background-rgba"); |
| public static final byte[] cell_background_rgba = ascii("cell-background-rgba"); |
| public static final byte[] default_border = ascii("default-border"); |
| public static final byte[] expander_size = ascii("expander-size"); |
| public static final byte[] fixed_height_mode = ascii("fixed-height-mode"); |
| public static final byte[] focus_line_width = ascii("focus-line-width"); |
| public static final byte[] focus_padding = ascii("focus-padding"); |
| public static final byte[] font_desc = ascii("font-desc"); |
| public static final byte[] foreground_rgba = ascii("foreground-rgba"); |
| public static final byte[] grid_line_width = ascii("grid-line-width"); |
| public static final byte[] inner_border = ascii("inner-border"); |
| public static final byte[] has_backward_stepper = ascii("has-backward-stepper"); |
| public static final byte[] has_secondary_backward_stepper = ascii("has-secondary-backward-stepper"); |
| public static final byte[] has_forward_stepper = ascii("has-forward-stepper"); |
| public static final byte[] has_secondary_forward_stepper = ascii("has-secondary-forward-stepper"); |
| public static final byte[] horizontal_separator = ascii("horizontal-separator"); |
| public static final byte[] inconsistent = ascii("inconsistent"); |
| public static final byte[] indicator_size = ascii("indicator-size"); |
| public static final byte[] indicator_spacing = ascii("indicator-spacing"); |
| public static final byte[] interior_focus = ascii("interior-focus"); |
| public static final byte[] margin = ascii("margin"); |
| public static final byte[] mode = ascii("mode"); |
| public static final byte[] model = ascii("model"); |
| public static final byte[] spacing = ascii("spacing"); |
| public static final byte[] pixbuf = ascii("pixbuf"); |
| public static final byte[] gicon = ascii("gicon"); |
| public static final byte[] text = ascii("text"); |
| public static final byte[] xalign = ascii("xalign"); |
| public static final byte[] ypad = ascii("ypad"); |
| public static final byte[] margin_bottom = ascii("margin-bottom"); |
| public static final byte[] margin_top = ascii("margin-top"); |
| public static final byte[] scrollbar_spacing = ascii("scrollbar-spacing"); |
| |
| |
| /** CUSTOM_CODE START |
| * |
| * Functions for which code is not generated automatically. |
| * Don't move to different class or update these unless you also manually update the custom code part as well. |
| * These functions are usually hand-coded in os_custom.c. |
| * |
| * Typical method to generate them is as following: |
| * 1) Move native call and don't auto-generate bindings. |
| * - define function as regular function. SWT Tools should generate wrappers in os.c |
| * - move wrappers from os.c into os_custom.c and make your adaptations/changes. |
| * - add the 'flags=no_gen' to the method in OS.java |
| * (e.g, 'flags=no_gen' functions) |
| * |
| * 2) Make native call invoke a custom function. |
| * - create a function in os_custom.c |
| * - create a function in OS.java that will call your function. |
| * (e.g, see the 'swt_*' functions). |
| * |
| * Approach 2 is more portable than approach 1. |
| * (e.g '2' functions can be moved around, where as with '1', the c counter-parts have to be updated manually.) |
| * |
| * '@category custom' is for annotation/visibility in outline. |
| * '@flags=no_gen' is an instruction for SWT tools not to generate code. |
| */ |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native boolean GDK_WINDOWING_X11(); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native boolean GDK_WINDOWING_WAYLAND(); |
| /** Custom callbacks */ |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native long pangoLayoutNewProc_CALLBACK(long func); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native long pangoFontFamilyNewProc_CALLBACK(long func); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native long pangoFontFaceNewProc_CALLBACK(long func); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native long printerOptionWidgetNewProc_CALLBACK(long func); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native long imContextNewProc_CALLBACK(long func); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| public static final native long imContextLast(); |
| /** @method flags=no_gen |
| * @category custom |
| */ |
| |
| /** @category custom */ |
| /* Add ability to debug gtk warnings for SWT snippets via SWT_FATAL_WARNINGS=1 |
| * env variable. Please see Eclipse bug 471477 */ |
| public static final native void swt_debug_on_fatal_warnings(); |
| |
| /** @category custom */ |
| public static final native long swt_fixed_get_type(); |
| |
| /** @category custom */ |
| public static final native long swt_fixed_accessible_get_type(); |
| /** |
| * @param obj cast=(AtkObject*) |
| * @param is_native cast=(gboolean) |
| * @param to_map cast=(GtkWidget *) |
| * @category custom |
| */ |
| public static final native void swt_fixed_accessible_register_accessible(long obj, boolean is_native, long to_map); |
| /** |
| * @param fixed cast=(SwtFixed*) |
| * @param widget cast=(GtkWidget*) |
| * @param sibling cast=(GtkWidget*) |
| * @category custom |
| */ |
| public static final native void swt_fixed_restack(long fixed, long widget, long sibling, boolean above); |
| /** |
| * @param fixed cast=(SwtFixed*) |
| * @param widget cast=(GtkWidget*) |
| * @category custom |
| */ |
| public static final native void swt_fixed_move(long fixed, long widget, int x, int y); |
| /** |
| * @param fixed cast=(SwtFixed*) |
| * @param widget cast=(GtkWidget*) |
| * @category custom |
| */ |
| public static final native void swt_fixed_resize(long fixed, long widget, int width, int height); |
| |
| /** @param str cast=(const gchar *) |
| * @category custom |
| */ |
| /* Custom version of g_utf8_pointer_to_offset */ |
| public static final native long g_utf16_offset_to_pointer(long str, long offset); |
| |
| /** |
| * @param str cast=(const gchar *) |
| * @param pos cast=(const gchar *) |
| * @category custom |
| */ |
| /* Custom version of g_utf8_pointer_to_offset */ |
| public static final native long g_utf16_pointer_to_offset(long str, long pos); |
| /** @param str cast=(const gchar *) |
| * @category custom |
| */ |
| /* custom version of g_utf8 for 16 bit */ |
| public static final native long g_utf16_strlen(long str, long max); |
| /** @param str cast=(const gchar *) |
| * @category custom |
| */ |
| /* custom version of g_utf8 for 16 bit */ |
| public static final native long g_utf8_offset_to_utf16_offset(long str, long offset); |
| /** @param str cast=(const gchar *) |
| * @category custom |
| */ |
| /* custom version of g_utf8 for 16 bit */ |
| public static final native long g_utf16_offset_to_utf8_offset(long str, long offset); |
| |
| /** CUSTOM_CODE END */ |
| |
| /** |
| * Gtk has a minimum glib version. (But it's not a 1:1 link, one can have a newer version of glib and older gtk). |
| * |
| * Minimum Glib version requirement of gtk can be found in gtk's 'configure.ac' file, see line 'm4_define([glib_required_version],[2.*.*]). |
| * |
| * For reference: |
| * Gtk3.14 has min version of glib 2.41.2 |
| * Gtk3.16 has min version of glib 2.43.4 |
| * Gtk3.18 has min version of glib 2.45.8 |
| * Gtk3.20 has min version of glib 2.45.8 |
| * Gtk3.22 has min version of glib 2.49.4 |
| */ |
| public static final int GLIB_VERSION = VERSION(glib_major_version(), glib_minor_version(), glib_micro_version()); |
| |
| /* |
| * New API in GTK3.22 introduced the "popped-up" signal, which provides |
| * information about where a menu was actually positioned after it's been |
| * popped up. Users can set the environment variable SWT_MENU_LOCATION_DEBUGGING |
| * to 1 in order to help them debug menu positioning issues on GTK3.22+. |
| * |
| * For more information see bug 530204. |
| */ |
| public static final boolean SWT_MENU_LOCATION_DEBUGGING; |
| |
| /* |
| * Enable the DEBUG flag via environment variable. See bug 515849. |
| */ |
| public static final boolean SWT_DEBUG; |
| |
| /* |
| * Check for the GTK_THEME environment variable. If set, parse |
| * it to get the theme name and check if a dark variant is specified. |
| * We can make use of this information when loading SWT system colors. |
| * See bug 534007. |
| */ |
| /** |
| * True if the GTK_THEME environment variable is specified |
| * and is non-empty. |
| */ |
| public static final boolean GTK_THEME_SET; |
| /** |
| * A string containing the theme name supplied via the GTK_THEME |
| * environment variable. Otherwise this will contain an empty string. |
| */ |
| public static final String GTK_THEME_SET_NAME; |
| /** |
| * True iff overlay scrolling has been disabled via GTK_OVERLAY_SCROLLING=0. |
| * See bug 546248. |
| */ |
| public static final boolean GTK_OVERLAY_SCROLLING_DISABLED; |
| /** |
| * True if SWT is running on the GNOME desktop environment. |
| */ |
| public static final boolean isGNOME; |
| |
| /* Feature in Gtk: with the switch to GtkMenuItems from GtkImageMenuItems |
| * in Gtk3 came a small Gtk shortfall: a small amount of padding on the left hand |
| * side of MenuItems was added. This padding is not accessible to the developer, |
| * causing vertical alignment issues in menus that have both image and text only |
| * MenuItems. As an option, the user can specify the SWT_PADDED_MENU_ITEMS environment |
| * variable, which (when enabled), double pads MenuItems so as to create consistent |
| * vertical alignment throughout that particular menu. |
| * |
| * For more information see: |
| * Bug 470298 |
| */ |
| public static final boolean SWT_PADDED_MENU_ITEMS; |
| static { |
| String paddedProperty = "SWT_PADDED_MENU_ITEMS"; |
| String paddedCheck = getEnvironmentalVariable(paddedProperty); |
| boolean usePadded = false; |
| if (paddedCheck != null && paddedCheck.equals("1")) { |
| usePadded = true; |
| } |
| SWT_PADDED_MENU_ITEMS = usePadded; |
| |
| String menuLocationProperty = "SWT_MENU_LOCATION_DEBUGGING"; |
| String menuLocationCheck = getEnvironmentalVariable(menuLocationProperty); |
| boolean menuLocationDebuggingEnabled = false; |
| if (menuLocationCheck != null && menuLocationCheck.equals("1")) { |
| menuLocationDebuggingEnabled = true; |
| } |
| SWT_MENU_LOCATION_DEBUGGING = menuLocationDebuggingEnabled; |
| |
| String debugProperty = "SWT_DEBUG"; |
| String debugCheck = getEnvironmentalVariable(debugProperty); |
| boolean swtDebuggingEnabled = false; |
| if (debugCheck != null && debugCheck.equals("1")) { |
| swtDebuggingEnabled = true; |
| } |
| SWT_DEBUG = swtDebuggingEnabled; |
| |
| String gtkThemeProperty = "GTK_THEME"; |
| String gtkThemeCheck = getEnvironmentalVariable(gtkThemeProperty); |
| boolean gtkThemeSet = false; |
| String gtkThemeName = ""; |
| if (gtkThemeCheck != null && !gtkThemeCheck.isEmpty()) { |
| gtkThemeSet = true; |
| gtkThemeName = gtkThemeCheck; |
| } |
| GTK_THEME_SET = gtkThemeSet; |
| GTK_THEME_SET_NAME = gtkThemeName; |
| |
| String scrollingProperty = "GTK_OVERLAY_SCROLLING"; |
| String scrollingCheck = getEnvironmentalVariable(scrollingProperty); |
| boolean scrollingDisabled = false; |
| if (scrollingCheck != null && scrollingCheck.equals("0")) { |
| scrollingDisabled = true; |
| } |
| GTK_OVERLAY_SCROLLING_DISABLED = scrollingDisabled; |
| |
| Map<String, String> env = System.getenv(); |
| String desktopEnvironment = env.get("XDG_CURRENT_DESKTOP"); |
| boolean gnomeDetected = false; |
| if (desktopEnvironment != null) { |
| gnomeDetected = desktopEnvironment.contains("GNOME"); |
| } |
| isGNOME = gnomeDetected; |
| |
| System.setProperty("org.eclipse.swt.internal.gtk.version", |
| (GTK.GTK_VERSION >>> 16) + "." + (GTK.GTK_VERSION >>> 8 & 0xFF) + "." + (GTK.GTK_VERSION & 0xFF)); |
| // set GDK backend if we are on X11 |
| if (isX11()) { |
| System.setProperty("org.eclipse.swt.internal.gdk.backend", "x11"); |
| } |
| } |
| |
| protected static byte [] ascii (String name) { |
| int length = name.length (); |
| char [] chars = new char [length]; |
| name.getChars (0, length, chars, 0); |
| byte [] buffer = new byte [length + 1]; |
| for (int i=0; i<length; i++) { |
| buffer [i] = (byte) chars [i]; |
| } |
| return buffer; |
| } |
| |
| public static int VERSION(int major, int minor, int micro) { |
| return (major << 16) + (minor << 8) + micro; |
| } |
| |
| public static boolean isX11 () { |
| return OS.GDK_WINDOWING_X11() && GDK.GDK_IS_X11_DISPLAY(GDK.gdk_display_get_default()); |
| } |
| |
| /** 64 bit */ |
| public static final native int GPollFD_sizeof (); |
| public static final native int GTypeInfo_sizeof (); |
| public static final native int PangoAttribute_sizeof(); |
| public static final native int PangoAttrColor_sizeof(); |
| public static final native int PangoAttrInt_sizeof(); |
| public static final native int PangoItem_sizeof(); |
| public static final native int PangoLayoutLine_sizeof(); |
| public static final native int PangoLayoutRun_sizeof(); |
| public static final native int PangoLogAttr_sizeof(); |
| public static final native int PangoRectangle_sizeof(); |
| public static final native int XAnyEvent_sizeof(); |
| public static final native int XEvent_sizeof(); |
| public static final native int XExposeEvent_sizeof(); |
| public static final native int XFocusChangeEvent_sizeof(); |
| public static final native long localeconv_decimal_point(); |
| /** |
| * @param path cast=(const char *) |
| * @param realPath cast=(char *) |
| */ |
| public static final native long realpath(byte[] path, byte[] realPath); |
| |
| |
| /** Object private fields accessors */ |
| /** @param object_class cast=(GObjectClass *) */ |
| public static final native long G_OBJECT_CLASS_CONSTRUCTOR(long object_class); |
| /** |
| * @param object_class cast=(GObjectClass *) |
| * @paramOFF constructor cast=(GObject* (*) (GType, guint, GObjectConstructParam *)) |
| */ |
| public static final native void G_OBJECT_CLASS_SET_CONSTRUCTOR(long object_class, long constructor); |
| /** @param xevent cast=(XEvent *) */ |
| public static final native int X_EVENT_TYPE(long xevent); |
| /** @param xevent cast=(XAnyEvent *) */ |
| public static final native long X_EVENT_WINDOW(long xevent); |
| |
| /** X11 Native methods and constants */ |
| public static final int CurrentTime = 0; |
| public static final int Expose = 12; |
| public static final int FocusIn = 9; |
| public static final int FocusOut = 10; |
| public static final int GraphicsExpose = 13; |
| public static final int ExposureMask = 1 << 15; |
| public static final int NotifyNormal = 0; |
| public static final int NotifyWhileGrabbed = 3; |
| public static final int NotifyAncestor = 0; |
| public static final int NotifyVirtual = 1; |
| public static final int NotifyNonlinear = 3; |
| public static final int NotifyNonlinearVirtual = 4; |
| public static final int RevertToParent = 2; |
| public static final native int Call(long proc, long arg1, long arg2); |
| public static final native long call(long function, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6); |
| public static final native long call(long function, long arg0, long arg1, long arg2, long arg3); |
| public static final native long call(long function, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5); |
| /** |
| * @param display cast=(Display *) |
| * @param event_return cast=(XEvent *) |
| * @param predicate cast=(Bool (*)()) |
| * @param arg cast=(XPointer) |
| */ |
| public static final native boolean XCheckIfEvent(long display, long event_return, long predicate, long arg); |
| /** @param display cast=(Display *) */ |
| public static final native int XDefaultScreen(long display); |
| /** @param display cast=(Display *) */ |
| public static final native long XDefaultRootWindow(long display); |
| /** @param address cast=(void *) */ |
| public static final native void XFree(long address); |
| |
| /** |
| * @param display cast=(Display *) |
| * @param w cast=(Window) |
| * @param root_return cast=(Window *) |
| * @param child_return cast=(Window *) |
| * @param root_x_return cast=(int *) |
| * @param root_y_return cast=(int *) |
| * @param win_x_return cast=(int *) |
| * @param win_y_return cast=(int *) |
| * @param mask_return cast=(unsigned int *) |
| */ |
| public static final native int XQueryPointer(long display, long w, long [] root_return, long [] child_return, int[] root_x_return, int[] root_y_return, int[] win_x_return, int[] win_y_return, int[] mask_return); |
| /** @param handler cast=(XIOErrorHandler) */ |
| public static final native long XSetIOErrorHandler(long handler); |
| /** @param handler cast=(XErrorHandler) */ |
| public static final native long XSetErrorHandler(long handler); |
| /** |
| * @param display cast=(Display *) |
| * @param window cast=(Window) |
| */ |
| public static final native int XSetInputFocus(long display, long window, int revert, int time); |
| /** |
| * @param display cast=(Display *) |
| * @param w cast=(Window) |
| * @param prop_window cast=(Window) |
| */ |
| public static final native int XSetTransientForHint(long display, long w, long prop_window); |
| /** @param display cast=(Display *) */ |
| public static final native long XSynchronize(long display, boolean onoff); |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, XExposeEvent src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(XExposeEvent dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(XFocusChangeEvent dest, long src, long size); |
| |
| |
| /** Natives */ |
| public static final native int Call (long func, long arg0, int arg1, int arg2); |
| public static final native long G_OBJECT_GET_CLASS(long object); |
| public static final native long G_OBJECT_TYPE_NAME(long object); |
| /** @method flags=const */ |
| public static final native long G_TYPE_BOOLEAN(); |
| /** @method flags=const */ |
| public static final native long G_TYPE_DOUBLE(); |
| /** @method flags=const */ |
| public static final native long G_TYPE_FLOAT(); |
| /** @method flags=const */ |
| public static final native long G_TYPE_INT(); |
| /** @method flags=const */ |
| public static final native long G_TYPE_INT64(); |
| public static final native long G_VALUE_TYPE(long value); |
| public static final native long G_OBJECT_TYPE(long instance); |
| /** @method flags=const */ |
| public static final native long G_TYPE_STRING(); |
| public static final native int PANGO_PIXELS(int dimension); |
| /** @method flags=const */ |
| public static final native long PANGO_TYPE_FONT_DESCRIPTION(); |
| /** @method flags=const */ |
| public static final native long PANGO_TYPE_FONT_FAMILY(); |
| /** @method flags=const */ |
| public static final native long PANGO_TYPE_FONT_FACE(); |
| /** @method flags=const */ |
| public static final native long PANGO_TYPE_LAYOUT(); |
| /** |
| * @param commandline cast=(gchar *) |
| * @param applName cast=(gchar *) |
| * @param flags cast=(GAppInfoCreateFlags) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_app_info_create_from_commandline(byte[] commandline, byte[] applName, long flags, long error); |
| public static final native long g_app_info_get_all(); |
| /** |
| * @param appInfo cast=(GAppInfo *) |
| */ |
| public static final native long g_app_info_get_executable(long appInfo); |
| /** |
| * @param appInfo cast=(GAppInfo *) |
| */ |
| public static final native long g_app_info_get_icon(long appInfo); |
| /** |
| * @param appInfo cast=(GAppInfo *) |
| */ |
| public static final native long g_app_info_get_name(long appInfo); |
| /** |
| * @param appInfo cast=(GAppInfo *) |
| * @param list cast=(GList *) |
| * @param launchContext cast=(GAppLaunchContext *) |
| * @param error cast=(GError **) |
| */ |
| public static final native boolean g_app_info_launch(long appInfo, long list, long launchContext, long error); |
| /** |
| * @param mimeType cast=(gchar *) |
| * @param mustSupportURIs cast=(gboolean) |
| */ |
| public static final native long g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs); |
| /** |
| * @param uri cast=(char *) |
| * @param launchContext cast=(GAppLaunchContext *) |
| * @param error cast=(GError **) |
| */ |
| public static final native boolean g_app_info_launch_default_for_uri(long uri, long launchContext, long error); |
| /** |
| * @param appInfo cast=(GAppInfo *) |
| */ |
| public static final native boolean g_app_info_supports_uris(long appInfo); |
| /** |
| * @param error cast=(GError *) |
| */ |
| public static final native long g_error_get_message(long error); |
| |
| /** |
| * @param gerror cast=(GError *) |
| */ |
| public static final native void g_error_free(long gerror); |
| |
| /** |
| * @param type1 cast=(gchar *) |
| * @param type2 cast=(gchar *) |
| */ |
| public static final native boolean g_content_type_equals(long type1, byte[] type2); |
| /** |
| * @param type cast=(gchar *) |
| * @param supertype cast=(gchar *) |
| */ |
| public static final native boolean g_content_type_is_a(long type, byte[] supertype); |
| public static final native long g_credentials_new(); |
| /** |
| * @param credentials cast=(GCredentials *) |
| * @param other_credentials cast=(GCredentials *) |
| * @param error cast=(GError **) |
| */ |
| public static final native boolean g_credentials_is_same_user(long credentials, long other_credentials, long [] error); |
| /** |
| * @param info cast=(GFileInfo *) |
| */ |
| public static final native long g_file_info_get_content_type(long info); |
| /** |
| * @param file cast=(GFile *) |
| */ |
| public static final native long g_file_get_uri(long file); |
| /** @param fileName cast=(const char *) */ |
| public static final native long g_file_new_for_path(byte[] fileName); |
| /** |
| * @param fileName cast=(const char *) |
| */ |
| public static final native long g_file_new_for_commandline_arg(byte[] fileName); |
| /** @param fileName cast=(const char *) */ |
| public static final native long g_file_new_for_uri(byte[] fileName); |
| /** |
| * @param file cast=(GFile *) |
| * @param attributes cast=(const char *) |
| * @param flags cast=(GFileQueryInfoFlags) |
| * @param cancellable cast=(GCancellable *) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_file_query_info(long file, byte[] attributes, long flags, long cancellable, long error); |
| /** |
| * @param file cast=(const gchar *) |
| * @param test cast=(GFileTest) |
| */ |
| public static final native boolean /*long*/ g_file_test(byte[] file, int test); |
| /** @param icon cast=(GIcon *) */ |
| public static final native long g_icon_to_string(long icon); |
| /** |
| * @param str cast=(const gchar *) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_icon_new_for_string(byte[] str, long error[]); |
| /** |
| * @param signal_id cast=(guint) |
| * @param detail cast=(GQuark) |
| * @param hook_func cast=(GSignalEmissionHook) |
| * @param hook_data cast=(gpointer) |
| * @param data_destroy cast=(GDestroyNotify) |
| */ |
| public static final native long g_signal_add_emission_hook(int signal_id, int detail, long hook_func, long hook_data, long data_destroy); |
| /** |
| * @param signal_id cast=(guint) |
| * @param hook_id cast=(gulong) |
| */ |
| public static final native void g_signal_remove_emission_hook(int signal_id, long hook_id); |
| /** |
| * @param callback_func cast=(GCallback) |
| * @param user_data cast=(gpointer) |
| * @param destroy_data cast=(GClosureNotify) |
| */ |
| public static final native long g_cclosure_new(long callback_func, long user_data, long destroy_data); |
| /** @param closure cast=(GClosure *) */ |
| public static final native long g_closure_ref(long closure); |
| /** @param closure cast=(GClosure *) */ |
| public static final native void g_closure_sink(long closure); |
| /** @param closure cast=(GClosure *) */ |
| public static final native void g_closure_unref(long closure); |
| /** @param context cast=(GMainContext *) */ |
| public static final native boolean g_main_context_acquire(long context); |
| /** |
| * @param context cast=(GMainContext *) |
| * @param fds cast=(GPollFD *) |
| */ |
| public static final native int g_main_context_check(long context, int max_priority, long fds, int n_fds); |
| public static final native long g_main_context_default(); |
| /** @param context cast=(GMainContext *) */ |
| public static final native boolean g_main_context_iteration(long context, boolean may_block); |
| /** @param context cast=(GMainContext *) */ |
| public static final native long g_main_context_get_poll_func(long context); |
| /** |
| * @param context cast=(GMainContext *) |
| * @param priority cast=(gint *) |
| */ |
| public static final native boolean g_main_context_prepare(long context, int[] priority); |
| /** |
| * @param context cast=(GMainContext *) |
| * @param fds cast=(GPollFD *) |
| * @param timeout_ cast=(gint *) |
| */ |
| public static final native int g_main_context_query(long context, int max_priority, int[] timeout_, long fds, int n_fds); |
| /** @param context cast=(GMainContext *) */ |
| public static final native void g_main_context_release(long context); |
| /** @param context cast=(GMainContext *) */ |
| public static final native void g_main_context_wakeup(long context); |
| /** |
| * @param opsysstring cast=(const gchar *) |
| * @param len cast=(gssize) |
| * @param bytes_read cast=(gsize *) |
| * @param bytes_written cast=(gsize *) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_filename_to_utf8(long opsysstring, long len, long [] bytes_read, long [] bytes_written, long [] error); |
| /** @param filename cast=(const gchar *) */ |
| public static final native long g_filename_display_name(long filename); |
| /** |
| * @param filename cast=(const char *) |
| * @param hostname cast=(const char *) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_filename_to_uri(long filename, long hostname, long [] error); |
| /** |
| * @param opsysstring cast=(const gchar *) |
| * @param len cast=(gssize) |
| * @param bytes_read cast=(gsize *) |
| * @param bytes_written cast=(gsize *) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_filename_from_utf8(long opsysstring, long len, long [] bytes_read, long [] bytes_written, long [] error); |
| /** |
| * @param uri cast=(const char *) |
| * @param hostname cast=(char **) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_filename_from_uri(long uri, long [] hostname, long [] error); |
| /** @param mem cast=(gpointer) */ |
| public static final native void g_free(long mem); |
| /** |
| * @param variable cast=(const gchar *),flags=no_out |
| */ |
| public static final native long g_getenv(byte [] variable); |
| /** @param result cast=(GTimeVal *)*/ |
| public static final native void g_get_current_time(long result); |
| public static final native long g_get_user_name(); |
| /** |
| * @param result cast=(GTimeVal *) |
| * @param microseconds cast=(glong) |
| */ |
| public static final native void g_time_val_add(long result, long microseconds); |
| /** |
| * @param function cast=(GSourceFunc) |
| * @param data cast=(gpointer) |
| */ |
| public static final native int g_idle_add(long function, long data); |
| /** |
| * @param list cast=(GList *) |
| * @param data cast=(gpointer) |
| */ |
| public static final native long g_list_append(long list, long data); |
| /** @param list cast=(GList *) */ |
| public static final native long g_list_data(long list); |
| /** @param list cast=(GList *) */ |
| public static final native void g_list_free(long list); |
| /** |
| * @param list cast=(GList *) |
| */ |
| public static final native long g_list_last(long list); |
| /** @param list cast=(GList *) */ |
| public static final native int g_list_length(long list); |
| public static final native long g_list_next(long list); |
| /** |
| * @param list cast=(GList *) |
| * @param n cast=(guint) |
| */ |
| public static final native long g_list_nth_data(long list, int n); |
| public static final native long g_list_previous(long list); |
| /** |
| * @param log_domain cast=(gchar *) |
| * @param log_levels cast=(GLogLevelFlags) |
| * @param message cast=(gchar *) |
| * @param unused_data cast=(gpointer) |
| */ |
| public static final native void g_log_default_handler(long log_domain, int log_levels, long message, long unused_data); |
| /** |
| * @param log_domain cast=(gchar *),flags=no_out |
| * @param handler_id cast=(gint) |
| */ |
| public static final native void g_log_remove_handler(byte[] log_domain, int handler_id); |
| /** |
| * @param log_domain cast=(gchar *),flags=no_out |
| * @param log_levels cast=(GLogLevelFlags) |
| * @param log_func cast=(GLogFunc) |
| * @param user_data cast=(gpointer) |
| */ |
| public static final native int g_log_set_handler(byte[] log_domain, int log_levels, long log_func, long user_data); |
| /** @param size cast=(gulong) */ |
| public static final native long g_malloc(long size); |
| /** |
| * @param object cast=(GObject *) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_get(long object, byte[] first_property_name, int[] value, long terminator); |
| /** |
| * @param object cast=(GObject *) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_get(long object, byte[] first_property_name, long[] value, long terminator); |
| /** |
| * @param object cast=(GObject *) |
| * @param quark cast=(GQuark) |
| */ |
| public static final native long g_object_get_qdata(long object, int quark); |
| /** |
| * @param type cast=(GType) |
| * @param first_property_name cast=(const gchar *) |
| */ |
| public static final native long g_object_new(long type, long first_property_name); |
| /** |
| * @param object cast=(GObject *) |
| * @param property_name cast=(const gchar *) |
| */ |
| public static final native void g_object_notify(long object, byte[] property_name); |
| /** @param object cast=(gpointer) */ |
| public static final native long g_object_ref(long object); |
| /** |
| * @param object cast=(gpointer) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_set(long object, byte[] first_property_name, boolean data, long terminator); |
| /** |
| * @param object cast=(gpointer) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_set(long object, byte[] first_property_name, byte[] data, long terminator); |
| |
| //Note, the function below is handled in a special way in os.h because of the GdkRGBA (gtk3 only) struct. See os.h |
| //So although it is not marked as dynamic, it is only build on gtk3. |
| /** |
| * @param object cast=(gpointer) |
| * @param first_property_name cast=(const gchar *) |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_set(long object, byte[] first_property_name, GdkRGBA data, long terminator); |
| |
| /** |
| * @param object cast=(gpointer) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_set(long object, byte[] first_property_name, int data, long terminator); |
| /** |
| * @param object cast=(gpointer) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_set(long object, byte[] first_property_name, float data, long terminator); |
| /** |
| * @param object cast=(gpointer) |
| * @param first_property_name cast=(const gchar *),flags=no_out |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native void g_object_set(long object, byte[] first_property_name, long data, long terminator); |
| /** |
| * @param object cast=(GObject *) |
| * @param quark cast=(GQuark) |
| * @param data cast=(gpointer) |
| */ |
| public static final native void g_object_set_qdata(long object, int quark, long data); |
| /** @param object cast=(gpointer) */ |
| public static final native void g_object_unref(long object); |
| |
| /** |
| * @param data cast=(gconstpointer) |
| * @param size cast=(gsize) |
| */ |
| public static final native long g_bytes_new(byte [] data, long size); |
| |
| /** |
| * @param gBytes cast=(GBytes *) |
| */ |
| public static final native void g_bytes_unref(long gBytes); |
| |
| /** @param string cast=(const gchar *),flags=no_out */ |
| public static final native int g_quark_from_string(byte[] string); |
| /** @param prgname cast=(const gchar *),flags=no_out */ |
| public static final native void g_set_prgname(byte[] prgname); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| * @param proc cast=(GCallback) |
| * @param data cast=(gpointer) |
| */ |
| public static final native int g_signal_connect(long instance, byte[] detailed_signal, long proc, long data); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *) |
| * @param closure cast=(GClosure *) |
| * @param after cast=(gboolean) |
| */ |
| public static final native int g_signal_connect_closure(long instance, byte[] detailed_signal, long closure, boolean after); |
| /** |
| * @param instance cast=(gpointer) |
| * @param signal_id cast=(guint) |
| * @param detail cast=(GQuark) |
| * @param closure cast=(GClosure *) |
| * @param after cast=(gboolean) |
| */ |
| public static final native int g_signal_connect_closure_by_id(long instance, int signal_id, int detail, long closure, boolean after); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_signal_emit_by_name(long instance, byte[] detailed_signal); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_signal_emit_by_name(long instance, byte[] detailed_signal, long data); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_signal_emit_by_name(long instance, byte[] detailed_signal, GdkRectangle data); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_signal_emit_by_name(long instance, byte[] detailed_signal, long data1, long data2); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_signal_emit_by_name(long instance, byte[] detailed_signal, byte [] data); |
| /** |
| * @param instance cast=(gpointer) |
| * @param handler_id cast=(gulong) |
| */ |
| public static final native void g_signal_handler_disconnect(long instance, int handler_id); |
| /** |
| * @param instance cast=(gpointer) |
| * @param mask cast=(GSignalMatchType) |
| * @param signal_id cast=(guint) |
| * @param detail cast=(GQuark) |
| * @param closure cast=(GClosure *) |
| * @param func cast=(gpointer) |
| * @param data cast=(gpointer) |
| */ |
| public static final native int g_signal_handlers_block_matched(long instance, int mask, int signal_id, int detail, long closure, long func, long data); |
| /** |
| * @param instance cast=(gpointer) |
| * @param mask cast=(GSignalMatchType) |
| * @param signal_id cast=(guint) |
| * @param detail cast=(GQuark) |
| * @param closure cast=(GClosure *) |
| * @param func cast=(gpointer) |
| * @param data cast=(gpointer) |
| */ |
| public static final native int g_signal_handlers_unblock_matched(long instance, int mask, int signal_id, int detail, long closure, long func, long data); |
| /** @param name cast=(const gchar *),flags=no_out */ |
| public static final native int g_signal_lookup(byte[] name, long itype); |
| /** |
| * @param instance cast=(gpointer) |
| * @param detailed_signal cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_signal_stop_emission_by_name(long instance, byte[] detailed_signal); |
| /** @param tag cast=(guint) */ |
| public static final native boolean /*long*/ g_source_remove(long tag); |
| /** |
| * @param list cast=(GSList *) |
| * @param data cast=(gpointer) |
| */ |
| public static final native long g_slist_append(long list, long data); |
| /** @param list cast=(GSList *) */ |
| public static final native long g_slist_data(long list); |
| /** @param list cast=(GSList *) */ |
| public static final native void g_slist_free(long list); |
| /** @param list cast=(GSList *) */ |
| public static final native long g_slist_next(long list); |
| /** @param list cast=(GSList *) */ |
| public static final native int g_slist_length(long list); |
| /** @param string_array cast=(gchar **) */ |
| public static final native void g_strfreev(long string_array); |
| /** |
| * @param str cast=(const gchar *) |
| * @param endptr cast=(gchar **) |
| */ |
| public static final native double g_strtod(long str, long [] endptr); |
| /** |
| * @param str cast=(const gchar *) |
| * @param str2 cast=(const gchar *) |
| * @param str3 cast=(const gchar *) |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native long g_strconcat(long str, long str2, long str3, long terminator); |
| /** |
| * @param str cast=(const gchar *) |
| * @param str2 cast=(const gchar *) |
| * @param terminator cast=(const gchar *),flags=sentinel |
| */ |
| public static final native long g_strconcat(long str, long str2, long terminator); |
| /** @param str cast=(char *) */ |
| public static final native long g_strdup (long str); |
| /** @param g_class cast=(GType) */ |
| public static final native long g_type_class_peek(long g_class); |
| /** @param g_class cast=(gpointer) */ |
| public static final native long g_type_class_peek_parent(long g_class); |
| /** @param g_class cast=(GType) */ |
| public static final native long g_type_class_ref(long g_class); |
| /** @param g_class cast=(gpointer) */ |
| public static final native void g_type_class_unref(long g_class); |
| /** @param iface cast=(gpointer) */ |
| public static final native long g_type_interface_peek_parent(long iface); |
| /** |
| * @param type cast=(GType) |
| * @param is_a_type cast=(GType) |
| */ |
| public static final native boolean g_type_is_a(long type, long is_a_type); |
| /** @param type cast=(GType) */ |
| public static final native long g_type_parent(long type); |
| /** |
| * @param parent_type cast=(GType) |
| * @param type_name cast=(const gchar *) |
| * @param info cast=(const GTypeInfo *) |
| * @param flags cast=(GTypeFlags) |
| */ |
| public static final native long g_type_register_static(long parent_type, byte[] type_name, long info, int flags); |
| /** |
| * @param str cast=(const gunichar2 *),flags=no_out critical |
| * @param len cast=(glong) |
| * @param items_read cast=(glong *),flags=critical |
| * @param items_written cast=(glong *),flags=critical |
| * @param error cast=(GError **),flags=critical |
| */ |
| public static final native long g_utf16_to_utf8(char[] str, long len, long [] items_read, long [] items_written, long [] error); |
| /** |
| * @param str cast=(const gchar *) |
| * @param pos cast=(const gchar *) |
| */ |
| public static final native long g_utf8_pointer_to_offset(long str, long pos); |
| /** @param str cast=(const gchar *) */ |
| public static final native long g_utf8_strlen(long str, long max); |
| /** |
| * @param str cast=(const gchar *),flags=no_out critical |
| * @param len cast=(glong) |
| * @param items_read cast=(glong *),flags=critical |
| * @param items_written cast=(glong *),flags=critical |
| * @param error cast=(GError **),flags=critical |
| */ |
| public static final native long g_utf8_to_utf16(byte[] str, long len, long [] items_read, long [] items_written, long [] error); |
| /** |
| * @param str cast=(const gchar *) |
| * @param len cast=(glong) |
| * @param items_read cast=(glong *),flags=critical |
| * @param items_written cast=(glong *),flags=critical |
| * @param error cast=(GError **),flags=critical |
| */ |
| public static final native long g_utf8_to_utf16(long str, long len, long [] items_read, long [] items_written, long [] error); |
| /** |
| * @param value cast=(GValue *) |
| * @param type cast=(GType) |
| */ |
| public static final native long g_value_init (long value, long type); |
| /** @param value cast=(GValue *) */ |
| public static final native int g_value_get_int (long value); |
| /** @param value cast=(GValue *) */ |
| public static final native void g_value_set_int (long value, int v); |
| /** @param value cast=(GValue *) */ |
| public static final native double g_value_get_double (long value); |
| /** @param value cast=(GValue *) */ |
| public static final native void g_value_set_double (long value, double v); |
| /** @param value cast=(GValue *) */ |
| public static final native float g_value_get_float (long value); |
| /** @param value cast=(GValue *) */ |
| public static final native void g_value_set_float (long value, float v); |
| /** @param value cast=(GValue *) */ |
| public static final native long g_value_get_int64 (long value); |
| /** @param value cast=(GValue *) */ |
| public static final native void g_value_set_int64 (long value, long v); |
| /** @param value cast=(GValue *) */ |
| public static final native void g_value_unset (long value); |
| /** @param value cast=(const GValue *) */ |
| public static final native long g_value_peek_pointer(long value); |
| /** |
| * @param variable cast=(const gchar *),flags=no_out |
| */ |
| public static final native void g_unsetenv(byte [] variable); |
| /** @method flags=const */ |
| public static final native int glib_major_version(); |
| /** @method flags=const */ |
| public static final native int glib_minor_version(); |
| /** @method flags=const */ |
| public static final native int glib_micro_version(); |
| /** |
| * @param interval cast=(guint32) |
| * @param function cast=(GSourceFunc) |
| * @param data cast=(gpointer) |
| */ |
| public static final native int g_timeout_add(int interval, long function, long data); |
| |
| /** @method flags=dynamic */ |
| public static final native boolean FcConfigAppFontAddFile(long config, byte[] file); |
| |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, GTypeInfo src, int size); |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, GtkTargetEntry src, long size); |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, GdkRGBA src, long size); |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, GdkEventButton src, long size); |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, GdkEventKey src, long size); |
| /** @param src flags=no_out */ |
| public static final native void memmove(long dest, GtkWidgetClass src); |
| /** |
| * @param dest cast=(void *) |
| * @param src cast=(const void *),flags=no_out |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(long dest, PangoAttribute src, long size); |
| /** @param dest flags=no_in */ |
| public static final native void memmove(GtkWidgetClass dest, long src); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GtkBorder dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkKeymapKey dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkRGBA dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkEventButton dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkEventCrossing dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkEventFocus dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkEventKey dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkEventMotion dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkEventWindowState dest, long src, long size); |
| public static final native void memmove(long dest, GtkCellRendererClass src); |
| public static final native void memmove(GtkCellRendererClass dest, long src); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(GdkRectangle dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoAttribute dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoAttrColor dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoAttrInt dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoItem dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoLayoutLine dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoLayoutRun dest, long src, long size); |
| /** |
| * @param dest cast=(void *),flags=no_in |
| * @param src cast=(const void *) |
| * @param size cast=(size_t) |
| */ |
| public static final native void memmove(PangoLogAttr dest, long src, long size); |
| /** @param attribute cast=(const PangoAttribute *) */ |
| public static final native long pango_attribute_copy(long attribute); |
| public static final native long pango_attr_background_new(short red, short green, short blue); |
| /** @param desc cast=(const PangoFontDescription *) */ |
| public static final native long pango_attr_font_desc_new(long desc); |
| public static final native long pango_attr_foreground_new(short red, short green, short blue); |
| public static final native long pango_attr_rise_new(int rise); |
| /** |
| * @param ink_rect flags=no_out |
| * @param logical_rect flags=no_out |
| */ |
| public static final native long pango_attr_shape_new(PangoRectangle ink_rect, PangoRectangle logical_rect); |
| /** |
| * @param list cast=(PangoAttrList *) |
| * @param attr cast=(PangoAttribute *) |
| */ |
| public static final native void pango_attr_list_insert(long list, long attr); |
| /** @param list cast=(PangoAttrList *) */ |
| public static final native long pango_attr_list_get_iterator(long list); |
| /** @param iterator cast=(PangoAttrIterator *) */ |
| public static final native boolean pango_attr_iterator_next(long iterator); |
| /** |
| * @param iterator cast=(PangoAttrIterator *) |
| * @param start cast=(gint *) |
| * @param end cast=(gint *) |
| */ |
| public static final native void pango_attr_iterator_range(long iterator, int[] start, int[] end); |
| /** |
| * @param iterator cast=(PangoAttrIterator *) |
| * @param type cast=(PangoAttrType) |
| */ |
| public static final native long pango_attr_iterator_get(long iterator, int type); |
| /** @param iterator cast=(PangoAttrIterator *) */ |
| public static final native void pango_attr_iterator_destroy(long iterator); |
| public static final native long pango_attr_list_new(); |
| /** @param list cast=(PangoAttrList *) */ |
| public static final native void pango_attr_list_unref(long list); |
| public static final native long pango_attr_strikethrough_color_new(short red, short green, short blue); |
| public static final native long pango_attr_strikethrough_new(boolean strikethrough); |
| public static final native long pango_attr_underline_color_new(short red, short green, short blue); |
| public static final native long pango_attr_underline_new(int underline); |
| public static final native long pango_attr_weight_new(int weight); |
| /** |
| * @param cairo cast=(cairo_t *) |
| */ |
| public static final native long pango_cairo_create_layout(long cairo); |
| public static final native long pango_cairo_font_map_get_default(); |
| /** |
| * @param context cast=(PangoContext *) |
| */ |
| public static final native long pango_cairo_context_get_font_options(long context); |
| /** |
| * @param context cast=(PangoContext *) |
| * @param options cast=( cairo_font_options_t *) |
| */ |
| public static final native void pango_cairo_context_set_font_options(long context, long options); |
| /** |
| * @param cairo cast=(cairo_t *) |
| * @param layout cast=(PangoLayout *) |
| */ |
| public static final native void pango_cairo_layout_path(long cairo, long layout); |
| /** |
| * @param cairo cast=(cairo_t *) |
| * @param layout cast=(PangoLayout *) |
| */ |
| public static final native void pango_cairo_show_layout(long cairo, long layout); |
| /** @param context cast=(PangoContext *) */ |
| public static final native int pango_context_get_base_dir(long context); |
| /** @param context cast=(PangoContext *) */ |
| public static final native long pango_context_get_language(long context); |
| /** |
| * @param context cast=(PangoContext *) |
| * @param desc cast=(const PangoFontDescription *) |
| * @param language cast=(PangoLanguage *) |
| */ |
| public static final native long pango_context_get_metrics(long context, long desc, long language); |
| /** |
| * @param context cast=(PangoContext *) |
| * @param families cast=(PangoFontFamily ***) |
| * @param n_families cast=(int *) |
| */ |
| public static final native void pango_context_list_families(long context, long [] families, int[] n_families); |
| /** @param context cast=(PangoContext *) */ |
| public static final native void pango_context_set_base_dir(long context, int direction); |
| /** |
| * @param context cast=(PangoContext *) |
| * @param language cast=(PangoLanguage *) |
| */ |
| public static final native void pango_context_set_language(long context, long language); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native long pango_font_description_copy(long desc); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native void pango_font_description_free(long desc); |
| /** @param str cast=(const char *),flags=no_out critical */ |
| public static final native long pango_font_description_from_string(byte[] str); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native long pango_font_description_get_family(long desc); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native int pango_font_description_get_size(long desc); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native int pango_font_description_get_stretch(long desc); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native int pango_font_description_get_variant(long desc); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native int pango_font_description_get_style(long desc); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native int pango_font_description_get_weight(long desc); |
| public static final native long pango_font_description_new(); |
| /** |
| * @param desc cast=(PangoFontDescription *) |
| * @param family cast=(const char *),flags=no_out critical |
| */ |
| public static final native void pango_font_description_set_family(long desc, byte[] family); |
| /** |
| * @param desc cast=(PangoFontDescription *) |
| * @param size cast=(gint) |
| */ |
| public static final native void pango_font_description_set_size(long desc, int size); |
| /** |
| * @param desc cast=(PangoFontDescription *) |
| * @param stretch cast=(PangoStretch) |
| */ |
| public static final native void pango_font_description_set_stretch(long desc, int stretch); |
| /** |
| * @param desc cast=(PangoFontDescription *) |
| * @param weight cast=(PangoStyle) |
| */ |
| public static final native void pango_font_description_set_style(long desc, int weight); |
| /** |
| * @param desc cast=(PangoFontDescription *) |
| * @param weight cast=(PangoWeight) |
| */ |
| public static final native void pango_font_description_set_weight(long desc, int weight); |
| /** |
| * @param desc cast=(PangoFontDescription *) |
| * @param variant cast=(PangoVariant) |
| */ |
| public static final native void pango_font_description_set_variant(long desc, int variant); |
| /** @param desc cast=(PangoFontDescription *) */ |
| public static final native long pango_font_description_to_string(long desc); |
| /** @param face cast=(PangoFontFace *) */ |
| public static final native long pango_font_face_describe(long face); |
| /** @param family cast=(PangoFontFamily *) */ |
| public static final native long pango_font_family_get_name(long family); |
| /** |
| * @param family cast=(PangoFontFamily *) |
| * @param faces cast=(PangoFontFace ***) |
| * @param n_faces cast=(int *) |
| */ |
| public static final native void pango_font_family_list_faces(long family, long [] faces, int[] n_faces); |
| /** |
| * @param fontMap cast=(PangoFontMap *) |
| */ |
| public static final native long pango_font_map_create_context(long fontMap); |
| /** @param metrics cast=(PangoFontMetrics *) */ |
| public static final native int pango_font_metrics_get_approximate_char_width(long metrics); |
| /** @param metrics cast=(PangoFontMetrics *) */ |
| public static final native int pango_font_metrics_get_ascent(long metrics); |
| /** @param metrics cast=(PangoFontMetrics *) */ |
| public static final native int pango_font_metrics_get_descent(long metrics); |
| /** @param metrics cast=(PangoFontMetrics *) */ |
| public static final native void pango_font_metrics_unref(long metrics); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native void pango_layout_context_changed(long layout); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native int pango_layout_get_alignment(long layout); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native long pango_layout_get_context(long layout); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native int pango_layout_get_indent(long layout); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native long pango_layout_get_iter(long layout); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native boolean pango_layout_get_justify(long layout); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native long pango_layout_get_line(long layout, int line); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native int pango_layout_get_line_count(long layout); |
| /** |
| * @param layout cast=(PangoLayout*) |
| * @param attrs cast=(PangoLogAttr **) |
| * @param n_attrs cast=(int *) |
| */ |
| public static final native void pango_layout_get_log_attrs(long layout, long [] attrs, int[] n_attrs); |
| /** |
| * @param layout cast=(PangoLayout *) |
| * @param width cast=(int *) |
| * @param height cast=(int *) |
| */ |
| public static final native void pango_layout_get_size(long layout, int[] width, int[] height); |
| /** |
| * @param layout cast=(PangoLayout *) |
| * @param width cast=(int *) |
| * @param height cast=(int *) |
| */ |
| public static final native void pango_layout_get_pixel_size(long layout, int[] width, int[] height); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native int pango_layout_get_spacing(long layout); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native long pango_layout_get_text(long layout); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native int pango_layout_get_width(long layout); |
| /** |
| * @param layout cast=(PangoLayout*) |
| * @param pos flags=no_in |
| */ |
| public static final native void pango_layout_index_to_pos(long layout, int index, PangoRectangle pos); |
| /** @param iter cast=(PangoLayoutIter*) */ |
| public static final native void pango_layout_iter_free(long iter); |
| /** |
| * @param iter cast=(PangoLayoutIter*) |
| * @param ink_rect flags=no_in |
| * @param logical_rect flags=no_in |
| */ |
| public static final native void pango_layout_iter_get_line_extents(long iter, PangoRectangle ink_rect, PangoRectangle logical_rect); |
| /** @param iter cast=(PangoLayoutIter*) */ |
| public static final native int pango_layout_iter_get_index(long iter); |
| /** @param iter cast=(PangoLayoutIter*) */ |
| public static final native long pango_layout_iter_get_run(long iter); |
| /** @param iter cast=(PangoLayoutIter*) */ |
| public static final native boolean pango_layout_iter_next_line(long iter); |
| /** @param iter cast=(PangoLayoutIter*) */ |
| public static final native boolean pango_layout_iter_next_run(long iter); |
| /** |
| * @param line cast=(PangoLayoutLine*) |
| * @param ink_rect cast=(PangoRectangle *),flags=no_in |
| * @param logical_rect cast=(PangoRectangle *),flags=no_in |
| */ |
| public static final native void pango_layout_line_get_extents(long line, PangoRectangle ink_rect, PangoRectangle logical_rect); |
| /** @param context cast=(PangoContext *) */ |
| public static final native long pango_layout_new(long context); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native void pango_layout_set_alignment(long layout, int alignment); |
| /** |
| * @param layout cast=(PangoLayout *) |
| * @param attrs cast=(PangoAttrList *) |
| */ |
| public static final native void pango_layout_set_attributes(long layout, long attrs); |
| /** |
| * @param layout cast=(PangoLayout *) |
| */ |
| public static final native void pango_layout_set_auto_dir(long layout, boolean auto_dir); |
| /** |
| * @param context cast=(PangoLayout *) |
| * @param descr cast=(PangoFontDescription *) |
| */ |
| public static final native void pango_layout_set_font_description(long context, long descr); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native void pango_layout_set_indent(long layout, int indent); |
| /** @param layout cast=(PangoLayout*) */ |
| public static final native void pango_layout_set_justify(long layout, boolean justify); |
| /** |
| * @param context cast=(PangoLayout *) |
| * @param setting cast=(gboolean) |
| */ |
| public static final native void pango_layout_set_single_paragraph_mode(long context, boolean setting); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native void pango_layout_set_spacing(long layout, int spacing); |
| /** |
| * @param layout cast=(PangoLayout *) |
| * @param tabs cast=(PangoTabArray *) |
| */ |
| public static final native void pango_layout_set_tabs(long layout, long tabs); |
| /** |
| * @param layout cast=(PangoLayout *) |
| * @param text cast=(const char *),flags=no_out critical |
| * @param length cast=(int) |
| */ |
| public static final native void pango_layout_set_text(long layout, byte[] text, int length); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native void pango_layout_set_width(long layout, int width); |
| /** @param layout cast=(PangoLayout *) */ |
| public static final native void pango_layout_set_wrap(long layout, int wrap); |
| /** |
| * @param layout cast=(PangoLayout *) |
| * @param index cast=(int *) |
| * @param trailing cast=(int *) |
| */ |
| public static final native boolean pango_layout_xy_to_index(long layout, int x, int y, int[] index, int[] trailing); |
| /** @param tab_array cast=(PangoTabArray *) */ |
| public static final native void pango_tab_array_free(long tab_array); |
| /** |
| * @param initial_size cast=(gint) |
| * @param positions_in_pixels cast=(gboolean) |
| */ |
| public static final native long pango_tab_array_new(int initial_size, boolean positions_in_pixels); |
| /** |
| * @param tab_array cast=(PangoTabArray *) |
| * @param tab_index cast=(gint) |
| * @param alignment cast=(PangoTabAlign) |
| * @param location cast=(gint) |
| */ |
| public static final native void pango_tab_array_set_tab(long tab_array, int tab_index, long alignment, int location); |
| /** |
| * @method flags=dynamic |
| */ |
| public static final native long ubuntu_menu_proxy_get(); |
| /** |
| * @param s1 cast=(const char*) |
| * @param s2 cast=(const char*) |
| */ |
| public static final native int strcmp (long s1, byte [] s2); |
| |
| /** |
| * Theme name as given by OS. |
| * You can see the exact theme name via Tweak Tools -> Appearance -> Themes. |
| * E.g |
| * Adwaita |
| * Adwaita-Dark |
| * Ambiance (Ubuntu). |
| * |
| * See also: Device.overrideThemeValues(); |
| */ |
| public static final String getThemeName() { |
| byte[] themeNameBytes = getThemeNameBytes(); |
| String themeName = "unknown"; |
| if (themeNameBytes != null && themeNameBytes.length > 0) { |
| themeName = new String (Converter.mbcsToWcs (themeNameBytes)); |
| } |
| return themeName; |
| } |
| |
| public static final byte [] getThemeNameBytes() { |
| byte [] buffer = null; |
| int length; |
| long settings = GTK.gtk_settings_get_default (); |
| long [] ptr = new long [1]; |
| OS.g_object_get (settings, GTK.gtk_theme_name, ptr, 0); |
| if (ptr [0] == 0) { |
| return buffer; |
| } |
| length = C.strlen (ptr [0]); |
| if (length == 0) { |
| return buffer; |
| } |
| /* String will be passed to C function later, needs to be zero-terminated */ |
| buffer = new byte [length + 1]; |
| C.memmove (buffer, ptr [0], length); |
| OS.g_free (ptr [0]); |
| return buffer; |
| } |
| |
| /** |
| * Hint GTK 3 to natively prefer a dark or light theme. |
| * <p> |
| * Note: This method gets called from the org.eclipse.e4.ui.swt.gtk fragment. |
| * </p> |
| * |
| * @since 3.104 |
| */ |
| public static final void setDarkThemePreferred(boolean preferred) { |
| g_object_set(GTK.gtk_settings_get_default(), GTK.gtk_application_prefer_dark_theme, preferred, 0); |
| g_object_notify(GTK.gtk_settings_get_default(), GTK.gtk_application_prefer_dark_theme); |
| } |
| |
| /** |
| * @param tmpl cast=(const gchar *) |
| * @param error cast=(GError **) |
| */ |
| public static final native long g_dir_make_tmp(long tmpl, long [] error); |
| |
| /** |
| * @param info cast=(GDBusInterfaceInfo *) |
| * @param name cast=(const gchar *) |
| * @param object_path cast=(const gchar *) |
| * @param interface_name cast=(const gchar *) |
| * @param cancellable cast=(GCancellable *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_proxy_new_for_bus_sync(int bus_type, int flags, long info, byte [] name, byte [] object_path, byte [] interface_name, |
| long cancellable, long [] error); |
| |
| /** |
| * @param proxy cast=(GDBusProxy *) |
| * @param method_name cast=(const gchar *) |
| * @param parameters cast=(GVariant *) |
| * @param cancellable cast=(GCancellable *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_proxy_call_sync (long proxy, byte[] method_name, long parameters, int flags, int timeout_msec, long cancellable, long [] error); |
| |
| /** |
| * @param proxy cast=(GDBusProxy *) |
| * @param method_name cast=(const gchar *) |
| * @param parameters cast=(GVariant *) |
| * @param cancellable cast=(GCancellable *) |
| * @param callback cast=(GAsyncReadyCallback) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native void g_dbus_proxy_call (long proxy, byte[] method_name, long parameters, int flags, int timeout_msec, long cancellable, long callback, long [] error); |
| |
| /** |
| * @param proxy cast=(GDBusProxy *) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_proxy_get_name_owner(long proxy); |
| |
| /** |
| * @param xml_data cast=(const gchar *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_node_info_new_for_xml(byte[] xml_data, long [] error); |
| |
| /** |
| * @param bus_type cast=(GBusType) |
| * @param name cast=(const gchar *) |
| * @param flags cast=(GBusNameOwnerFlags) |
| * @param bus_acquired_handler cast=(GBusAcquiredCallback) |
| * @param name_acquired_handler cast=(GBusNameAcquiredCallback) |
| * @param name_lost_handler cast=(GBusNameLostCallback) |
| * @param user_data cast=(gpointer) |
| * @param user_data_free_func cast=(GDestroyNotify) |
| * @category gdbus |
| */ |
| public static final native int g_bus_own_name(int bus_type, byte[] name, int flags, long bus_acquired_handler, long name_acquired_handler, long name_lost_handler, long user_data, long user_data_free_func); |
| |
| /** |
| * @param connection cast=(GDBusConnection *) |
| * @param bus_name cast=(const gchar *) |
| * @param object_path cast=(const gchar *) |
| * @param interface_name cast=(const gchar *) |
| * @param method_name cast=(const gchar *) |
| * @param param cast=(GVariant *) |
| * @param reply_type cast=(const GVariantType *) |
| * @param cancellable cast=(GCancellable *) |
| * @param callback cast=(GAsyncReadyCallback) |
| * @param user_data cast=(gpointer) |
| * @category gdbus |
| */ |
| public static final native void g_dbus_connection_call(long connection, byte [] bus_name, byte [] object_path, byte [] interface_name, byte [] method_name, long param, long reply_type, int flag, int timeout, long cancellable, long callback, long user_data); |
| |
| /** |
| * @param proxy cast=(GDBusConnection *) |
| * @param res cast=(GAsyncResult *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_connection_call_finish(long proxy, long res, long [] error); |
| |
| /** |
| * @param connection cast=(GDBusConnection *) |
| * @param bus_name cast=(const gchar *) |
| * @param object_path cast=(const gchar *) |
| * @param interface_name cast=(const gchar *) |
| * @param method_name cast=(const gchar *) |
| * @param param cast=(GVariant *) |
| * @param reply_type cast=(const GVariantType *) |
| * @param cancellable cast=(GCancellable *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_connection_call_sync(long connection, byte [] bus_name, byte [] object_path, byte [] interface_name, byte [] method_name, long param, long reply_type, int flag, int timeout, long cancellable, long [] error); |
| |
| /** |
| * @param connection cast=(GDBusConnection *) |
| * @param cancellable cast=(GCancellable *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native boolean g_dbus_connection_close_sync(long connection, long cancellable, long [] error); |
| |
| /** |
| * @param connection cast=(GDBusConnection *) |
| * @category gdbus |
| */ |
| public static final native boolean g_dbus_connection_is_closed(long connection); |
| |
| /** |
| * @param address cast=(const gchar *) |
| * @param observer cast=(GDBusAuthObserver *) |
| * @param cancellable cast=(GCancellable *) |
| * @param callback cast=(GAsyncReadyCallback) |
| * @param user_data cast=(gpointer) |
| * @category gdbus |
| */ |
| public static final native void g_dbus_connection_new_for_address(byte[] address, int flags, long observer, long cancellable, long callback, long user_data); |
| |
| /** |
| * @param result cast=(GAsyncResult *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_connection_new_for_address_finish(long result, long [] error); |
| |
| /** |
| * @param connection cast=(GDBusConnection *) |
| * @param object_path cast=(const gchar *) |
| * @param interface_info cast=(GDBusInterfaceInfo *) |
| * @param vtable cast=(const GDBusInterfaceVTable *) |
| * @param user_data cast=(gpointer) |
| * @param user_data_free_func cast=(GDestroyNotify) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native int g_dbus_connection_register_object(long connection, byte[] object_path, long interface_info, long [] vtable, long user_data, long user_data_free_func, long [] error); |
| |
| /** |
| * @param info cast=(GDBusNodeInfo *) |
| * @param name cast=(const gchar *) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_node_info_lookup_interface(long info, byte [] name); |
| |
| /** |
| * @param invocation cast=(GDBusMethodInvocation *) |
| * @param parameters cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native void g_dbus_method_invocation_return_value(long invocation, long parameters); |
| |
| /** |
| * @param address cast=(const gchar *) |
| * @param flags cast=(GDBusServerFlags) |
| * @param guid cast=(const gchar *) |
| * @param observer cast=(GDBusAuthObserver *) |
| * @param cancellable cast=(GCancellable *) |
| * @param error cast=(GError **) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_server_new_sync(long address, int flags, long guid, long observer, long cancellable, long [] error); |
| |
| /** |
| * @param server cast=(GDBusServer *) |
| * @category gdbus |
| */ |
| public static final native void g_dbus_server_start(long server); |
| |
| /** |
| * @param server cast=(GDBusServer *) |
| * @category gdbus |
| */ |
| public static final native void g_dbus_server_stop(long server); |
| |
| /** |
| * @param server cast=(GDBusServer *) |
| * @category gdbus |
| */ |
| public static final native long g_dbus_server_get_client_address(long server); |
| |
| /** |
| * @category gdbus |
| */ |
| public static final native long g_dbus_auth_observer_new(); |
| |
| /** |
| * @category gdbus |
| */ |
| public static final native long g_dbus_generate_guid(); |
| |
| /** |
| * @param type cast=(const GVariantType *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_builder_new(long type); |
| |
| /** |
| * @param builder cast=(GVariantBuilder *) |
| * @param value cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native void g_variant_builder_add_value(long builder, long value); |
| |
| /** |
| * @param type cast=(GVariantType *) |
| * @category gdbus |
| */ |
| public static final native void g_variant_type_free(long type); |
| |
| /** |
| * @param type cast=(const gchar *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_type_new(byte [] type); |
| |
| /** |
| * @param builder cast=(GVariantBuilder *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_builder_end(long builder); |
| |
| /** |
| * @param builder cast=(GVariantBuilder *) |
| * @category gdbus |
| */ |
| public static final native void g_variant_builder_unref(long builder); |
| |
| /** |
| * @param format_string cast=(const gchar *),flags=no_out |
| * @param arg0 cast=(const gchar *),flags=no_out |
| * @category gdbus |
| */ |
| public static final native long g_variant_new (byte[] format_string, byte[] arg0); |
| |
| /** |
| * @param format_string cast=(const gchar *),flags=no_out |
| * @param arg0 cast=(gboolean) |
| * @param arg1 cast=(const gchar *),flags=no_out |
| * @category gdbus |
| */ |
| public static final native long g_variant_new (byte[] format_string, boolean arg0, byte[] arg1); |
| |
| /** |
| * @param format_string cast=(const gchar *),flags=no_out |
| * @param arg0 cast=(const gchar *),flags=no_out |
| * @param arg1 cast=(const gchar *),flags=no_out |
| * @category gdbus |
| */ |
| public static final native long g_variant_new (byte[] format_string, byte[] arg0, byte[] arg1); |
| |
| /** |
| * @param intval cast=(gint32) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_int32(int intval); |
| |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| * @return int |
| */ |
| public static final native int g_variant_get_int32(long gvariant); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| * @return guchar |
| */ |
| public static final native byte g_variant_get_byte(long gvariant); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native boolean g_variant_get_boolean(long gvariant); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @param index cast=(gsize) |
| * @category gdbus |
| */ |
| public static final native long g_variant_get_child_value(long gvariant, int index); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native double g_variant_get_double(long gvariant); |
| |
| public static final native long g_variant_new_uint64(long value); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_get_uint64(long gvariant); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @param length cast=(gsize *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_get_string(long gvariant, long[] length); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_get_type_string(long gvariant); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @param type cast=(const GVariantType *) |
| * @category gdbus |
| */ |
| public static final native boolean g_variant_is_of_type(long gvariant, byte[] type); |
| |
| /** |
| * @param gvariant cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_n_children(long gvariant); |
| |
| /** |
| * @param value cast=(gboolean) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_boolean(boolean value); |
| |
| /** |
| * @param value cast=(gboolean) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_double(double value); |
| |
| /** |
| * @param value cast=(guchar) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_byte(byte value); |
| |
| /** |
| * @param items cast=(GVariant * const *) |
| * @param length cast=(gsize) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_tuple(long [] items, long length); |
| |
| /** |
| * @param string cast=(const gchar *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_string(byte[] string); |
| |
| /** |
| * @param string cast=(const gchar *) |
| * @category gdbus |
| */ |
| public static final native long g_variant_new_string(long string); |
| |
| /** |
| * @param value cast=(GVariant *) |
| * @category gdbus |
| */ |
| public static final native void g_variant_unref(long value); |
| |
| /** |
| * @param object cast=(GObject *) |
| */ |
| public static final native long g_object_ref_sink(long object); |
| |
| /** |
| * @param dateTime cast=(GDateTime *) |
| * @param year cast=(gint *) |
| * @param month cast=(gint *) |
| * @param day cast=(gint *) |
| */ |
| public static final native void g_date_time_get_ymd(long dateTime, int[] year, int[] month, int[] day); |
| |
| public static final native long g_date_time_new_local(int year, int month, int day, int hour, int minute, double seconds); |
| |
| } |