changeset 15:758bbbe4b86a

Fixup gtk bindings; OS.d updates
author John Reimer<terminal.node@gmail.com>
date Sun, 06 Jan 2008 13:35:33 -0800
parents 5f725d09c076
children 0a61cfe9ff23
files dwt/internal/gtk/OS.d dwt/internal/gtk/c/gobjecttypes.d dwt/internal/gtk/c/gtk.d dwt/internal/gtk/c/gtktypes.d test.d
diffstat 5 files changed, 841 insertions(+), 1304 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/internal/gtk/OS.d	Sat Jan 05 15:13:44 2008 -0800
+++ b/dwt/internal/gtk/OS.d	Sun Jan 06 13:35:33 2008 -0800
@@ -17,6 +17,16 @@
 import dwt.internal.Platform;
 import tango.core.Traits;
 
+import  dwt.internal.gtk.c.gtk,
+        dwt.internal.gtk.c.gdk,
+        dwt.internal.gtk.c.atk,
+        dwt.internal.gtk.c.glib,
+        dwt.internal.gtk.c.cairo,
+        dwt.internal.gtk.c.pango,
+        dwt.internal.gtk.c.gobject,
+        dwt.internal.gtk.c.gthread,
+        dwt.internal.gtk.c.gdkpixbuf;
+
 template NameOfFunc(alias f) {
     // Note: highly dependent on the .stringof formatting
     // the value begins with "& " which is why the first two chars are cut off
@@ -35,1115 +45,6 @@
 
 //import dwt.internal.*;
 
-// opaque structs used in the parameters
-// they do not have a separated module
-public {
-    struct GtkEntry{}
-    struct GtkWidget{}
-    struct PangoLayout{}
-}
-
-private extern(C){
-//  int /*long*/ localeconv_decimal_point();
-//  int /*long*/ realpath(byte[] path, byte[] realPath);
-//  int GTK_WIDGET_HEIGHT(int /*long*/ widget);
-//  int GTK_WIDGET_WIDTH(int /*long*/ widget);
-//  int /*long*/ GTK_WIDGET_WINDOW(int /*long*/ widget);
-//  int GTK_WIDGET_X(int /*long*/ widget);
-//  int GTK_WIDGET_Y(int /*long*/ widget);
-//  int /*long*/ GTK_SCROLLED_WINDOW_HSCROLLBAR(int /*long*/ widget);
-//  int /*long*/ GTK_SCROLLED_WINDOW_VSCROLLBAR(int /*long*/ widget);
-//  int GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(int /*long*/ widget);
-//  void GTK_ACCEL_LABEL_SET_ACCEL_STRING(int /*long*/ acce_label, int /*long*/ string);
-//  int /*long*/ GTK_ACCEL_LABEL_GET_ACCEL_STRING(int /*long*/ acce_label);
-//  int /*long*/ GTK_ENTRY_IM_CONTEXT(int /*long*/ widget);
-//  int /*long*/ GTK_TEXTVIEW_IM_CONTEXT(int /*long*/ widget);
-//  int /*long*/ GTK_TOOLTIPS_TIP_WINDOW(int /*long*/ widget);
-//  void GTK_TOOLTIPS_SET_ACTIVE(int /*long*/ widget, int /*long*/ data);
-//  void GTK_WIDGET_SET_HEIGHT(int /*long*/ widget, int height);
-//  void GTK_WIDGET_SET_WIDTH(int /*long*/ widget, int width);
-//  void GTK_WIDGET_SET_X(int /*long*/ widget, int x);
-//  void GTK_WIDGET_SET_Y(int /*long*/ widget, int y);
-//  int GTK_WIDGET_REQUISITION_WIDTH(int /*long*/ widget);
-//  int GTK_WIDGET_REQUISITION_HEIGHT(int /*long*/ widget);
-//  int GDK_EVENT_TYPE(int /*long*/ event);
-//  int /*long*/ GDK_EVENT_WINDOW(int /*long*/ event);
-//  int X_EVENT_TYPE(int /*long*/ xevent);
-//  int /*long*/ X_EVENT_WINDOW(int /*long*/ xevent);
-//  int _Call(int /*long*/ proc, int /*long*/ arg1, int /*long*/ arg2);
-//  int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4, int /*long*/ arg5, int /*long*/ arg6);
-//  bool GDK_WINDOWING_X11();
-//  int /*long*/ _GDK_PIXMAP_XID(int /*long*/ pixmap);
-//  bool _XCheckMaskEvent(int /*long*/ display, int /*long*/ event_mask, int /*long*/ event_return);
-//  bool _XCheckWindowEvent(int /*long*/ display, int /*long*/ window, int /*long*/ event_mask, int /*long*/ event_return);
-//  bool _XCheckIfEvent(int /*long*/ display, int /*long*/ event_return, int /*long*/ predicate, int /*long*/ arg);
-//  int _XDefaultScreen(int /*long*/ display);
-//  int /*long*/ _XDefaultRootWindow(int /*long*/ display);
-//  void _XFlush(int /*long*/ display);
-//  void _XFree(int /*long*/ address);
-//  int /*long*/ _XGetSelectionOwner(int /*long*/ display, int /*long*/ selection);
-//  int /*long*/ _XInternAtom(int /*long*/ display, byte[] name, bool ifExists);
-//  int _XQueryTree(int /*long*/ display, int /*long*/ w, int /*long*/[] root_return, int /*long*/[] parent_return, int /*long*/[] children_return, int[] nchildren_return);
-//  int _XKeysymToKeycode(int /*long*/ display, int /*long*/ keysym);
-//  int /*long*/ _XListProperties(int /*long*/ display, int /*long*/ window, int[] num_prop_return);
-//  int _XReconfigureWMWindow(int /*long*/ display, int /*long*/ window, int screen, int valueMask, XWindowChanges values);
-//  int _XSendEvent(int /*long*/ display, int /*long*/ w, bool propogate, int /*long*/ event_mask, int /*long*/ event_send);
-//  int /*long*/ _XSetIOErrorHandler(int /*long*/ handler);
-//  int /*long*/ _XSetErrorHandler(int /*long*/ handler);
-//  int _XSetInputFocus(int /*long*/ display, int /*long*/ window, int revert, int time);
-//  int /*long*/ _XSynchronize(int /*long*/ display, bool onoff);
-//  void _XTestFakeButtonEvent(int /*long*/ display, int button, bool is_press, int /*long*/ delay);
-//  void _XTestFakeKeyEvent(int /*long*/ display, int keycode, bool is_press, int /*long*/ delay);
-//  void _XTestFakeMotionEvent(int /*long*/ display, int screen_number, int x, int y, int /*long*/ delay);
-//  int _XWarpPointer(int /*long*/ display, int /*long*/ sourceWindow, int /*long*/ destWindow, int sourceX, int sourceY, int sourceWidth, int sourceHeight, int destX, int destY);
-//  int /*long*/ _gdk_x11_atom_to_xatom(int /*long*/ atom);
-//  int /*long*/ _gdk_x11_colormap_get_xcolormap(int /*long*/ colormap);
-//  int /*long*/ _gdk_x11_drawable_get_xdisplay(int /*long*/ drawable);
-//  int /*long*/ _gdk_x11_drawable_get_xid(int /*long*/ drawable);
-//  int /*long*/ _gdk_x11_screen_lookup_visual(int /*long*/ screen, int xvisualid);
-//  int /*long*/ _gdk_x11_screen_get_window_manager_name(int /*long*/ screen);
-//  int /*long*/ _gdk_x11_visual_get_xvisual(int /*long*/ visual);
-//  int /*long*/ _gdk_pixmap_foreign_new(int /*long*/ anid);
-//  int /*long*/ _gdk_window_lookup(int /*long*/ xid);
-//  void _gdk_window_add_filter(int /*long*/ window, int /*long*/ function, int /*long*/ data);
-//  void _gdk_window_remove_filter(int /*long*/ window, int /*long*/ function, int /*long*/ data);
-// /** X render natives and constants */
-//  int XRenderPictureAttributes_sizeof();
-//  bool _XRenderQueryExtension(int /*long*/ display, int[] event_basep, int[] error_basep);
-//  int _XRenderQueryVersion(int /*long*/ display, int[] major_versionp, int[] minor_versionp);
-//  int /*long*/ _XRenderCreatePicture(int /*long*/ display, int /*long*/ drawable, int /*long*/ format, int /*long*/ valuemask, XRenderPictureAttributes attributes);
-//  void _XRenderSetPictureClipRectangles(int /*long*/ display, int /*long*/ picture, int xOrigin, int yOrigin, short[] rects, int count);
-//  void _XRenderSetPictureTransform(int /*long*/ display, int /*long*/ picture, int[] transform);
-//  void _XRenderFreePicture(int /*long*/ display, int /*long*/ picture);
-//  void _XRenderComposite(int /*long*/ display, int op, int /*long*/ src, int /*long*/ mask, int /*long*/ dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, int width, int height);
-//  int /*long*/ _XRenderFindStandardFormat(int /*long*/ display, int format);
-//  int /*long*/ _XRenderFindVisualFormat(int /*long*/ display, int /*long*/ visual);
-//  int Call (int /*long*/ func, int /*long*/ arg0, int arg1, int arg2);
-//  int /*long*/ _GDK_DISPLAY();
-//  int /*long*/ _GDK_ROOT_PARENT();
-//  int /*long*/ _GDK_TYPE_COLOR();
-//  int /*long*/ _GDK_TYPE_PIXBUF();
-//  bool _GTK_IS_BUTTON(int /*long*/ obj);
-//  bool _GTK_IS_WINDOW(int /*long*/ obj);
-//  bool _GTK_IS_CELL_RENDERER_PIXBUF(int /*long*/ obj);
-//  bool _GTK_IS_CELL_RENDERER_TEXT(int /*long*/ obj);
-//  bool _GTK_IS_CELL_RENDERER_TOGGLE(int /*long*/ obj);
-//  bool _GTK_IS_CONTAINER(int /*long*/ obj);
-//  bool _GTK_IS_IMAGE_MENU_ITEM(int /*long*/ obj);
-//  bool _GTK_IS_PLUG(int /*long*/ obj);
-//  int /*long*/ _GTK_STOCK_CANCEL();
-//  int /*long*/ _GTK_STOCK_OK();
-//  int /*long*/ _GTK_TYPE_CELL_RENDERER_TEXT();
-//  int /*long*/ _GTK_TYPE_CELL_RENDERER_PIXBUF();
-//  int /*long*/ _GTK_TYPE_CELL_RENDERER_TOGGLE();
-//  int /*long*/ _GTK_TYPE_FIXED();
-//  int /*long*/ _GTK_TYPE_MENU();
-//  int /*long*/ _GTK_TYPE_WIDGET();
-//  int _GTK_WIDGET_FLAGS(int /*long*/ wid);
-//  int _GTK_WIDGET_STATE(int /*long*/ wid);
-//  bool _GTK_WIDGET_HAS_DEFAULT(int /*long*/ wid);
-//  bool _GTK_WIDGET_HAS_FOCUS(int /*long*/ wid);
-//  bool _GTK_WIDGET_IS_SENSITIVE(int /*long*/ wid);
-//  bool _GTK_WIDGET_MAPPED(int /*long*/ wid);
-//  bool _GTK_WIDGET_SENSITIVE(int /*long*/ wid);
-//  void _GTK_WIDGET_SET_FLAGS(int /*long*/ wid, int flag);
-//  void _GTK_WIDGET_UNSET_FLAGS(int /*long*/ wid, int flag);
-//  bool _GTK_WIDGET_VISIBLE(int /*long*/ wid);
-//  int /*long*/ _G_OBJECT_CLASS (int /*long*/ klass);
-//  int /*long*/ _G_OBJECT_GET_CLASS (int /*long*/ object);
-//  int /*long*/ _G_OBJECT_TYPE_NAME (int /*long*/ object);
-//  int /*long*/ _G_TYPE_BOOLEAN();
-//  int /*long*/ _G_TYPE_INT();
-//  int /*long*/ _G_OBJECT_TYPE (int /*long*/ instance);
-//  int /*long*/ _G_TYPE_STRING();
-//  int _PANGO_PIXELS(int dimension);
-//  int /*long*/ _PANGO_TYPE_FONT_DESCRIPTION();
-//  int /*long*/ _g_cclosure_new(int /*long*/ callback_func, int /*long*/ user_data, int /*long*/ destroy_data);
-//  int /*long*/ _g_closure_ref(int /*long*/ closure);
-//  void _g_closure_unref(int /*long*/ closure);
-//  bool _g_main_context_acquire(int /*long*/ context);
-//  int _g_main_context_check(int /*long*/ context, int max_priority, int /*long*/ fds, int n_fds);
-//  int /*long*/ _g_main_context_default();
-//  bool _g_main_context_iteration(int /*long*/ context, bool may_block);
-//  bool _g_main_context_pending(int /*long*/ context);
-//  int /*long*/ _g_main_context_get_poll_func(int /*long*/ context);
-//  bool _g_main_context_prepare(int /*long*/ context, int[] priority);
-//  int _g_main_context_query(int /*long*/ context, int max_priority, int[] timeout_, int /*long*/ fds, int n_fds);
-//  void _g_main_context_release(int /*long*/ context);
-//  void g_main_context_wakeup(int /*long*/ context);
-//  int /*long*/ _g_filename_to_utf8(int /*long*/ opsysstring, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-//  int /*long*/ _g_filename_to_uri(int /*long*/ filename, int /*long*/ hostname, int /*long*/[] error);
-//  int /*long*/ _g_filename_from_utf8(int /*long*/ opsysstring, int /*long*/ len,  int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-//  int /*long*/ _g_filename_from_uri(int /*long*/ uri, int /*long*/[] hostname, int /*long*/[] error);
-//  void _g_free(int /*long*/ mem);
-//  int _g_idle_add(int /*long*/ function, int /*long*/ data);
-//  int /*long*/ _g_list_append(int /*long*/ list, int /*long*/ data);
-//  int /*long*/ _g_list_data(int /*long*/ list);
-//  void _g_list_free(int /*long*/ list);
-//  void _g_list_free_1(int /*long*/ list);
-//  int _g_list_length(int /*long*/ list);
-//  void _g_list_set_next(int /*long*/ list, int /*long*/ llist);
-//  int /*long*/ _g_list_next(int /*long*/ list);
-//  int /*long*/ _g_list_nth(int /*long*/ list, int n);
-//  int /*long*/ _g_list_nth_data(int /*long*/ list, int n);
-//  int /*long*/ _g_list_prepend(int /*long*/ list, int /*long*/ data);
-//  void _g_list_set_previous(int /*long*/ list, int /*long*/ llist);
-//  int /*long*/ _g_list_previous(int /*long*/ list);
-//  int /*long*/ _g_list_remove_link(int /*long*/ list, int /*long*/ link);
-//  int /*long*/ _g_list_reverse(int /*long*/ list);
-//  int /*long*/ _g_locale_from_utf8(int /*long*/ utf8string, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-//  int /*long*/ _g_locale_to_utf8(int /*long*/ opsysstring, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-//  void _g_log_default_handler(int /*long*/ log_domain, int log_levels, int /*long*/ message, int /*long*/ unused_data);
-//  void _g_log_remove_handler(byte[] log_domain, int handler_id);
-//  int _g_log_set_handler(byte[] log_domain, int log_levels, int /*long*/ log_func, int /*long*/ user_data);
-//  int /*long*/ _g_malloc(int /*long*/ size);
-//  void _g_object_get(int /*long*/ object, byte[] first_property_name, int[] value, int /*long*/ terminator);
-//  int /*long*/ _g_object_get_qdata(int /*long*/ object, int quark);
-//  int /*long*/ _g_object_new (int /*long*/ type, int /*long*/ first_property_name);
-//  int /*long*/ _g_object_ref(int /*long*/ object);
-//  void _g_object_set(int /*long*/ object, byte[] first_property_name, bool data, int /*long*/ terminator);
-//  void _g_object_set(int /*long*/ object, byte[] first_property_name, GdkColor data, int /*long*/ terminator);
-//  void _g_object_set(int /*long*/ object, byte[] first_property_name, int data, int /*long*/ terminator);
-//  void _g_object_set(int /*long*/ object, byte[] first_property_name, float data, int /*long*/ terminator);
-//  void _g_object_set(int /*long*/ object, byte[] first_property_name, long data, int /*long*/ terminator);
-//  void _g_object_set_qdata(int /*long*/ object, int quark, int /*long*/ data);
-//  void _g_object_unref(int /*long*/ object);
-//  int _g_quark_from_string(byte[] string);
-//  void _g_set_prgname(byte[] prgname);
-//  int _g_signal_connect(int /*long*/ instance, byte[] detailed_signal, int /*long*/ proc, int /*long*/ data);
-//  int _g_signal_connect_closure(int /*long*/ instance, byte[] detailed_signal, int /*long*/ closure, bool after);
-//  int _g_signal_connect_closure_by_id(int /*long*/ instance, int signal_id, int detail, int /*long*/ closure, bool after);
-//  int _g_signal_connect_after(int /*long*/ instance, byte[] detailed_signal, int /*long*/ proc, int /*long*/ data);
-//  void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal);
-//  void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data);
-//  void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data1, int /*long*/ data2);
-//  void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, byte [] data);
-//  void _g_signal_handler_disconnect(int /*long*/ instance, int handler_id);
-//  int _g_signal_handlers_block_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
-//  int _g_signal_handlers_disconnect_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
-//  int _g_signal_handlers_unblock_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
-//  int _g_signal_lookup (byte[] name, int /*long*/ itype);
-//  void _g_signal_stop_emission_by_name(int /*long*/ instance, byte[] detailed_signal);
-//  bool /*long*/ _g_source_remove (int /*long*/ tag);
-//  int /*long*/ _g_slist_data (int /*long*/ list);
-//  void _g_slist_free (int /*long*/ list);
-//  int /*long*/ _g_slist_next (int /*long*/ list);
-//  int _g_slist_length (int /*long*/ list);
-//  void _g_strfreev(int /*long*/ string_array);
-//  double _g_strtod(int /*long*/ str, int /*long*/[] endptr);
-//  void _g_type_add_interface_static (int /*long*/ instance_type, int /*long*/ interface_type, int /*long*/ info);
-//  int /*long*/ _g_type_class_peek (int /*long*/ g_class);
-//  int /*long*/ _g_type_class_peek_parent (int /*long*/ g_class);
-//  int /*long*/ _g_type_from_name (byte[] name);
-//  int /*long*/ _g_type_interface_peek_parent (int /*long*/ iface);
-//  bool _g_type_is_a (int /*long*/ type, int /*long*/ is_a_type);
-//  int /*long*/ _g_type_name (int /*long*/ handle);
-//  int /*long*/ _g_type_parent (int /*long*/ type);
-//  void _g_type_query (int /*long*/ type, int /*long*/ query);
-//  int /*long*/ _g_type_register_static (int /*long*/ parent_type, byte[] type_name, int /*long*/ info, int flags);
-//  void _g_thread_init(int /*long*/ vtable);
-//  bool _g_thread_supported();
-//  int /*long*/ _g_utf16_to_utf8(char[] str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error);
-//  int /*long*/ _g_utf8_offset_to_pointer(int /*long*/ str, int /*long*/ offset);
-//  int /*long*/ _g_utf8_pointer_to_offset(int /*long*/ str, int /*long*/ pos);
-//  int /*long*/ _g_utf8_strlen(int /*long*/ str, int /*long*/ max);
-//  int /*long*/ _g_utf8_to_utf16(byte[] str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error);
-//  int /*long*/ _g_utf8_to_utf16(int /*long*/ str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error);
-//  int /*long*/ _gdk_atom_intern(byte[] atom_name, bool only_if_exists);
-//  int /*long*/ _gdk_atom_name(int /*long*/ atom);
-//  void _gdk_beep();
-//  int /*long*/ _gdk_bitmap_create_from_data(int /*long*/ window, byte[] data, int width, int height);
-//  void _gdk_cairo_region(int /*long*/ cairo, int /*long*/ region);
-//  void _gdk_cairo_set_source_color(int /*long*/ cairo, GdkColor color);
-//  bool _gdk_color_white(int /*long*/ colormap, GdkColor color);
-//  bool _gdk_colormap_alloc_color(int /*long*/ colormap, GdkColor color, bool writeable, bool best_match);
-//  void _gdk_colormap_free_colors(int /*long*/ colormap, GdkColor colors, int ncolors);
-//  int /*long*/ _gdk_colormap_get_system();
-//  void _gdk_colormap_query_color(int /*long*/ colormap, int /*long*/ pixel, GdkColor result);
-//  void _gdk_cursor_destroy(int /*long*/ cursor);
-//  int /*long*/ _gdk_cursor_new(int /*long*/ cursor_type);
-//  int /*long*/ _gdk_cursor_new_from_pixmap(int /*long*/ source, int /*long*/ mask, GdkColor fg, GdkColor bg, int x, int y);
-//  int /*long*/ _gdk_cursor_new_from_pixbuf(int /*long*/ display, int /*long*/ pixbuf, int x, int y);
-//  int /*long*/ _gdk_display_get_default();
-//  bool _gdk_display_supports_cursor_color(int /*long*/ display);
-//  void _gdk_drag_status(int /*long*/ context, int action, int time);
-//  void _gdk_draw_arc(int /*long*/ drawable, int /*long*/ gc, int filled, int x, int y, int width, int height, int angle1, int angle2);
-//  void _gdk_draw_drawable(int /*long*/ drawable, int /*long*/ gc, int /*long*/ src, int xsrc, int ysrc, int xdest, int ydest, int width, int height);
-//  void _gdk_draw_image(int /*long*/ drawable, int /*long*/ gc, int /*long*/ image, int xsrc, int ysrc, int xdest, int ydest, int width, int height);
-//  void _gdk_draw_layout(int /*long*/ drawable, int /*long*/ gc, int x, int y, int /*long*/ layout);
-//  void _gdk_draw_layout_with_colors(int /*long*/ drawable, int /*long*/ gc, int x, int y, int /*long*/ layout, GdkColor foreground, GdkColor background);
-//  void _gdk_draw_line(int /*long*/ drawable, int /*long*/ gc, int x1, int y1, int x2, int y2);
-//  void _gdk_draw_lines(int /*long*/ drawable, int /*long*/ gc, int[] points, int npoints);
-//  void _gdk_draw_pixbuf(int /*long*/ drawable, int /*long*/ gc, int /*long*/ pixbuf, int xsrc, int ysrc, int xdest, int ydest, int width, int height, int dither, int x_dither, int y_dither);
-//  void _gdk_draw_point(int /*long*/ drawable, int /*long*/ gc, int x, int y);
-//  void _gdk_draw_polygon(int /*long*/ drawable, int /*long*/ gc, int filled, int[] points, int npoints);
-//  void _gdk_draw_rectangle(int /*long*/ drawable, int /*long*/ gc, int filled, int x, int y, int width, int height);
-//  int _gdk_drawable_get_depth(int /*long*/ drawable);
-//  int /*long*/ _gdk_drawable_get_image(int /*long*/ drawable, int x, int y, int width, int height);
-//  void _gdk_drawable_get_size(int /*long*/ drawable, int[] width, int[] height);
-//  int /*long*/ _gdk_drawable_get_visible_region(int /*long*/ drawable);
-//  int /*long*/ _gdk_event_copy(int /*long*/ event);
-//  void _gdk_event_free(int /*long*/ event);
-//  int /*long*/ _gdk_event_get();
-//  bool _gdk_event_get_root_coords(int /*long*/ event, double[] px, double[] py);
-//  bool _gdk_event_get_coords(int /*long*/ event, double[] px, double[] py);
-//  int /*long*/ _gdk_event_get_graphics_expose(int /*long*/ window);
-//  bool _gdk_event_get_state(int /*long*/ event, int[] pmod);
-//  int _gdk_event_get_time(int /*long*/ event);
-//  void _gdk_event_handler_set(int /*long*/ func, int /*long*/ data, int /*long*/ notify);
-//  int /*long*/ _gdk_event_peek();
-//  void _gdk_event_put(int /*long*/ event);
-//  void _gdk_error_trap_push();
-//  int _gdk_error_trap_pop();
-//  void _gdk_flush();
-//  void _gdk_free_text_list(int /*long*/ list);
-//  void _gdk_gc_get_values(int /*long*/ gc, GdkGCValues values);
-//  int /*long*/ _gdk_gc_new(int /*long*/ window);
-//  void _gdk_gc_set_background(int /*long*/ gc, GdkColor color);
-//  void _gdk_gc_set_clip_mask(int /*long*/ gc, int /*long*/ mask);
-//  void _gdk_gc_set_clip_origin(int /*long*/ gc, int x, int y);
-//  void _gdk_gc_set_clip_rectangle(int /*long*/ gc, GdkRectangle rectangle);
-//  void _gdk_gc_set_clip_region(int /*long*/ gc, int /*long*/ region);
-//  void _gdk_gc_set_dashes(int /*long*/ gc, int dash_offset, byte[] dash_list, int n);
-//  void _gdk_gc_set_exposures(int /*long*/ gc, bool exposures);
-//  void _gdk_gc_set_fill(int /*long*/ gc, int fill);
-//  void _gdk_gc_set_foreground(int /*long*/ gc, GdkColor color);
-//  void _gdk_gc_set_function(int /*long*/ gc, int /*long*/ function);
-//  void _gdk_gc_set_line_attributes(int /*long*/ gc, int line_width, int line_style, int cap_style, int join_style);
-//  void _gdk_gc_set_stipple(int /*long*/ gc, int /*long*/ stipple);
-//  void _gdk_gc_set_subwindow(int /*long*/ gc, int /*long*/ mode);
-//  void _gdk_gc_set_tile(int /*long*/ gc, int /*long*/ tile);
-//  void _gdk_gc_set_ts_origin(int /*long*/ gc, int x, int y);
-//  void _gdk_gc_set_values(int /*long*/ gc, GdkGCValues values, int values_mask);
-//  void _gdk_keyboard_ungrab(int time);
-//  int /*long*/ _gdk_keymap_get_default();
-//  bool _gdk_keymap_translate_keyboard_state (int /*long*/ keymap, int hardware_keycode, int state, int group, int[] keyval, int[] effective_group, int[] level,  int[] consumed_modifiers);
-//  int _gdk_keyval_to_lower(int keyval);
-//  int _gdk_keyval_to_unicode(int keyval);
-//  int /*long*/ _gdk_pango_context_get();
-//  void _gdk_pango_context_set_colormap(int /*long*/ context, int /*long*/ colormap);
-//  int /*long*/ _gdk_pango_layout_get_clip_region(int /*long*/ layout, int x_origin, int y_origin, int[] index_ranges, int n_ranges);
-//  void _gdk_pixbuf_copy_area(int /*long*/ src_pixbuf, int src_x, int src_y, int width, int height, int /*long*/ dest_pixbuf, int dest_x, int dest_y);
-//  int /*long*/ _gdk_pixbuf_get_from_drawable(int /*long*/ dest, int /*long*/ src, int /*long*/ cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
-//  bool _gdk_pixbuf_get_has_alpha(int /*long*/ pixbuf);
-//  int _gdk_pixbuf_get_height(int /*long*/ pixbuf);
-//  int /*long*/ _gdk_pixbuf_get_pixels(int /*long*/ pixbuf);
-//  int _gdk_pixbuf_get_rowstride(int /*long*/ pixbuf);
-//  int _gdk_pixbuf_get_width(int /*long*/ pixbuf);
-//  int /*long*/ _gdk_pixbuf_new(int colorspace, bool has_alpha, int bits_per_sample, int width, int height);
-//  int /*long*/ _gdk_pixbuf_new_from_file(byte[] filename, int /*long*/ [] error);
-//  void _gdk_pixbuf_render_to_drawable(int /*long*/ pixbuf, int /*long*/ drawable, int /*long*/ gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither);
-//  void _gdk_pixbuf_render_to_drawable_alpha(int /*long*/ pixbuf, int /*long*/ drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither);
-//  void _gdk_pixbuf_render_pixmap_and_mask(int /*long*/ pixbuf, int /*long*/[] pixmap_return, int /*long*/[] mask_return, int alpha_threshold);
-//  void _gdk_pixbuf_scale(int /*long*/ src, int /*long*/ dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type);
-//  int /*long*/ _gdk_pixbuf_scale_simple(int /*long*/ src, int dest_width, int dest_height, int interp_type);
-//  int /*long*/ _gdk_pixmap_new(int /*long*/ window, int width, int height, int depth);
-//  int _gdk_pointer_grab(int /*long*/ window, bool owner_events, int event_mask, int /*long*/ confine_to, int /*long*/ cursor, int time);
-//  bool _gdk_pointer_is_grabbed();
-//  void _gdk_pointer_ungrab(int time);
-//  bool _gdk_property_get(int /*long*/ window, int /*long*/ property, int /*long*/ type, int /*long*/ offset, int /*long*/ length, int pdelete, int /*long*/[] actual_property_type, int[] actual_format, int[] actual_length, int /*long*/[] data);
-//  void _gdk_region_destroy(int /*long*/ region);
-//  bool _gdk_region_empty(int /*long*/ region);
-//  void _gdk_region_get_clipbox(int /*long*/ region, GdkRectangle rectangle);
-//  void _gdk_region_get_rectangles(int /*long*/ region, int /*long*/[] rectangles, int[] n_rectangles);
-//  void _gdk_region_intersect(int /*long*/ source1, int /*long*/ source2);
-//  int /*long*/ _gdk_region_new();
-//  void _gdk_region_offset(int /*long*/ region, int dx, int dy);
-//  bool _gdk_region_point_in(int /*long*/ region, int x, int y);
-//  int /*long*/ _gdk_region_polygon(int[] points, int npoints, int fill_rule);
-//  int /*long*/ _gdk_region_rectangle(GdkRectangle rectangle);
-//  int /*long*/ _gdk_region_rect_in(int /*long*/ region, GdkRectangle rect);
-//  void _gdk_region_subtract(int /*long*/ source1, int /*long*/ source2);
-//  void _gdk_region_union(int /*long*/ source1, int /*long*/ source2);
-//  void _gdk_region_union_with_rect(int /*long*/ region, GdkRectangle rect);
-//  void _gdk_rgb_init();
-//  int /*long*/ _gdk_screen_get_default();
-//  int _gdk_screen_get_monitor_at_point (int /*long*/ screen, int x, int y);
-//  int _gdk_screen_get_monitor_at_window(int /*long*/ screen, int /*long*/ window);
-//  void _gdk_screen_get_monitor_geometry (int /*long*/ screen, int monitor_num, GdkRectangle dest);
-//  int _gdk_screen_get_n_monitors(int /*long*/ screen);
-//  int _gdk_screen_get_number(int /*long*/ screen);
-//  int _gdk_screen_height();
-//  int _gdk_screen_width();
-//  int _gdk_screen_width_mm();
-//  void _gdk_set_program_class(byte[] program_class);
-//  bool _gdk_utf8_to_compound_text(byte[] str, int /*long*/[] encoding, int[] format, int /*long*/[] ctext, int[] length);
-//  int /*long*/ _gdk_utf8_to_string_target(byte[] str);
-//  int _gdk_text_property_to_utf8_list  (int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list);
-//   int _gdk_unicode_to_keyval(int wc);
-//  int /*long*/ _gdk_visual_get_system();
-//  int /*long*/ _gdk_window_at_pointer(int[] win_x, int[] win_y);
-//  void _gdk_window_begin_paint_rect(int /*long*/ window, GdkRectangle rectangle);
-//  void _gdk_window_clear_area(int /*long*/ window, int x, int y, int width, int height);
-//  void _gdk_window_destroy(int /*long*/ window);
-//  void _gdk_window_end_paint(int /*long*/ window);
-//  int /*long*/ _gdk_window_get_children(int /*long*/ window);
-//  int _gdk_window_get_events(int /*long*/ window);
-//  void _gdk_window_focus(int /*long*/ window, int timestamp);
-//  void _gdk_window_freeze_updates(int /*long*/ window);
-//  void _gdk_window_get_frame_extents(int /*long*/ window, GdkRectangle rect);
-//  void _gdk_window_get_internal_paint_info(int /*long*/ window, int /*long*/ [] real_drawable, int[] x_offset, int[] y_offset);
-//  int _gdk_window_get_origin(int /*long*/ window, int[] x, int[] y);
-//  int /*long*/ _gdk_window_get_parent(int /*long*/ window);
-//  int /*long*/ _gdk_window_get_pointer(int /*long*/ window, int[] x, int[] y, int[] mask);
-//  void _gdk_window_get_position(int /*long*/ window, int[] x, int[] y);
-//  void _gdk_window_get_user_data(int /*long*/ window, int /*long*/[] data);
-//  void _gdk_window_hide(int /*long*/ window);
-//  void _gdk_window_invalidate_rect(int /*long*/ window, GdkRectangle rectangle, bool invalidate_children);
-//  void _gdk_window_invalidate_region(int /*long*/ window, int /*long*/ region, bool invalidate_children);
-//  void _gdk_window_move(int /*long*/ window, int x, int y);
-//  int /*long*/ _gdk_window_new(int /*long*/ parent, GdkWindowAttr attributes, int attributes_mask);
-//  void _gdk_window_lower(int /*long*/ window);
-//  void _gdk_window_process_all_updates();
-//  void _gdk_window_process_updates(int /*long*/ window, bool update_children);
-//  void _gdk_window_raise(int /*long*/ window);
-//  void _gdk_window_resize(int /*long*/ window, int width, int height);
-//  void _gdk_window_scroll(int /*long*/ window, int dx, int dy);
-//  void _gdk_window_set_accept_focus(int /*long*/ window, bool accept_focus);
-//  void _gdk_window_set_back_pixmap(int /*long*/ window, int /*long*/ pixmap, bool parent_relative);
-//  void _gdk_window_set_cursor(int /*long*/ window, int /*long*/ cursor);
-//  void _gdk_window_set_debug_updates(bool setting);
-//  void _gdk_window_set_decorations(int /*long*/ window, int decorations);
-//  void _gdk_window_set_events(int /*long*/ window, int event_mask);
-//  void _gdk_window_set_icon(int /*long*/ window, int /*long*/ icon_window, int /*long*/ pixmap, int /*long*/ mask);
-//  void _gdk_window_set_icon_list(int /*long*/ window, int /*long*/ pixbufs);
-//  void _gdk_window_set_keep_above(int /*long*/ window, bool setting);
-//  void _gdk_window_set_override_redirect(int /*long*/ window, bool override_redirect);
-//  void _gdk_window_set_user_data(int /*long*/ window, int /*long*/ user_data);
-//  void _gdk_window_shape_combine_region (int /*long*/ window, int /*long*/  shape_region, int offset_x,  int offset_y);
-//  void _gdk_window_show(int /*long*/ window);
-//  void _gdk_window_show_unraised(int /*long*/ window);
-//  void _gdk_window_thaw_updates(int /*long*/ window);
-//  int /*long*/ _gtk_accel_group_new();
-//  bool _gtk_accel_groups_activate(int /*long*/ accelGroup, int accelKey, int accelMods);
-//  void _gtk_accel_label_set_accel_widget(int /*long*/ accel_label, int /*long*/ accel_widget);
-//  void _gtk_adjustment_changed(int /*long*/ adjustment);
-//  int /*long*/ _gtk_adjustment_new(double value, double lower, double upper, double step_increment, double page_increment, double page_size);
-//  void _gtk_adjustment_set_value(int /*long*/ adjustment, double value);
-//  void _gtk_adjustment_value_changed(int /*long*/ adjustment);
-//  int /*long*/ _gtk_arrow_new(int arrow_type, int shadow_type);
-//  void _gtk_arrow_set(int /*long*/ arrow, int arrow_type, int shadow_type);
-//  int /*long*/ _gtk_bin_get_child(int /*long*/ bin);
-//  void _gtk_box_set_spacing(int /*long*/ box, int spacing);
-//  void _gtk_box_set_child_packing(int /*long*/ box, int /*long*/ child, bool expand, bool fill, int padding, int pack_type);
-//  void _gtk_button_clicked(int /*long*/ button);
-//  int _gtk_button_get_relief(int /*long*/ button);
-//  int /*long*/ _gtk_button_new();
-//  void _gtk_button_set_relief(int /*long*/ button, int newstyle);
-//  int /*long*/ _gtk_calendar_new();
-//  bool /*long*/ _gtk_calendar_select_month(int /*long*/ calendar, int month, int year);
-//  void _gtk_calendar_select_day(int /*long*/ calendar, int day);
-//  void _gtk_calendar_set_display_options(int /*long*/ calendar, int flags);
-//  void _gtk_calendar_display_options(int /*long*/ calendar, int flags);
-//  void _gtk_calendar_get_date(int /*long*/ calendar, int[] year, int[] month, int[] day);
-//  void _gtk_cell_layout_clear(int /*long*/ cell_layout);
-//  void _gtk_cell_layout_set_attributes(int /*long*/ cell_layout, int /*long*/ cell, byte[] attribute, int column, int /*long*/ sentinel);
-//  void _gtk_cell_layout_pack_start(int /*long*/ cell_layout, int /*long*/ cell, bool expand);
-//  void _gtk_cell_renderer_get_size(int /*long*/ cell, int /*long*/ widget, GdkRectangle area, int[] x_offset, int[] y_offset, int[] width, int[] height);
-//  int /*long*/ _gtk_cell_renderer_pixbuf_new();
-//  int /*long*/ _gtk_cell_renderer_text_new();
-//  int /*long*/ _gtk_cell_renderer_toggle_new();
-//  int /*long*/ _gtk_check_button_new();
-//  bool _gtk_check_menu_item_get_active(int /*long*/ check_menu_item);
-//  int /*long*/ _gtk_check_menu_item_new_with_label(byte[] label);
-//  void _gtk_check_menu_item_set_active(int /*long*/ wid, bool active);
-//  int /*long*/ _gtk_check_version(int required_major, int required_minor, int required_micro);
-//  void _gtk_clipboard_clear(int /*long*/ clipboard);
-//  int /*long*/ _gtk_clipboard_get(int /*long*/ selection);
-//  bool _gtk_clipboard_set_with_data(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data);
-//  int /*long*/ _gtk_clipboard_wait_for_contents(int /*long*/ clipboard, int /*long*/ target);
-//  int /*long*/ _gtk_color_selection_dialog_new(byte[] title);
-//  void _gtk_color_selection_get_current_color(int /*long*/ colorsel, GdkColor color);
-//  void _gtk_color_selection_set_current_color(int /*long*/ colorsel, GdkColor color);
-//  void _gtk_color_selection_set_has_palette(int /*long*/ colorsel, bool has_palette);
-//  void _gtk_combo_disable_activate(int /*long*/ combo);
-//  int /*long*/ _gtk_combo_new();
-//  void _gtk_combo_set_case_sensitive(int /*long*/ combo, bool val);
-//  void _gtk_combo_set_popdown_strings(int /*long*/ combo, int /*long*/ strings);
-//  int /*long*/ _gtk_combo_box_entry_new_text();
-//  int /*long*/ _gtk_combo_box_new_text();
-//  void _gtk_combo_box_insert_text(int /*long*/ combo_box, int position, byte[] text);
-//  void _gtk_combo_box_remove_text(int /*long*/ combo_box, int position);
-//  int _gtk_combo_box_get_active(int /*long*/ combo_box);
-//  int /*long*/ _gtk_combo_box_get_model(int /*long*/ combo_box);
-//  void _gtk_combo_box_set_active(int /*long*/ combo_box, int index);
-//  void _gtk_combo_box_popup(int /*long*/ combo_box);
-//  void _gtk_combo_box_popdown(int /*long*/ combo_box);
-//  void _gtk_container_add(int /*long*/ container, int /*long*/ widget);
-//  void _gtk_container_forall(int /*long*/ container, int /*long*/ callback, int /*long*/ callback_data);
-//  int _gtk_container_get_border_width(int /*long*/ container);
-//  int /*long*/ _gtk_container_get_children(int /*long*/ container);
-//  void _gtk_container_remove(int /*long*/ container, int /*long*/ widget);
-//  void _gtk_container_resize_children(int /*long*/ container);
-//  void _gtk_container_set_border_width(int /*long*/ container, int border_width);
-//  int /*long*/ _gtk_dialog_add_button(int /*long*/ dialog, byte[]  button_text, int response_id);
-//  int _gtk_dialog_run(int /*long*/ dialog);
-//  int /*long*/ _gtk_drag_begin(int /*long*/ widget, int /*long*/ targets, int actions, int button, int /*long*/ event);
-//  bool _gtk_drag_check_threshold(int /*long*/ widget, int start_x, int start_y, int current_x, int current_y);
-//  int /*long*/ _gtk_drag_dest_find_target(int /*long*/ widget, int /*long*/ context, int /*long*/ target_list);
-//  void _gtk_drag_dest_set(int /*long*/ widget, int flags, int /*long*/ targets, int n_targets, int actions);
-//  void _gtk_drag_dest_unset(int /*long*/ widget);
-//  void _gtk_drag_finish(int /*long*/ context, bool success, bool delete, int time);
-//  void _gtk_drag_get_data(int /*long*/ widget, int /*long*/ context, int /*long*/ target, int time);
-//  void _gtk_drag_set_icon_pixbuf(int /*long*/ context, int /*long*/ pixbuf, int hot_x, int hot_y);
-//  int /*long*/ _gtk_drawing_area_new();
-//  void _gtk_editable_copy_clipboard(int /*long*/ editable);
-//  void _gtk_editable_cut_clipboard(int /*long*/ editable);
-//  void _gtk_editable_delete_selection(int /*long*/ editable);
-//  void _gtk_editable_delete_text(int /*long*/ editable, int start_pos, int end_pos);
-//  int /*long*/ _gtk_editable_get_chars(int /*long*/ editable, int start_pos, int end_pos);
-//  bool _gtk_editable_get_editable(int /*long*/ editable);
-//  int _gtk_editable_get_position(int /*long*/ editable);
-//  bool _gtk_editable_get_selection_bounds(int /*long*/ editable, int[] start, int[] end);
-//  void _gtk_editable_insert_text(int /*long*/ editable, byte[] new_text, int new_text_length, int[] position);
-//  void _gtk_editable_paste_clipboard(int /*long*/ editable);
-//  void _gtk_editable_select_region(int /*long*/ editable, int start, int end);
-//  void _gtk_editable_set_editable(int /*long*/ entry, bool editable);
-//  void _gtk_editable_set_position(int /*long*/ editable, int position);
-  char gtk_entry_get_invisible_char(GtkEntry* entry);
-  PangoLayout* gtk_entry_get_layout (GtkEntry* entry);
-  void gtk_entry_get_layout_offsets (GtkEntry* layout, int* x, int* y);
-  int gtk_entry_text_index_to_layout_index (GtkEntry* entry, int index);
-  int gtk_entry_get_max_length(GtkEntry* entry);
-  char* gtk_entry_get_text(GtkEntry* entry);
-//  bool _FcConfigAppFontAddFile(int /*long*/ config, byte[] file);
-  bool gtk_entry_get_visibility(GtkEntry* entry);
-  GtkWidget* gtk_entry_new();
-  void gtk_entry_set_activates_default(GtkEntry* entry, bool setting);
-  void gtk_entry_set_alignment(GtkEntry* entry, float xalign);
-  void gtk_entry_set_has_frame(GtkEntry* entry, bool setting);
-  void gtk_entry_set_invisible_char(GtkEntry* entry, char ch);
-  void gtk_entry_set_max_length(GtkEntry* entry, int max);
-  void gtk_entry_set_text(GtkEntry* entry, char* text);
-  void gtk_entry_set_visibility(GtkEntry* entry, bool visible);
-//  int _gtk_events_pending();
-//  bool _gtk_expander_get_expanded(int /*long*/ expander);
-//  int /*long*/ _gtk_expander_get_label_widget(int /*long*/ expander);
-//  int /*long*/ _gtk_expander_new(byte[] label);
-//  void _gtk_expander_set_expanded(int /*long*/ expander, bool expanded);
-//  void _gtk_expander_set_label(int /*long*/ expander, byte[] label);
-//  void _gtk_expander_set_label_widget(int /*long*/ expander, int /*long*/ label_widget);
-//  void _gtk_file_chooser_add_filter(int /*long*/ chooser, int /*long*/ filter);
-//  int /*long*/ _gtk_file_chooser_dialog_new(byte[] title, int /*long*/ parent, int action, int /*long*/ first_button_text, int first_button_id, int /*long*/ second_button_text, int second_button_id, int /*long*/ terminator);
-//  int /*long*/ _gtk_file_chooser_get_current_folder(int /*long*/ chooser);
-//  int /*long*/ _gtk_file_chooser_get_filename(int /*long*/ chooser);
-//  int /*long*/ _gtk_file_chooser_get_filenames(int /*long*/ chooser);
-//  void _gtk_file_chooser_set_current_folder(int /*long*/ chooser, byte[] filename);
-//  void _gtk_file_chooser_set_current_name(int /*long*/ chooser, byte[] name);
-//  void _gtk_file_chooser_set_extra_widget(int /*long*/ chooser, int /*long*/ extra_widget);
-//  void _gtk_file_chooser_set_filename(int /*long*/ chooser, int /*long*/ name);
-//  void _gtk_file_chooser_set_select_multiple(int /*long*/ chooser, bool select_multiple);
-//  void _gtk_file_filter_add_pattern(int /*long*/ filter, byte[] pattern);
-//  int /*long*/ _gtk_file_filter_new();
-//  void _gtk_file_filter_set_name(int /*long*/ filter, byte[] name);
-//  int /*long*/ _gtk_file_selection_get_filename(int /*long*/ filesel);
-//  int /*long*/ _gtk_file_selection_get_selections(int /*long*/ filesel);
-//  void _gtk_file_selection_hide_fileop_buttons(int /*long*/ filesel);
-//  int /*long*/ _gtk_file_selection_new(byte[] title);
-//  void _gtk_file_selection_set_filename(int /*long*/ filesel, int /*long*/ filename);
-//  void _gtk_file_selection_set_select_multiple(int /*long*/ filesel, bool select_multiple);
-//  void _gtk_fixed_move(int /*long*/ fixed, int /*long*/ widget, int x, int y);
-//  int /*long*/ _gtk_fixed_new();
-//  void _gtk_fixed_set_has_window(int /*long*/ fixed, bool has_window);
-//  int /*long*/ _gtk_font_selection_dialog_get_font_name(int /*long*/ fsd);
-//  int /*long*/ _gtk_font_selection_dialog_new(byte[] title);
-//  bool _gtk_font_selection_dialog_set_font_name(int /*long*/ fsd, byte[] fontname);
-//  int /*long*/ _gtk_frame_new(byte[] label);
-//  int /*long*/ _gtk_frame_get_label_widget(int /*long*/ frame);
-//  void _gtk_frame_set_label(int /*long*/ frame, byte[] label);
-//  void _gtk_frame_set_label_widget(int /*long*/ frame, int /*long*/ label_widget);
-//  void _gtk_frame_set_shadow_type(int /*long*/ frame, int type);
-//  int /*long*/ _gtk_get_current_event();
-//  bool _gtk_get_current_event_state (int[] state);
-//  int _gtk_get_current_event_time();
-//  int /*long*/ _gtk_get_default_language();
-//  int /*long*/ _gtk_get_event_widget(int /*long*/ event);
-//  void _gtk_grab_add(int /*long*/ widget);
-//  int /*long*/ _gtk_grab_get_current();
-//  void _gtk_grab_remove(int /*long*/ widget);
-//  int /*long*/ _gtk_hbox_new(bool homogeneous, int spacing);
-//  int /*long*/ _gtk_hscale_new(int /*long*/ adjustment);
-//  int /*long*/ _gtk_hscrollbar_new(int /*long*/ adjustment);
-//  int /*long*/ _gtk_hseparator_new();
-//  int /*long*/ _gtk_icon_factory_lookup_default(byte[] stock_id);
-//  void _gtk_icon_source_free(int /*long*/ source);
-//  int /*long*/ _gtk_icon_source_new();
-//  void _gtk_icon_source_set_pixbuf(int /*long*/ source, int /*long*/ pixbuf);
-//  int /*long*/ _gtk_icon_set_render_icon(int /*long*/ icon_set, int /*long*/ style, int direction, int state, int size, int /*long*/ widget, int /*long*/ detail);
-//  bool _gtk_im_context_filter_keypress(int /*long*/ context, int /*long*/ event);
-//  void _gtk_im_context_focus_in(int /*long*/ context);
-//  void _gtk_im_context_focus_out(int /*long*/ context);
-//  void _gtk_im_context_get_preedit_string(int /*long*/ context, int /*long*/[] str, int /*long*/[] attrs, int[] cursor_pos);
-//  int /*long*/ _gtk_im_context_get_type();
-//  void _gtk_im_context_reset(int /*long*/ context);
-//  void _gtk_im_context_set_client_window(int /*long*/ context, int /*long*/ window);
-//  void _gtk_im_context_set_cursor_location(int /*long*/ context, GdkRectangle area);
-//  void _gtk_im_multicontext_append_menuitems (int /*long*/ context, int /*long*/ menushell);
-//  int /*long*/ _gtk_im_multicontext_new();
-//  int /*long*/ _gtk_image_menu_item_new_with_label(byte[] label);
-//  void _gtk_image_menu_item_set_image(int /*long*/ menu_item, int /*long*/ image);
-//  int /*long*/ _gtk_image_new();
-//  int /*long*/ _gtk_image_new_from_pixbuf(int /*long*/ pixbuf);
-//  int /*long*/ _gtk_image_new_from_pixmap(int /*long*/ pixmap, int /*long*/ mask);
-//  void _gtk_image_set_from_pixbuf(int /*long*/ image, int /*long*/ pixbuf);
-//  void _gtk_image_set_from_pixmap(int /*long*/ image, int /*long*/ pixmap, int /*long*/ mask);
-//  bool _gtk_init_check(int /*long*/[] argc, int /*long*/[] argv);
-//  int /*long*/ _gtk_label_get_layout(int /*long*/ label);
-//  int _gtk_label_get_mnemonic_keyval(int /*long*/ label);
-//  int /*long*/ _gtk_label_new(byte[] label);
-//  int /*long*/ _gtk_label_new_with_mnemonic(byte[] str);
-//  void _gtk_label_set_attributes(int /*long*/ label, int /*long*/ attrs);
-//  void _gtk_label_set_justify(int /*long*/ label, int jtype);
-//  void _gtk_label_set_line_wrap(int /*long*/ label, bool wrap);
-//  void _gtk_label_set_text(int /*long*/ label, int /*long*/ str);
-//  void _gtk_label_set_text(int /*long*/ label, byte[] str);
-//  void _gtk_label_set_text_with_mnemonic(int /*long*/ label, byte[] str);
-//  void _gtk_list_append_items(int /*long*/ list, int /*long*/ items);
-//  void _gtk_list_clear_items(int /*long*/ list, int start, int end);
-//  void _gtk_list_insert_items(int /*long*/ list, int /*long*/ items, int position);
-//  int /*long*/ _gtk_list_item_new_with_label(byte[] label);
-//  void _gtk_list_remove_items(int /*long*/ list, int /*long*/ items);
-//  void _gtk_list_select_item(int /*long*/ list, int item);
-//  void _gtk_list_unselect_all(int /*long*/ list);
-//  void _gtk_list_unselect_item(int /*long*/ list, int item);
-//  void _gtk_list_store_append(int /*long*/ list_store, int /*long*/ iter);
-//  void _gtk_list_store_clear(int /*long*/ store);
-//  void _gtk_list_store_insert(int /*long*/ list_store, int /*long*/ iter, int position);
-//  int /*long*/ _gtk_list_store_newv(int numColumns, int /*long*/[] types);
-//  void _gtk_list_store_remove(int /*long*/ list_store, int /*long*/ iter);
-//  void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, byte[] value, int /*long*/ terminator);
-//  void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, int value, int /*long*/ terminator);
-//  void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, long value, int /*long*/ terminator);
-//  void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, GdkColor value, int /*long*/ terminator);
-//  void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, bool value, int /*long*/ terminator);
-//  int _gtk_major_version();
-//  int _gtk_minor_version();
-//  int _gtk_micro_version();
-//  void _gtk_main();
-//  int _gtk_main_iteration();
-//  void _gtk_main_do_event(int /*long*/ event);
-//  int /*long*/ _gtk_menu_bar_new();
-//  void _gtk_menu_item_remove_submenu(int /*long*/ menu_item);
-//  void _gtk_menu_item_set_submenu(int /*long*/ menu_item, int /*long*/ submenu);
-//  int /*long*/ _gtk_menu_new();
-//  void _gtk_menu_popdown(int /*long*/ menu);
-//  void _gtk_menu_popup(int /*long*/ menu, int /*long*/ parent_menu_shell, int /*long*/ parent_menu_item, int /*long*/ func, int /*long*/ data, int button, int activate_time);
-//  void _gtk_menu_shell_deactivate(int /*long*/ menu_shell);
-//  void _gtk_menu_shell_insert(int /*long*/ menu_shell, int /*long*/ child, int position);
-//  void _gtk_menu_shell_select_item(int /*long*/ menu_shell, int /*long*/ menu_item);
-//  void _gtk_menu_shell_set_take_focus(int /*long*/ menu_shell, bool take_focus);
-//  int /*long*/ _gtk_message_dialog_new(int /*long*/ parent, int flags, int type, int buttons, byte[] message_format);
-//  void _gtk_misc_set_alignment(int /*long*/ misc, float xalign, float yalign);
-//  int _gtk_notebook_get_current_page(int /*long*/ notebook);
-//  bool _gtk_notebook_get_scrollable(int /*long*/ notebook);
-//  void _gtk_notebook_insert_page(int /*long*/ notebook, int /*long*/ child, int /*long*/ tab_label, int position);
-//  int /*long*/ _gtk_notebook_new();
-//  void _gtk_notebook_next_page(int /*long*/ notebook);
-//  void _gtk_notebook_prev_page(int /*long*/ notebook);
-//  void _gtk_notebook_remove_page(int /*long*/ notebook, int page_num);
-//  void _gtk_notebook_set_current_page(int /*long*/ notebook, int page_num);
-//  void _gtk_notebook_set_scrollable(int /*long*/ notebook, bool scrollable);
-//  void _gtk_notebook_set_show_tabs(int /*long*/ notebook, bool show_tabs);
-//  void _gtk_notebook_set_tab_pos(int /*long*/ notebook, int pos);
-//  void _gtk_object_sink(int /*long*/ object);
-//  int /*long*/ _gtk_page_setup_new ();
-//  int _gtk_page_setup_get_orientation(int /*long*/ setup);
-//  void _gtk_page_setup_set_orientation(int /*long*/ setup, int orientation);
-//  int /*long*/ _gtk_page_setup_get_paper_size(int /*long*/ setup);
-//  void _gtk_page_setup_set_paper_size(int /*long*/ setup, int /*long*/ size);
-//  double _gtk_page_setup_get_top_margin(int /*long*/ setup, int unit);
-//  void _gtk_page_setup_set_top_margin(int /*long*/ setup, double margin, int unit);
-//  double _gtk_page_setup_get_bottom_margin(int /*long*/ setup, int unit);
-//  void _gtk_page_setup_set_bottom_margin(int /*long*/ setup, double margin, int unit);
-//  double _gtk_page_setup_get_left_margin(int /*long*/ setup, int unit);
-//  void _gtk_page_setup_set_left_margin(int /*long*/ setup, double margin, int unit);
-//  double _gtk_page_setup_get_right_margin(int /*long*/ setup, int unit);
-//  void _gtk_page_setup_set_right_margin(int /*long*/ setup, double margin, int unit);
-//  double _gtk_page_setup_get_paper_width(int /*long*/ setup, int unit);
-//  double _gtk_page_setup_get_paper_height(int /*long*/ setup, int unit);
-//  double _gtk_page_setup_get_page_width(int /*long*/ setup, int unit);
-//  double _gtk_page_setup_get_page_height(int /*long*/ setup, int unit);
-//  void _gtk_paint_handle(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int orientation);
-//  void _gtk_paint_flat_box(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_focus(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_option(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_slider(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int orientation);
-//  void _gtk_paint_tab(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_arrow(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int arrow_type, bool fill, int x, int y, int width, int height);
-//  void _gtk_paint_box(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_box_gap(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side, int gap_x, int gap_width);
-//  void _gtk_paint_check(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_expander(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int expander_style);
-//  void _gtk_paint_extension(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side);
-//  void _gtk_paint_hline(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x1 , int x2, int y);
-//  void _gtk_paint_layout(int /*long*/ style, int /*long*/ window, int state_type, bool use_text, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int /*long*/ layout);
-//  void _gtk_paint_shadow_gap(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side, int gap_x, int gap_width);
-//  void _gtk_paint_shadow(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-//  void _gtk_paint_vline(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int y1 , int y2, int x);
-//  int /*long*/ _gtk_paper_size_new(byte [] name);
-//  int /*long*/ _gtk_paper_size_new_from_ppd(byte [] ppd_name, byte [] ppd_display_name, double width, double height);
-//  int /*long*/ _gtk_paper_size_new_custom(byte [] name, byte [] display_name, double width, double height, int unit);
-//  int /*long*/ _gtk_paper_size_get_name(int /*long*/ size);
-//  int /*long*/ _gtk_paper_size_get_display_name(int /*long*/ size);
-//  int /*long*/ _gtk_paper_size_get_ppd_name(int /*long*/ size);
-//  double _gtk_paper_size_get_width(int /*long*/ size, int unit);
-//  double _gtk_paper_size_get_height(int /*long*/ size, int unit);
-//  bool _gtk_paper_size_is_custom(int /*long*/ size);
-//  int /*long*/ _gtk_plug_get_id(int /*long*/ plug);
-//  int /*long*/ _gtk_plug_new(int /*long*/ socket_id);
-//  int /*long*/ _gtk_printer_get_backend(int /*long*/ printer);
-//  int /*long*/ _gtk_printer_get_name(int /*long*/ printer);
-//  bool _gtk_printer_is_default(int /*long*/ printer);
-//  void _gtk_enumerate_printers(int /*long*/ func, int /*long*/data, int /*long*/ destroy, bool wait);
-//  int /*long*/ _gtk_print_job_new(byte[] title, int /*long*/ printer, int /*long*/ settings, int /*long*/ page_setup);
-//  int /*long*/ _gtk_print_job_get_settings(int /*long*/ job);
-//  int /*long*/ _gtk_print_job_get_printer(int /*long*/ job);
-//  int /*long*/ _gtk_print_job_get_title(int /*long*/ job);
-//  int _gtk_print_job_get_status(int /*long*/ job);
-//  bool _gtk_print_job_set_source_file(int /*long*/ job, byte[] filename, int /*long*/ error[]);
-//  int /*long*/ _gtk_print_job_get_surface(int /*long*/ job, int /*long*/ error[]);
-//  void _gtk_print_job_send(int /*long*/ job, int /*long*/ callback, int /*long*/ user_data, int /*long*/ dnotify);
-//  int /*long*/ _gtk_print_settings_new();
-//  void _gtk_print_settings_foreach(int /*long*/ settings, int /*long*/ func, int /*long*/ data);
-//  int /*long*/ _gtk_print_settings_get(int /*long*/ settings, byte [] key);
-//  void _gtk_print_settings_set(int /*long*/ settings, byte [] key, byte [] value);
-//  int /*long*/ _gtk_print_settings_get_printer(int /*long*/ settings);
-//  void _gtk_print_settings_set_printer(int /*long*/ settings, byte[] printer);
-//  int _gtk_print_settings_get_orientation(int /*long*/ settings);
-//  void _gtk_print_settings_set_orientation(int /*long*/ settings, int orientation);
-//  bool _gtk_print_settings_get_collate(int /*long*/ settings);
-//  void _gtk_print_settings_set_collate(int /*long*/ settings, bool collate);
-//  int _gtk_print_settings_get_n_copies(int /*long*/ settings);
-//  void _gtk_print_settings_set_n_copies(int /*long*/ settings, int num_copies);
-//  int _gtk_print_settings_get_print_pages(int /*long*/ settings);
-//  void _gtk_print_settings_set_print_pages(int /*long*/ settings, int pages);
-//  int /*long*/ _gtk_print_settings_get_page_ranges(int /*long*/ settings, int[] num_ranges);
-//  void _gtk_print_settings_set_page_ranges(int /*long*/ settings, int[] page_ranges, int num_ranges);
-//  double _gtk_print_settings_get_paper_width(int /*long*/ settings, int unit);
-//  double _gtk_print_settings_get_paper_height(int /*long*/ settings, int unit);
-//  int _gtk_print_settings_get_resolution(int /*long*/ settings);
-//  int /*long*/ _gtk_print_unix_dialog_new(byte[] title, int /*long*/ parent);
-//  void _gtk_print_unix_dialog_set_page_setup(int /*long*/ dialog, int /*long*/ page_setup);
-//  int /*long*/ _gtk_print_unix_dialog_get_page_setup(int /*long*/ dialog);
-//  void _gtk_print_unix_dialog_set_current_page(int /*long*/ dialog, int current_page);
-//  int _gtk_print_unix_dialog_get_current_page(int /*long*/ dialog);
-//  void _gtk_print_unix_dialog_set_settings(int /*long*/ dialog, int /*long*/ settings);
-//  int /*long*/ _gtk_print_unix_dialog_get_settings(int /*long*/ dialog);
-//  int /*long*/ _gtk_print_unix_dialog_get_selected_printer(int /*long*/ dialog);
-//  void _gtk_print_unix_dialog_set_manual_capabilities(int /*long*/ dialog, int /*long*/ capabilities);
-//  int /*long*/ _gtk_progress_bar_new();
-//  void _gtk_progress_bar_pulse(int /*long*/ pbar);
-//  void _gtk_progress_bar_set_fraction(int /*long*/ pbar, double fraction);
-//  void _gtk_progress_bar_set_orientation(int /*long*/ pbar, int orientation);
-//  int /*long*/ _gtk_radio_button_get_group(int /*long*/ radio_button);
-//  int /*long*/ _gtk_radio_button_new(int /*long*/ group);
-//  int /*long*/ _gtk_radio_menu_item_get_group(int /*long*/ radio_menu_item);
-//  int /*long*/ _gtk_radio_menu_item_new(int /*long*/ group);
-//  int /*long*/ _gtk_radio_menu_item_new_with_label(int /*long*/ group, byte[] label);
-//  int /*long*/ _gtk_range_get_adjustment(int /*long*/ range);
-//  void _gtk_range_set_increments(int /*long*/ range, double step, double page);
-//  void _gtk_range_set_inverted(int /*long*/ range, bool setting);
-//  void _gtk_range_set_range(int /*long*/ range, double min, double max);
-//  void _gtk_range_set_value(int /*long*/ range, double value);
-//  void _gtk_rc_parse_string(byte[] rc_string);
-//  int /*long*/ _gtk_rc_style_get_bg_pixmap_name(int /*long*/ style, int index);
-//  int _gtk_rc_style_get_color_flags(int /*long*/ style, int index);
-//  void _gtk_rc_style_set_bg(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_rc_style_set_bg_pixmap_name(int /*long*/ style, int index, int /*long*/ name);
-//  void _gtk_rc_style_set_color_flags(int /*long*/ style, int index, int flag);
-//  void _gtk_scale_set_digits(int /*long*/ scale, int digits);
-//  void _gtk_scale_set_draw_value(int /*long*/ scale, bool draw_value);
-//  void _gtk_rc_style_set_fg(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_rc_style_set_text(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_scrolled_window_add_with_viewport(int /*long*/ scrolled_window, int /*long*/ child);
-//  int /*long*/ _gtk_scrolled_window_get_hadjustment(int /*long*/ scrolled_window);
-//  void _gtk_scrolled_window_get_policy(int /*long*/ scrolled_window, int[] hscrollbar_policy, int[] vscrollbar_policy);
-//  int _gtk_scrolled_window_get_shadow_type(int /*long*/ scrolled_window);
-//  int /*long*/ _gtk_scrolled_window_get_vadjustment(int /*long*/ scrolled_window);
-//  int /*long*/ _gtk_scrolled_window_new(int /*long*/ hadjustment, int /*long*/ vadjustment);
-//  void _gtk_scrolled_window_set_placement(int /*long*/ scrolled_window, int placement);
-//  void _gtk_scrolled_window_set_policy(int /*long*/ scrolled_window, int hscrollbar_policy, int vscrollbar_policy);
-//  void _gtk_scrolled_window_set_shadow_type(int /*long*/ scrolled_window, int type);
-//  int /*long*/ _gtk_settings_get_default();
-//  void _gtk_selection_data_free(int /*long*/ selection_data);
-//  void _gtk_selection_data_set(int /*long*/ selection_data, int /*long*/ type, int format, int /*long*/ data, int length);
-//  int /*long*/ _gtk_separator_menu_item_new();
-//  int /*long*/ _gtk_set_locale();
-//  int /*long*/ _gtk_socket_get_id(int /*long*/ socket);
-//  int /*long*/ _gtk_socket_new();
-//  int /*long*/ _gtk_spin_button_new(int /*long*/ adjustment, double climb_rate, int digits);
-//  int /*long*/ _gtk_spin_button_get_adjustment(int /*long*/ spin_button);
-//  int _gtk_spin_button_get_digits(int /*long*/ spin_button);
-//  void _gtk_spin_button_set_digits(int /*long*/ spin_button, int digits);
-//  void _gtk_spin_button_set_increments(int /*long*/ spin_button, double step, double page);
-//  void _gtk_spin_button_set_range(int /*long*/ spin_button, double max, double min);
-//  void _gtk_spin_button_set_value(int /*long*/ spin_button, double value);
-//  void _gtk_spin_button_set_wrap(int /*long*/ spin_button, bool wrap);
-//  void _gtk_spin_button_update(int /*long*/ spin_button);
-//  void _gtk_style_get_base(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_style_get_black(int /*long*/ style, GdkColor color);
-//  void _gtk_style_get_bg(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_style_get_dark(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_style_get_fg(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_style_get_fg_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_bg_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_light_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_dark_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_mid_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_text_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_text_aa_gc(int /*long*/ style, int index, int /*long*/[] gc);
-//  void _gtk_style_get_black_gc(int /*long*/ style, int /*long*/[] gc);
-//  void _gtk_style_get_white_gc(int /*long*/ style, int /*long*/[] gc);
-//  int /*long*/ _gtk_style_get_font_desc(int /*long*/ style);
-//  void _gtk_style_get_light(int /*long*/ style, int index, GdkColor color);
-//  void _gtk_style_get_text(int /*long*/ style, int index, GdkColor color);
-//  int _gtk_style_get_xthickness(int /*long*/ style);
-//  int _gtk_style_get_ythickness(int /*long*/ style);
-//  int /*long*/ _gtk_style_render_icon(int /*long*/ style, int /*long*/ source, int direction, int state, int size, int /*long*/ widget, byte[] detail);
-//  int /*long*/ _gtk_target_list_new(int /*long*/ targets, int ntargets);
-//  void _gtk_target_list_unref(int /*long*/ list);
-//  void _gtk_text_buffer_copy_clipboard(int /*long*/ buffer, int /*long*/ clipboard);
-//  void _gtk_text_buffer_cut_clipboard(int /*long*/ buffer, int /*long*/ clipboard, bool default_editable);
-//  void _gtk_text_buffer_delete(int /*long*/ buffer, byte[] start, byte[] end);
-//  void _gtk_text_buffer_get_bounds(int /*long*/ buffer, byte[] start, byte[] end);
-//  int _gtk_text_buffer_get_char_count(int /*long*/ buffer);
-//  void _gtk_text_buffer_get_end_iter(int /*long*/ buffer, byte[] iter);
-//  int /*long*/ _gtk_text_buffer_get_insert(int /*long*/ buffer);
-//  void _gtk_text_buffer_get_iter_at_line(int /*long*/ buffer, byte[] iter, int line_number);
-//  void _gtk_text_buffer_get_iter_at_mark(int /*long*/ buffer, byte[] iter, int /*long*/ mark);
-//  void _gtk_text_buffer_get_iter_at_offset(int /*long*/ buffer, byte[] iter, int char_offset);
-//  int _gtk_text_buffer_get_line_count(int /*long*/ buffer);
-//  int /*long*/ _gtk_text_buffer_get_selection_bound(int /*long*/ buffer);
-//  bool _gtk_text_buffer_get_selection_bounds(int /*long*/ buffer, byte[] start, byte[] end);
-//  int /*long*/ _gtk_text_buffer_get_text(int /*long*/ buffer, byte[] start, byte[] end, bool include_hidden_chars);
-//  void _gtk_text_buffer_insert(int /*long*/ buffer, byte[] iter, byte[] text, int len);
-//  void _gtk_text_buffer_insert(int /*long*/ buffer, int /*long*/ iter, byte[] text, int len);
-//  void _gtk_text_buffer_move_mark(int /*long*/ buffer, int /*long*/ mark, byte[] where);
-//  void _gtk_text_buffer_paste_clipboard(int /*long*/ buffer, int /*long*/ clipboard, byte[] override_location, bool default_editable);
-//  void _gtk_text_buffer_place_cursor(int /*long*/ buffer, byte[] where);
-//  void _gtk_text_buffer_set_text(int /*long*/ buffer, byte[] text, int len);
-//  int _gtk_text_iter_get_line(byte[] iter);
-//  int _gtk_text_iter_get_offset(byte[] iter);
-//  void _gtk_text_view_buffer_to_window_coords(int /*long*/ text_view, int win, int buffer_x, int buffer_y, int[] window_x, int[] window_y);
-//  int /*long*/ _gtk_text_view_get_buffer(int /*long*/ text_view);
-//  bool _gtk_text_view_get_editable(int /*long*/ text_view);
-//  void _gtk_text_view_get_iter_at_location(int /*long*/ text_view, byte[] iter, int x, int y);
-//  void _gtk_text_view_get_iter_location(int /*long*/ text_view, byte[] iter, GdkRectangle location);
-//  void _gtk_text_view_get_line_at_y(int /*long*/ text_view, byte[] target_iter, int y, int[] line_top);
-//  void _gtk_text_view_get_visible_rect(int /*long*/ text_view, GdkRectangle visible_rect);
-//  int /*long*/ _gtk_text_view_get_window(int /*long*/ text_view, int win);
-//  int /*long*/ _gtk_text_view_new();
-//  void _gtk_text_view_scroll_mark_onscreen(int /*long*/ text_view, int /*long*/ mark);
-//  bool _gtk_text_view_scroll_to_iter(int /*long*/ text_view, byte[] iter, double within_margin, bool use_align, double xalign, double yalign);
-//  void _gtk_text_view_set_editable(int /*long*/ text_view, bool setting);
-//  void _gtk_text_view_set_justification(int /*long*/ text_view, int justification);
-//  void _gtk_text_view_set_tabs(int /*long*/ text_view, int /*long*/ tabs);
-//  void _gtk_text_view_set_wrap_mode(int /*long*/ text_view, int wrap_mode);
-//  void _gtk_text_view_window_to_buffer_coords(int /*long*/ text_view, int win, int window_x, int window_y, int[] buffer_x, int[] buffer_y);
-//  int _gtk_timeout_add(int interval, int /*long*/ function, int /*long*/ data);
-//  void _gtk_timeout_remove(int timeout_handler_id);
-//  bool _gtk_toggle_button_get_active(int /*long*/ toggle_button);
-//  int /*long*/ _gtk_toggle_button_new();
-//  void _gtk_toggle_button_set_active(int /*long*/ toggle_button, bool is_active);
-//  void _gtk_toggle_button_set_mode(int /*long*/ toggle_button, bool draw_indicator);
-//  void _gtk_toolbar_insert_widget(int /*long*/ toolbar, int /*long*/ widget, byte[] tooltip_text, byte[] tooltip_private_text, int position);
-//  int /*long*/ _gtk_toolbar_new();
-//  void _gtk_toolbar_set_orientation(int /*long*/ toolbar, int orientation);
-//  int /*long*/ _gtk_tooltips_data_get(int /*long*/ widget);
-//  void _gtk_tooltips_disable(int /*long*/ tooltips);
-//  void _gtk_tooltips_enable(int /*long*/ tooltips);
-//  int /*long*/ _gtk_tooltips_new();
-//  void _gtk_tooltips_force_window(int /*long*/ tooltips);
-//  void _gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*/ widget, byte[] tip_text, byte[] tip_private);
-//  void _gtk_tree_model_get(int /*long*/ tree_model, int /*long*/ iter, int column, int[] value, int /*long*/ terminator);
-//  void _gtk_tree_model_get(int /*long*/ tree_model, int /*long*/ iter, int column, long[] value, int /*long*/ terminator);
-//  bool _gtk_tree_model_get_iter(int /*long*/ tree_model, int /*long*/ iter, int /*long*/ path);
-//  bool _gtk_tree_model_get_iter_first(int /*long*/ tree_model, int /*long*/ iter);
-//  int _gtk_tree_model_get_n_columns(int /*long*/ tree_model);
-//  int /*long*/ _gtk_tree_model_get_path(int /*long*/ tree_model, int /*long*/ iter);
-//  int /*long*/ _gtk_tree_model_get_type();
-//  bool _gtk_tree_model_iter_children(int /*long*/ model, int /*long*/ iter, int /*long*/ parent);
-//  int _gtk_tree_model_iter_n_children(int /*long*/ model, int /*long*/ iter);
-//  bool _gtk_tree_model_iter_next(int /*long*/ model, int /*long*/ iter);
-//  bool _gtk_tree_model_iter_nth_child(int /*long*/ tree_model, int /*long*/ iter, int /*long*/ parent, int n);
-//  void _gtk_tree_path_append_index(int /*long*/ path, int index);
-//  int /*long*/ _gtk_tree_path_compare(int /*long*/ a, int /*long*/ b);
-//  void _gtk_tree_path_down(int /*long*/ path);
-//  void _gtk_tree_path_free(int /*long*/ path);
-//  int _gtk_tree_path_get_depth(int /*long*/ path);
-//  int /*long*/ _gtk_tree_path_get_indices(int /*long*/ path);
-//  int /*long*/ _gtk_tree_path_new();
-//  int /*long*/ _gtk_tree_path_new_first();
-//  int /*long*/ _gtk_tree_path_new_from_string(byte[] path);
-//  int /*long*/ _gtk_tree_path_new_from_string(int /*long*/ path);
-//  void _gtk_tree_path_next(int /*long*/ path);
-//  bool _gtk_tree_path_prev(int /*long*/ path);
-//  bool _gtk_tree_path_up(int /*long*/ path);
-//  int _gtk_tree_selection_count_selected_rows(int /*long*/ selection);
-//  bool _gtk_tree_selection_get_selected(int /*long*/ selection, int /*long*/[] model, int /*long*/ iter);
-//  int /*long*/ _gtk_tree_selection_get_selected_rows(int /*long*/ selection, int /*long*/[] model);
-//  bool _gtk_tree_selection_path_is_selected(int /*long*/ selection, int /*long*/ path);
-//  void _gtk_tree_selection_select_all(int /*long*/ selection);
-//  void _gtk_tree_selection_select_iter(int /*long*/ selection, int /*long*/ iter);
-//  void _gtk_tree_selection_selected_foreach(int /*long*/ selection, int /*long*/ func, int /*long*/ data);
-//  void _gtk_tree_selection_set_mode(int /*long*/ selection, int mode);
-//  void _gtk_tree_selection_unselect_all(int /*long*/ selection);
-//  void _gtk_tree_selection_unselect_iter(int /*long*/ selection, int /*long*/ iter);
-//  void _gtk_tree_store_append(int /*long*/ store, int /*long*/ iter, int /*long*/ parent);
-//  void _gtk_tree_store_clear(int /*long*/ store);
-//  void _gtk_tree_store_insert(int /*long*/ store, int /*long*/ iter, int /*long*/ parent, int position);
-//  int /*long*/ _gtk_tree_store_newv(int numColumns, int /*long*/[] types);
-//  void _gtk_tree_store_remove(int /*long*/ store, int /*long*/ iter);
-//  void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, byte[] value, int /*long*/ terminator);
-//  void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, int value, int /*long*/ terminator);
-//  void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, long value, int /*long*/ terminator);
-//  void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, GdkColor value, int /*long*/ terminator);
-//  void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, bool value, int /*long*/ terminator);
-//  int /*long*/ _gtk_tree_view_create_row_drag_icon(int /*long*/ view, int /*long*/ path);
-//  bool _gtk_tree_view_collapse_row(int /*long*/ view, int /*long*/ path);
-//  void _gtk_tree_view_column_add_attribute(int /*long*/ treeColumn, int /*long*/ cellRenderer, byte[] attribute, int column);
-//  bool _gtk_tree_view_column_cell_get_position(int /*long*/ tree_column, int /*long*/ cell_renderer, int[] start_pos, int[] width);
-//  void _gtk_tree_view_column_cell_get_size(int /*long*/ tree_column, GdkRectangle cell_area, int[] x_offset, int[] y_offset, int[] width, int[] height);
-//  void _gtk_tree_view_column_cell_set_cell_data(int /*long*/ tree_column, int /*long*/ tree_model, int /*long*/ iter, bool is_expander, bool is_expanded);
-//  void _gtk_tree_view_column_clear(int /*long*/ tree_column);
-//  int /*long*/ _gtk_tree_view_column_get_cell_renderers(int /*long*/ tree_column);
-//  int _gtk_tree_view_column_get_fixed_width(int /*long*/ column);
-//  bool _gtk_tree_view_column_get_reorderable(int /*long*/ column);
-//  bool _gtk_tree_view_column_get_resizable(int /*long*/ column);
-//  int _gtk_tree_view_column_get_sizing(int /*long*/ tree_column);
-//  int _gtk_tree_view_column_get_spacing(int /*long*/ tree_column);
-//  bool _gtk_tree_view_column_get_visible(int /*long*/ column);
-//  bool _gtk_tree_view_column_get_sort_indicator(int /*long*/ tree_column);
-//  int _gtk_tree_view_column_get_sort_order(int /*long*/ tree_column);
-//  int _gtk_tree_view_column_get_width(int /*long*/ column);
-//  int /*long*/ _gtk_tree_view_column_new();
-//  void _gtk_tree_view_column_pack_start(int /*long*/ tree_column, int /*long*/ cell_renderer, bool expand);
-//  void _gtk_tree_view_column_pack_end(int /*long*/ tree_column, int /*long*/ cell_renderer, bool expand);
-//  void _gtk_tree_view_column_set_alignment(int /*long*/ tree_column, float xalign);
-//  void _gtk_tree_view_column_set_cell_data_func(int /*long*/ tree_column, int /*long*/ cell_renderer, int /*long*/ func, int /*long*/ func_data, int /*long*/ destroy);
-//  void _gtk_tree_view_column_set_clickable(int /*long*/ column, bool clickable);
-//  void _gtk_tree_view_column_set_fixed_width(int /*long*/ column, int fixed_width);
-//  void _gtk_tree_view_column_set_min_width(int /*long*/ tree_column, int min_width);
-//  void _gtk_tree_view_column_set_reorderable(int /*long*/ column, bool reorderable);
-//  void _gtk_tree_view_column_set_resizable(int /*long*/ column, bool resizable);
-//  void _gtk_tree_view_column_set_sizing(int /*long*/ column, int type);
-//  void _gtk_tree_view_column_set_sort_indicator(int /*long*/ tree_column, bool setting);
-//  void _gtk_tree_view_column_set_sort_order(int /*long*/ tree_column, int order);
-//  void _gtk_tree_view_column_set_title(int /*long*/ tree_column, byte[] title);
-//  void _gtk_tree_view_column_set_visible (int /*long*/ tree_column, bool visible);
-//  void _gtk_tree_view_column_set_widget(int /*long*/ tree_column, int /*long*/ widget);
-//  void _gtk_tree_view_set_drag_dest_row(int /*long*/ view, int /*long*/ path, int pos);
-//  void _gtk_tree_view_set_enable_search (int /*long*/ view, bool enable_search);
-//  bool _gtk_tree_view_expand_row(int /*long*/ view, int /*long*/ path, bool open_all);
-//  void _gtk_tree_view_get_background_area(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, GdkRectangle rect);
-//  int /*long*/ _gtk_tree_view_get_bin_window(int /*long*/ tree_view);
-//  void _gtk_tree_view_get_cell_area(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, GdkRectangle rect);
-//  int /*long*/_gtk_tree_view_get_expander_column(int /*long*/ tree_view);
-//  int /*long*/ _gtk_tree_view_get_column(int /*long*/ tree_view, int n);
-//  int /*long*/ _gtk_tree_view_get_columns(int /*long*/ tree_view);
-//  void _gtk_tree_view_get_cursor(int /*long*/ tree_view, int /*long*/[] path, int /*long*/[] focus_column);
-//  bool _gtk_tree_view_get_headers_visible(int /*long*/ tree_view);
-//  bool _gtk_tree_view_get_path_at_pos(int /*long*/ tree_view, int x, int y, int /*long*/[] path, int /*long*/[] column, int[] cell_x, int[] cell_y);
-//  bool _gtk_tree_view_get_rules_hint(int /*long*/ tree_view);
-//  int /*long*/ _gtk_tree_view_get_selection(int /*long*/ tree_view);
-//  void _gtk_tree_view_get_visible_rect(int /*long*/ tree_view, GdkRectangle visible_rect);
-//  int _gtk_tree_view_insert_column(int /*long*/ tree_view, int /*long*/ column, int position);
-//  void _gtk_tree_view_move_column_after(int /*long*/ tree_view, int /*long*/ column, int /*long*/ base_column);
-//  int /*long*/ _gtk_tree_view_new_with_model(int /*long*/ model);
-//  void _gtk_tree_view_remove_column(int /*long*/ tree_view, int /*long*/ column);
-//  bool _gtk_tree_view_row_expanded(int /*long*/ view, int /*long*/ path);
-//  void _gtk_tree_view_scroll_to_cell(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, bool use_align, float row_aligh, float column_align);
-//  void _gtk_tree_view_scroll_to_point (int /*long*/ tree_view, int tree_x, int tree_y);
-//  void _gtk_tree_view_set_cursor(int /*long*/ tree_view, int /*long*/ path, int /*long*/ focus_column, bool start_editing);
-//  void _gtk_tree_view_set_headers_visible(int /*long*/ tree_view, bool visible);
-//  void _gtk_tree_view_set_model(int /*long*/ tree_view, int /*long*/ model);
-//  void _gtk_tree_view_set_rules_hint(int /*long*/ tree_view, bool setting);
-//  void _gtk_tree_view_set_search_column(int /*long*/ tree_view, int column);
-//  void _gtk_tree_view_tree_to_widget_coords(int /*long*/ tree_view, int tx, int ty, int[] wx, int[] wy);
-//  void _gtk_tree_view_unset_rows_drag_dest(int /*long*/ tree_view);
-//  void _gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty);
-//  int /*long*/ _gtk_vbox_new(bool homogeneous, int spacing);
-//  int /*long*/ _gtk_vscale_new(int /*long*/ adjustment);
-//  int /*long*/ _gtk_vscrollbar_new(int /*long*/ adjustment);
-//  int /*long*/ _gtk_vseparator_new();
-//  void _gtk_widget_add_accelerator(int /*long*/ widget, byte[] accel_signal, int /*long*/ accel_group, int accel_key, int accel_mods, int accel_flags);
-//  void _gtk_widget_add_events(int /*long*/ widget, int events);
-//  bool _gtk_widget_child_focus(int /*long*/ widget, int direction);
-//  int /*long*/ _gtk_widget_create_pango_layout(int /*long*/ widget, byte[] text);
-//  int /*long*/ _gtk_widget_create_pango_layout(int /*long*/ widget, int /*long*/ text);
-//  void _gtk_widget_destroy(int /*long*/ widget);
-//  bool _gtk_widget_event(int /*long*/ widget, int /*long*/ event);
-//  int /*long*/ _gtk_widget_get_accessible (int /*long*/ widget);
-//  bool _gtk_widget_get_child_visible (int /*long*/ widget);
-//  int _gtk_widget_get_default_direction();
-//  int /*long*/ _gtk_widget_get_default_style();
-//  int _gtk_widget_get_direction(int /*long*/ widget);
-//  int _gtk_widget_get_events(int /*long*/ widget);
-//  int /*long*/ _gtk_widget_get_modifier_style(int /*long*/ widget);
-//  int /*long*/ _gtk_widget_get_pango_context(int /*long*/ widget);
-//  int /*long*/ _gtk_widget_get_parent(int /*long*/ widget);
-//  int /*long*/ _gtk_widget_get_style(int /*long*/ widget);
-//  void _gtk_widget_get_size_request(int /*long*/ widget, int [] width, int [] height);
-//  int /*long*/ _gtk_widget_get_toplevel (int /*long*/ widget);
-//  void _gtk_widget_grab_focus(int /*long*/ widget);
-//  void _gtk_widget_hide(int /*long*/ widget);
-//  bool _gtk_widget_is_focus(int /*long*/ widget);
-//  void _gtk_widget_map(int /*long*/ widget);
-//  bool _gtk_widget_mnemonic_activate(int /*long*/ widget, bool group_cycling);
-//  void _gtk_widget_modify_base(int /*long*/ widget, int state, GdkColor color);
-//  void _gtk_widget_modify_bg(int /*long*/ widget, int state, GdkColor color);
-//  void _gtk_widget_modify_fg(int /*long*/ widget, int state, GdkColor color);
-//  void _gtk_widget_modify_font(int /*long*/ widget, int /*long*/ pango_font_descr);
-//  void _gtk_widget_modify_style(int /*long*/ widget, int /*long*/ style);
-//  void _gtk_widget_modify_text(int /*long*/ widget, int state, GdkColor color);
-//  void _gtk_widget_queue_resize(int /*long*/ widget);
-//  void _gtk_widget_realize(int /*long*/ widget);
-//  void _gtk_widget_remove_accelerator(int /*long*/ widget, int /*long*/ accel_group, int accel_key, int accel_mods);
-//  void _gtk_widget_reparent(int /*long*/ widget, int /*long*/ new_parent);
-//  void _gtk_widget_set_app_paintable(int /*long*/ widget, bool app_paintable);
-//  void _gtk_widget_set_default_direction(int dir);
-//  void _gtk_widget_set_direction(int /*long*/ widget, int dir);
-//  void _gtk_widget_set_double_buffered(int /*long*/ widget, bool double_buffered);
-//  void _gtk_widget_set_name(int /*long*/ widget, byte[] name);
-//  void _gtk_widget_set_redraw_on_allocate(int /*long*/ widget, bool redraw);
-//  void _gtk_widget_set_sensitive(int /*long*/ widget, bool sensitive);
-//  void _gtk_widget_set_size_request(int /*long*/ widget, int width, int height);
-//  void _gtk_widget_set_state(int /*long*/ widget, int state);
-//  void _gtk_widget_set_style(int /*long*/ widget, int /*long*/ style);
-//  void _gtk_widget_shape_combine_mask(int /*long*/ widget, int /*long*/ shape_mask, int offset_x, int offset_y);
-//  void _gtk_widget_show(int /*long*/ widget);
-//  void _gtk_widget_show_now(int /*long*/ widget);
-//  void _gtk_widget_size_allocate(int /*long*/ widget, GtkAllocation allocation);
-//  void _gtk_widget_size_request(int /*long*/ widget, GtkRequisition requisition);
-//  void _gtk_widget_style_get(int /*long*/ widget, byte[] property_name, int[] value, int /*long*/ terminator);
-//  void _gtk_widget_style_get(int /*long*/ widget, byte[] property_name, long[] value, int /*long*/ terminator);
-//  bool _gtk_widget_translate_coordinates(int /*long*/ src_widget, int /*long*/ dest_widget, int src_x, int src_y, int[] dest_x, int[] dest_y);
-//  void _gtk_widget_unrealize(int /*long*/ widget);
-//  bool _gtk_window_activate_default(int /*long*/ window);
-//  void _gtk_window_add_accel_group(int /*long*/ window, int /*long*/ accel_group);
-//  void _gtk_window_deiconify(int /*long*/ handle);
-//  int /*long*/ _gtk_window_get_focus(int /*long*/ window);
-//  int /*long*/ _gtk_window_get_icon_list(int /*long*/ window);
-//  bool _gtk_window_get_modal(int /*long*/ window);
-//  int _gtk_window_get_mnemonic_modifier(int /*long*/ window);
-//  void _gtk_window_get_position(int /*long*/ handle, int[] x, int[] y);
-//  void _gtk_window_get_size(int /*long*/ handle, int[] x, int[] y);
-//  void _gtk_window_iconify(int /*long*/ handle);
-//  void _gtk_window_maximize(int /*long*/ handle);
-//  void _gtk_window_move(int /*long*/ handle, int x, int y);
-//  int /*long*/ _gtk_window_new(int type);
-//  void _gtk_window_present(int /*long*/ window);
-//  void _gtk_window_remove_accel_group(int /*long*/ window, int /*long*/ accel_group);
-//  void _gtk_window_resize(int /*long*/ handle, int x, int y);
-//  void _gtk_window_set_default(int /*long*/ window, int /*long*/ widget);
-//  void _gtk_window_set_destroy_with_parent(int /*long*/ window, bool setting);
-//  void _gtk_window_set_geometry_hints(int /*long*/ window, int /*long*/ geometry_widget, GdkGeometry geometry, int geom_mask);
-//  void _gtk_window_set_icon_list(int /*long*/ window, int /*long*/ list);
-//  void _gtk_window_set_modal(int /*long*/ window, bool modal);
-//  void _gtk_widget_set_parent_window(int /*long*/ widget, int /*long*/ parent_window);
-//  void _gtk_window_set_resizable(int /*long*/ window, bool resizable);
-//  void _gtk_window_set_title(int /*long*/ window, byte[] title);
-//  void _gtk_window_set_skip_taskbar_hint(int /*long*/ window, bool skips_taskbar);
-//  void _gtk_window_set_type_hint(int /*long*/ window, int hint);
-//  void _gtk_window_set_transient_for(int /*long*/ window, int /*long*/ parent);
-//  void _gtk_window_unmaximize(int /*long*/ handle);
-//
-//  int /*long*/ _pango_attr_background_new (short red, short green, short blue);
-//  int /*long*/ _pango_attr_font_desc_new(int /*long*/ desc);
-//  int /*long*/ _pango_attr_foreground_new (short red, short green, short blue);
-//  int /*long*/ _pango_attr_rise_new(int rise);
-//  int /*long*/ _pango_attr_shape_new(PangoRectangle ink_rect, PangoRectangle logical_rect);
-//  void _pango_attr_list_insert(int /*long*/ list, int /*long*/ attr);
-//  void _pango_attr_list_change(int /*long*/ list, int /*long*/ attr);
-//  int /*long*/ _pango_attr_list_new();
-//  void _pango_attr_list_unref(int /*long*/ list);
-//  int /*long*/ _pango_attr_strikethrough_new(bool strikethrough);
-//  int /*long*/ _pango_attr_underline_new(int underline);
-//  int /*long*/ _pango_attr_weight_new(int weight);
-//  int /*long*/ _pango_cairo_font_map_get_default();
-//  int /*long*/ _pango_cairo_font_map_new();
-//  int /*long*/ _pango_cairo_font_map_create_context(int /*long*/ fontmap);
-//  int /*long*/ _pango_cairo_create_layout(int /*long*/ cairo);
-//  int /*long*/ _pango_cairo_context_get_font_options(int /*long*/ context);
-//  void _pango_cairo_context_set_font_options(int /*long*/ context, int /*long*/ options);
-//  void _pango_cairo_font_map_set_resolution(int /*long*/ fontmap, double dpi);
-//  void _pango_cairo_layout_path(int /*long*/ cairo, int /*long*/ layout);
-//  void _pango_cairo_show_layout(int /*long*/ cairo, int /*long*/ layout);
-//  int _pango_context_get_base_dir(int /*long*/ context);
-//  int /*long*/ _pango_context_get_language(int /*long*/ context);
-//  int /*long*/ _pango_context_get_metrics(int /*long*/ context, int /*long*/ desc, int /*long*/ language);
-//  void _pango_context_list_families(int /*long*/ context, int /*long*/[] families, int[] n_families);
-//  void _pango_context_set_base_dir(int /*long*/ context, int direction);
-//  void _pango_context_set_language(int /*long*/ context, int /*long*/ language);
-//  int /*long*/ _pango_font_description_copy(int /*long*/ desc);
-//  void _pango_font_description_free(int /*long*/ desc);
-//  int /*long*/ _pango_font_description_from_string(byte[] str);
-//  int /*long*/ _pango_font_description_get_family(int /*long*/ desc);
-//  int _pango_font_description_get_size(int /*long*/ desc);
-//  int _pango_font_description_get_style(int /*long*/ desc);
-//  int _pango_font_description_get_weight(int /*long*/ desc);
-//  int /*long*/ _pango_font_description_new();
-//  void _pango_font_description_set_family(int /*long*/ desc, byte[] family);
-//  void _pango_font_description_set_size(int /*long*/ desc, int size);
-//  void _pango_font_description_set_stretch(int /*long*/ desc, int stretch);
-//  void _pango_font_description_set_style(int /*long*/ desc, int weight);
-//  void _pango_font_description_set_weight(int /*long*/ desc, int weight);
-//  int /*long*/ _pango_font_description_to_string(int /*long*/ desc);
-//  int /*long*/ _pango_font_face_describe(int /*long*/ face);
-//  int /*long*/ _pango_font_family_get_name(int /*long*/ family);
-//  void _pango_font_family_list_faces(int /*long*/ family, int /*long*/[] faces, int[] n_faces);
-//  int /*long*/ _pango_font_get_metrics(int /*long*/ font, int /*long*/ language);
-//  int _pango_font_metrics_get_approximate_char_width(int /*long*/ metrics);
-//  int _pango_font_metrics_get_ascent(int /*long*/ metrics);
-//  int _pango_font_metrics_get_descent(int /*long*/ metrics);
-//  void _pango_font_metrics_unref(int /*long*/ metrics);
-//  int /*long*/ _pango_language_from_string(byte[] language);
-//  void _pango_layout_context_changed(int /*long*/ layout);
-//  int _pango_layout_get_alignment(int /*long*/ layout);
-//  int /*long*/ _pango_layout_get_context(int /*long*/ layout);
-//  int /*long*/ _pango_layout_get_attributes(int /*long*/ layout);
-//  int _pango_layout_get_indent(int /*long*/ layout);
-//  int /*long*/ _pango_layout_get_iter(int /*long*/ layout);
-//  bool _pango_layout_get_justify(int /*long*/ layout);
-//  int /*long*/ _pango_layout_get_line(int /*long*/ layout, int line);
-//  int _pango_layout_get_line_count(int /*long*/ layout);
-//  void _pango_layout_get_log_attrs(int /*long*/ layout, int /*long*/[] attrs, int[] n_attrs);
-//  void _pango_layout_get_size(int /*long*/ layout, int[] width, int[] height);
-//  int _pango_layout_get_spacing(int /*long*/ layout);
-//  int /*long*/ _pango_layout_get_tabs(int /*long*/ layout);
-//  int /*long*/ _pango_layout_get_text(int /*long*/ layout);
-//  int _pango_layout_get_width(int /*long*/ layout);
-//  void _pango_layout_index_to_pos(int /*long*/ layout, int index, PangoRectangle pos);
-//  void _pango_layout_iter_free(int /*long*/ iter);
-//  void _pango_layout_iter_get_line_extents(int /*long*/ iter, PangoRectangle ink_rect, PangoRectangle logical_rect);
-//  int _pango_layout_iter_get_index(int /*long*/ iter);
-//  int /*long*/ _pango_layout_iter_get_run(int /*long*/ iter);
-//  bool _pango_layout_iter_next_line(int /*long*/ iter);
-//  bool _pango_layout_iter_next_run(int /*long*/ iter);
-//  void _pango_layout_line_get_extents(int /*long*/ line, PangoRectangle ink_rect, PangoRectangle logical_rect);
-//  bool _pango_layout_line_x_to_index(int /*long*/ line, int x_pos, int[] index_, int[] trailing);
-//  int /*long*/ _pango_layout_new(int /*long*/ context);
-//  void _pango_layout_set_alignment (int /*long*/ layout, int alignment);
-//  void _pango_layout_set_attributes(int /*long*/ layout, int /*long*/ attrs);
-//  void _pango_layout_set_auto_dir(int /*long*/ layout, bool auto_dir);
-//  void _pango_layout_set_font_description(int /*long*/ context, int /*long*/ descr);
-//  void _pango_layout_set_indent(int /*long*/ layout, int indent);
-//  void _pango_layout_set_justify(int /*long*/ layout, bool justify);
-//  void _pango_layout_set_single_paragraph_mode(int /*long*/ context, bool setting);
-//  void _pango_layout_set_spacing(int /*long*/ layout, int spacing);
-//  void _pango_layout_set_tabs(int /*long*/ layout, int /*long*/ tabs);
-//  void _pango_layout_set_text(int /*long*/ layout, byte[] text, int length);
-//  void _pango_layout_set_width(int /*long*/ layout, int width);
-//  void _pango_layout_set_wrap (int /*long*/ layout, int wrap);
-//  bool _pango_layout_xy_to_index(int /*long*/ layout, int x, int y, int[] index, int[] trailing);
-//  int _pango_tab_array_get_size(int /*long*/ tab_array);
-//  void _pango_tab_array_get_tabs(int /*long*/ tab_array, int /*long*/[] alignments, int /*long*/[] locations);
-//  void _pango_tab_array_free(int /*long*/ tab_array);
-//  int /*long*/ _pango_tab_array_new(int initial_size, bool positions_in_pixels);
-//  void _pango_tab_array_set_tab(int /*long*/ tab_array, int tab_index, int /*long*/ alignment, int location);
-//  bool atk_object_add_relationship (int /*long*/ object, int relationship, int /*long*/ target);
-}
-
 public class OS : Platform {
 
     /** OS Constants */
@@ -1685,6 +586,7 @@
 public static final native int XFocusChangeEvent_sizeof();
 public static final native int XVisibilityEvent_sizeof();
 public static final native int XWindowChanges_sizeof();
+
 public static final native int /*long*/ localeconv_decimal_point();
 public static final native int /*long*/ realpath(byte[] path, byte[] realPath);
 
@@ -1747,34 +649,13 @@
 public static const int VisibilityNotify = 15;
 public static const int SYSTEM_TRAY_REQUEST_DOCK = 0;
 /++
-    mixin ForwardGtkOsCFunc!(localeconv_decimal_point);
-    mixin ForwardGtkOsCFunc!(realpath);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_HEIGHT);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_WIDTH);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_WINDOW);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_X);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_Y);
-    mixin ForwardGtkOsCFunc!(GTK_SCROLLED_WINDOW_HSCROLLBAR);
-    mixin ForwardGtkOsCFunc!(GTK_SCROLLED_WINDOW_VSCROLLBAR);
-    mixin ForwardGtkOsCFunc!(GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING);
-    mixin ForwardGtkOsCFunc!(GTK_ACCEL_LABEL_SET_ACCEL_STRING);
-    mixin ForwardGtkOsCFunc!(GTK_ACCEL_LABEL_GET_ACCEL_STRING);
-    mixin ForwardGtkOsCFunc!(GTK_ENTRY_IM_CONTEXT);
-    mixin ForwardGtkOsCFunc!(GTK_TEXTVIEW_IM_CONTEXT);
-    mixin ForwardGtkOsCFunc!(GTK_TOOLTIPS_TIP_WINDOW);
-    mixin ForwardGtkOsCFunc!(GTK_TOOLTIPS_SET_ACTIVE);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_SET_HEIGHT);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_SET_WIDTH);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_SET_X);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_SET_Y);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_REQUISITION_WIDTH);
-    mixin ForwardGtkOsCFunc!(GTK_WIDGET_REQUISITION_HEIGHT);
-    mixin ForwardGtkOsCFunc!(GDK_EVENT_TYPE);
-    mixin ForwardGtkOsCFunc!(GDK_EVENT_WINDOW);
+//    mixin ForwardGtkOsCFunc!(localeconv_decimal_point);
+//    mixin ForwardGtkOsCFunc!(realpath);
+
     mixin ForwardGtkOsCFunc!(X_EVENT_TYPE);
     mixin ForwardGtkOsCFunc!(X_EVENT_WINDOW);
-    mixin ForwardGtkOsCFunc!(.Call);
-    mixin ForwardGtkOsCFunc!(.call );
+//    mixin ForwardGtkOsCFunc!(.Call);
+//    mixin ForwardGtkOsCFunc!(.call );
     mixin ForwardGtkOsCFunc!(GDK_WINDOWING_X11);
     mixin ForwardGtkOsCFunc!(.GDK_PIXMAP_XID);
     mixin ForwardGtkOsCFunc!(.XCheckMaskEvent);
@@ -1799,6 +680,7 @@
     mixin ForwardGtkOsCFunc!(.XTestFakeKeyEvent);
     mixin ForwardGtkOsCFunc!(.XTestFakeMotionEvent);
     mixin ForwardGtkOsCFunc!(.XWarpPointer);
+
     mixin ForwardGtkOsCFunc!(.gdk_x11_atom_to_xatom);
     mixin ForwardGtkOsCFunc!(.gdk_x11_colormap_get_xcolormap);
     mixin ForwardGtkOsCFunc!(.gdk_x11_drawable_get_xdisplay);
@@ -1810,8 +692,9 @@
     mixin ForwardGtkOsCFunc!(.gdk_window_lookup);
     mixin ForwardGtkOsCFunc!(.gdk_window_add_filter);
     mixin ForwardGtkOsCFunc!(.gdk_window_remove_filter);
+
 /** X render natives and constants */
-    mixin ForwardGtkOsCFunc!(XRenderPictureAttributes_sizeof);
+ //   mixin ForwardGtkOsCFunc!(XRenderPictureAttributes_sizeof);
     mixin ForwardGtkOsCFunc!(.XRenderQueryExtension);
     mixin ForwardGtkOsCFunc!(.XRenderQueryVersion);
     mixin ForwardGtkOsCFunc!(.XRenderCreatePicture);
@@ -1821,7 +704,7 @@
     mixin ForwardGtkOsCFunc!(.XRenderComposite);
     mixin ForwardGtkOsCFunc!(.XRenderFindStandardFormat);
     mixin ForwardGtkOsCFunc!(.XRenderFindVisualFormat);
-    mixin ForwardGtkOsCFunc!(Call );
+//    mixin ForwardGtkOsCFunc!(Call );
     mixin ForwardGtkOsCFunc!(.GDK_DISPLAY);
     mixin ForwardGtkOsCFunc!(.GDK_ROOT_PARENT);
     mixin ForwardGtkOsCFunc!(.GDK_TYPE_COLOR);
@@ -1860,7 +743,8 @@
     mixin ForwardGtkOsCFunc!(.G_OBJECT_TYPE );
     mixin ForwardGtkOsCFunc!(.G_TYPE_STRING);
     mixin ForwardGtkOsCFunc!(.PANGO_PIXELS);
-    mixin ForwardGtkOsCFunc!(.PANGO_TYPE_FONT_DESCRIPTION);
+    mixin ForwardGtkOsCFunc!(.PANGO_TYPE_FONT_DESCRIPTION); +/
+
     mixin ForwardGtkOsCFunc!(.g_cclosure_new);
     mixin ForwardGtkOsCFunc!(.g_closure_ref);
     mixin ForwardGtkOsCFunc!(.g_closure_unref);
@@ -1881,17 +765,17 @@
     mixin ForwardGtkOsCFunc!(.g_free);
     mixin ForwardGtkOsCFunc!(.g_idle_add);
     mixin ForwardGtkOsCFunc!(.g_list_append);
-    mixin ForwardGtkOsCFunc!(.g_list_data);
+//    mixin ForwardGtkOsCFunc!(.g_list_data);
     mixin ForwardGtkOsCFunc!(.g_list_free);
     mixin ForwardGtkOsCFunc!(.g_list_free_1);
     mixin ForwardGtkOsCFunc!(.g_list_length);
-    mixin ForwardGtkOsCFunc!(.g_list_set_next);
-    mixin ForwardGtkOsCFunc!(.g_list_next);
+//   mixin ForwardGtkOsCFunc!(.g_list_set_next);
+//   mixin ForwardGtkOsCFunc!(.g_list_next);
     mixin ForwardGtkOsCFunc!(.g_list_nth);
     mixin ForwardGtkOsCFunc!(.g_list_nth_data);
     mixin ForwardGtkOsCFunc!(.g_list_prepend);
-    mixin ForwardGtkOsCFunc!(.g_list_set_previous);
-    mixin ForwardGtkOsCFunc!(.g_list_previous);
+//    mixin ForwardGtkOsCFunc!(.g_list_set_previous);
+//    mixin ForwardGtkOsCFunc!(.g_list_previous);
     mixin ForwardGtkOsCFunc!(.g_list_remove_link);
     mixin ForwardGtkOsCFunc!(.g_list_reverse);
     mixin ForwardGtkOsCFunc!(.g_locale_from_utf8);
@@ -1913,10 +797,10 @@
     mixin ForwardGtkOsCFunc!(.g_object_unref);
     mixin ForwardGtkOsCFunc!(.g_quark_from_string);
     mixin ForwardGtkOsCFunc!(.g_set_prgname);
-    mixin ForwardGtkOsCFunc!(.g_signal_connect);
+//    mixin ForwardGtkOsCFunc!(.g_signal_connect);
     mixin ForwardGtkOsCFunc!(.g_signal_connect_closure);
     mixin ForwardGtkOsCFunc!(.g_signal_connect_closure_by_id);
-    mixin ForwardGtkOsCFunc!(.g_signal_connect_after);
+//    mixin ForwardGtkOsCFunc!(.g_signal_connect_after);
     mixin ForwardGtkOsCFunc!(.g_signal_emit_by_name);
     mixin ForwardGtkOsCFunc!(.g_signal_emit_by_name);
     mixin ForwardGtkOsCFunc!(.g_signal_emit_by_name);
@@ -1928,9 +812,9 @@
     mixin ForwardGtkOsCFunc!(.g_signal_lookup );
     mixin ForwardGtkOsCFunc!(.g_signal_stop_emission_by_name);
     mixin ForwardGtkOsCFunc!(.g_source_remove );
-    mixin ForwardGtkOsCFunc!(.g_slist_data );
+ //   mixin ForwardGtkOsCFunc!(.g_slist_data );
     mixin ForwardGtkOsCFunc!(.g_slist_free );
-    mixin ForwardGtkOsCFunc!(.g_slist_next );
+ //   mixin ForwardGtkOsCFunc!(.g_slist_next );
     mixin ForwardGtkOsCFunc!(.g_slist_length );
     mixin ForwardGtkOsCFunc!(.g_strfreev);
     mixin ForwardGtkOsCFunc!(.g_strtod);
@@ -1952,8 +836,8 @@
     mixin ForwardGtkOsCFunc!(.g_utf8_strlen);
     mixin ForwardGtkOsCFunc!(.g_utf8_to_utf16);
     mixin ForwardGtkOsCFunc!(.g_utf8_to_utf16);
-    mixin ForwardGtkOsCFunc!(.gdk_atom_intern);
-    mixin ForwardGtkOsCFunc!(.gdk_atom_name);
+//    mixin ForwardGtkOsCFunc!(.gdk_atom_intern);
+//    mixin ForwardGtkOsCFunc!(.gdk_atom_name);
     mixin ForwardGtkOsCFunc!(.gdk_beep);
     mixin ForwardGtkOsCFunc!(.gdk_bitmap_create_from_data);
     mixin ForwardGtkOsCFunc!(.gdk_cairo_region);
@@ -1963,7 +847,7 @@
     mixin ForwardGtkOsCFunc!(.gdk_colormap_free_colors);
     mixin ForwardGtkOsCFunc!(.gdk_colormap_get_system);
     mixin ForwardGtkOsCFunc!(.gdk_colormap_query_color);
-    mixin ForwardGtkOsCFunc!(.gdk_cursor_destroy);
+//    mixin ForwardGtkOsCFunc!(.gdk_cursor_destroy);
     mixin ForwardGtkOsCFunc!(.gdk_cursor_new);
     mixin ForwardGtkOsCFunc!(.gdk_cursor_new_from_pixmap);
     mixin ForwardGtkOsCFunc!(.gdk_cursor_new_from_pixbuf);
@@ -1999,7 +883,7 @@
     mixin ForwardGtkOsCFunc!(.gdk_error_trap_push);
     mixin ForwardGtkOsCFunc!(.gdk_error_trap_pop);
     mixin ForwardGtkOsCFunc!(.gdk_flush);
-    mixin ForwardGtkOsCFunc!(.gdk_free_text_list);
+//    mixin ForwardGtkOsCFunc!(.gdk_free_text_list);
     mixin ForwardGtkOsCFunc!(.gdk_gc_get_values);
     mixin ForwardGtkOsCFunc!(.gdk_gc_new);
     mixin ForwardGtkOsCFunc!(.gdk_gc_set_background);
@@ -2023,9 +907,9 @@
     mixin ForwardGtkOsCFunc!(.gdk_keymap_translate_keyboard_state );
     mixin ForwardGtkOsCFunc!(.gdk_keyval_to_lower);
     mixin ForwardGtkOsCFunc!(.gdk_keyval_to_unicode);
-    mixin ForwardGtkOsCFunc!(.gdk_pango_context_get);
-    mixin ForwardGtkOsCFunc!(.gdk_pango_context_set_colormap);
-    mixin ForwardGtkOsCFunc!(.gdk_pango_layout_get_clip_region);
+//    mixin ForwardGtkOsCFunc!(.gdk_pango_context_get);
+//    mixin ForwardGtkOsCFunc!(.gdk_pango_context_set_colormap);
+//    mixin ForwardGtkOsCFunc!(.gdk_pango_layout_get_clip_region);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_copy_area);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_from_drawable);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_has_alpha);
@@ -2033,7 +917,7 @@
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_pixels);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_rowstride);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_width);
-    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_new);
+//    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_new);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_new_from_file);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_render_to_drawable);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_render_to_drawable_alpha);
@@ -2044,7 +928,7 @@
     mixin ForwardGtkOsCFunc!(.gdk_pointer_grab);
     mixin ForwardGtkOsCFunc!(.gdk_pointer_is_grabbed);
     mixin ForwardGtkOsCFunc!(.gdk_pointer_ungrab);
-    mixin ForwardGtkOsCFunc!(.gdk_property_get);
+//    mixin ForwardGtkOsCFunc!(.gdk_property_get);
     mixin ForwardGtkOsCFunc!(.gdk_region_destroy);
     mixin ForwardGtkOsCFunc!(.gdk_region_empty);
     mixin ForwardGtkOsCFunc!(.gdk_region_get_clipbox);
@@ -2070,9 +954,9 @@
     mixin ForwardGtkOsCFunc!(.gdk_screen_width);
     mixin ForwardGtkOsCFunc!(.gdk_screen_width_mm);
     mixin ForwardGtkOsCFunc!(.gdk_set_program_class);
-    mixin ForwardGtkOsCFunc!(.gdk_utf8_to_compound_text);
-    mixin ForwardGtkOsCFunc!(.gdk_utf8_to_string_target);
-    mixin ForwardGtkOsCFunc!(.gdk_text_property_to_utf8_list  );
+//    mixin ForwardGtkOsCFunc!(.gdk_utf8_to_compound_text);
+//   mixin ForwardGtkOsCFunc!(.gdk_utf8_to_string_target);
+//    mixin ForwardGtkOsCFunc!(.gdk_text_property_to_utf8_list  );
     mixin ForwardGtkOsCFunc!(.gdk_unicode_to_keyval);
     mixin ForwardGtkOsCFunc!(.gdk_visual_get_system);
     mixin ForwardGtkOsCFunc!(.gdk_window_at_pointer);
@@ -2159,10 +1043,10 @@
     mixin ForwardGtkOsCFunc!(.gtk_color_selection_get_current_color);
     mixin ForwardGtkOsCFunc!(.gtk_color_selection_set_current_color);
     mixin ForwardGtkOsCFunc!(.gtk_color_selection_set_has_palette);
-    mixin ForwardGtkOsCFunc!(.gtk_combo_disable_activate);
-    mixin ForwardGtkOsCFunc!(.gtk_combo_new);
-    mixin ForwardGtkOsCFunc!(.gtk_combo_set_case_sensitive);
-    mixin ForwardGtkOsCFunc!(.gtk_combo_set_popdown_strings);
+ //   mixin ForwardGtkOsCFunc!(.gtk_combo_disable_activate);
+ //   mixin ForwardGtkOsCFunc!(.gtk_combo_new);
+ //   mixin ForwardGtkOsCFunc!(.gtk_combo_set_case_sensitive);
+ //   mixin ForwardGtkOsCFunc!(.gtk_combo_set_popdown_strings);
     mixin ForwardGtkOsCFunc!(.gtk_combo_box_entry_new_text);
     mixin ForwardGtkOsCFunc!(.gtk_combo_box_new_text);
     mixin ForwardGtkOsCFunc!(.gtk_combo_box_insert_text);
@@ -2203,7 +1087,6 @@
     mixin ForwardGtkOsCFunc!(.gtk_editable_select_region);
     mixin ForwardGtkOsCFunc!(.gtk_editable_set_editable);
     mixin ForwardGtkOsCFunc!(.gtk_editable_set_position);
-    ++/
     mixin ForwardGtkOsCFunc!(.gtk_entry_get_invisible_char);
     mixin ForwardGtkOsCFunc!(.gtk_entry_get_layout );
     mixin ForwardGtkOsCFunc!(.gtk_entry_get_layout_offsets );
@@ -2220,7 +1103,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_entry_set_max_length);
     mixin ForwardGtkOsCFunc!(.gtk_entry_set_text);
     mixin ForwardGtkOsCFunc!(.gtk_entry_set_visibility);
-    /++
+
     mixin ForwardGtkOsCFunc!(.gtk_events_pending);
     mixin ForwardGtkOsCFunc!(.gtk_expander_get_expanded);
     mixin ForwardGtkOsCFunc!(.gtk_expander_get_label_widget);
@@ -2279,7 +1162,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_im_context_focus_in);
     mixin ForwardGtkOsCFunc!(.gtk_im_context_focus_out);
     mixin ForwardGtkOsCFunc!(.gtk_im_context_get_preedit_string);
-    mixin ForwardGtkOsCFunc!(.gtk_im_context_get_type);
+//    mixin ForwardGtkOsCFunc!(.gtk_im_context_get_type);
     mixin ForwardGtkOsCFunc!(.gtk_im_context_reset);
     mixin ForwardGtkOsCFunc!(.gtk_im_context_set_client_window);
     mixin ForwardGtkOsCFunc!(.gtk_im_context_set_cursor_location);
@@ -2303,14 +1186,14 @@
     mixin ForwardGtkOsCFunc!(.gtk_label_set_text);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_text);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_text_with_mnemonic);
-    mixin ForwardGtkOsCFunc!(.gtk_list_append_items);
-    mixin ForwardGtkOsCFunc!(.gtk_list_clear_items);
-    mixin ForwardGtkOsCFunc!(.gtk_list_insert_items);
-    mixin ForwardGtkOsCFunc!(.gtk_list_item_new_with_label);
-    mixin ForwardGtkOsCFunc!(.gtk_list_remove_items);
-    mixin ForwardGtkOsCFunc!(.gtk_list_select_item);
-    mixin ForwardGtkOsCFunc!(.gtk_list_unselect_all);
-    mixin ForwardGtkOsCFunc!(.gtk_list_unselect_item);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_append_items);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_clear_items);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_insert_items);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_item_new_with_label);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_remove_items);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_select_item);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_unselect_all);
+//    mixin ForwardGtkOsCFunc!(.gtk_list_unselect_item);
     mixin ForwardGtkOsCFunc!(.gtk_list_store_append);
     mixin ForwardGtkOsCFunc!(.gtk_list_store_clear);
     mixin ForwardGtkOsCFunc!(.gtk_list_store_insert);
@@ -2321,9 +1204,9 @@
     mixin ForwardGtkOsCFunc!(.gtk_list_store_set);
     mixin ForwardGtkOsCFunc!(.gtk_list_store_set);
     mixin ForwardGtkOsCFunc!(.gtk_list_store_set);
-    mixin ForwardGtkOsCFunc!(.gtk_major_version);
-    mixin ForwardGtkOsCFunc!(.gtk_minor_version);
-    mixin ForwardGtkOsCFunc!(.gtk_micro_version);
+//    mixin ForwardGtkOsCFunc!(.gtk_major_version);
+//    mixin ForwardGtkOsCFunc!(.gtk_minor_version);
+//    mixin ForwardGtkOsCFunc!(.gtk_micro_version);
     mixin ForwardGtkOsCFunc!(.gtk_main);
     mixin ForwardGtkOsCFunc!(.gtk_main_iteration);
     mixin ForwardGtkOsCFunc!(.gtk_main_do_event);
@@ -2451,15 +1334,15 @@
     mixin ForwardGtkOsCFunc!(.gtk_range_set_range);
     mixin ForwardGtkOsCFunc!(.gtk_range_set_value);
     mixin ForwardGtkOsCFunc!(.gtk_rc_parse_string);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_get_bg_pixmap_name);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_get_color_flags);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_bg);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_bg_pixmap_name);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_color_flags);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_get_bg_pixmap_name);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_get_color_flags);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_bg);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_bg_pixmap_name);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_color_flags);
     mixin ForwardGtkOsCFunc!(.gtk_scale_set_digits);
     mixin ForwardGtkOsCFunc!(.gtk_scale_set_draw_value);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_fg);
-    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_text);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_fg);
+//    mixin ForwardGtkOsCFunc!(.gtk_rc_style_set_text);
     mixin ForwardGtkOsCFunc!(.gtk_scrolled_window_add_with_viewport);
     mixin ForwardGtkOsCFunc!(.gtk_scrolled_window_get_hadjustment);
     mixin ForwardGtkOsCFunc!(.gtk_scrolled_window_get_policy);
@@ -2485,25 +1368,25 @@
     mixin ForwardGtkOsCFunc!(.gtk_spin_button_set_value);
     mixin ForwardGtkOsCFunc!(.gtk_spin_button_set_wrap);
     mixin ForwardGtkOsCFunc!(.gtk_spin_button_update);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_base);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_black);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_bg);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_dark);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_fg);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_fg_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_bg_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_light_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_dark_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_mid_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_text_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_text_aa_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_black_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_white_gc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_font_desc);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_light);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_text);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_xthickness);
-    mixin ForwardGtkOsCFunc!(.gtk_style_get_ythickness);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_base);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_black);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_bg);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_dark);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_fg);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_fg_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_bg_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_light_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_dark_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_mid_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_text_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_text_aa_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_black_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_white_gc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_font_desc);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_light);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_text);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_xthickness);
+//    mixin ForwardGtkOsCFunc!(.gtk_style_get_ythickness);
     mixin ForwardGtkOsCFunc!(.gtk_style_render_icon);
     mixin ForwardGtkOsCFunc!(.gtk_target_list_new);
     mixin ForwardGtkOsCFunc!(.gtk_target_list_unref);
@@ -2566,7 +1449,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_tree_model_get_iter_first);
     mixin ForwardGtkOsCFunc!(.gtk_tree_model_get_n_columns);
     mixin ForwardGtkOsCFunc!(.gtk_tree_model_get_path);
-    mixin ForwardGtkOsCFunc!(.gtk_tree_model_get_type);
+//    mixin ForwardGtkOsCFunc!(.gtk_tree_model_get_type);
     mixin ForwardGtkOsCFunc!(.gtk_tree_model_iter_children);
     mixin ForwardGtkOsCFunc!(.gtk_tree_model_iter_n_children);
     mixin ForwardGtkOsCFunc!(.gtk_tree_model_iter_next);
@@ -2764,15 +1647,15 @@
     mixin ForwardGtkOsCFunc!(.pango_attr_strikethrough_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_underline_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_weight_new);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_get_default);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_new);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_create_context);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_create_layout);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_context_get_font_options);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_context_set_font_options);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_set_resolution);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_layout_path);
-    mixin ForwardGtkOsCFunc!(.pango_cairo_show_layout);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_get_default);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_new);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_create_context);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_create_layout);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_context_get_font_options);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_context_set_font_options);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_set_resolution);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_layout_path);
+//    mixin ForwardGtkOsCFunc!(.pango_cairo_show_layout);
     mixin ForwardGtkOsCFunc!(.pango_context_get_base_dir);
     mixin ForwardGtkOsCFunc!(.pango_context_get_language);
     mixin ForwardGtkOsCFunc!(.pango_context_get_metrics);
@@ -2847,5 +1730,101 @@
     mixin ForwardGtkOsCFunc!(.pango_tab_array_set_tab);
     mixin ForwardGtkOsCFunc!(.atk_object_add_relationship );
 
-++/
+    /* Field accessors */
+    
+    void    GTK_ACCEL_LABEL_SET_ACCEL_STRING( GtkAccelLabel *arg0, gchar * arg1 )
+            { arg0.accel_string = arg1; }
+    gchar*  GTK_ACCEL_LABEL_GET_ACCEL_STRING( GtkAccelLabel* arg0) 
+            { return arg0.accel_string; }
+    
+    GtkWidget* GTK_SCROLLED_WINDOW_HSCROLLBAR( GtkScrolledWindow* arg0 )
+            { return arg0.hscrollbar; }
+    GtkWidget* GTK_SCROLLED_WINDOW_VSCROLLBAR( GtkScrolledWindow* arg0 )
+            { return arg0.vscrollbar; }
+    
+    int GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING( GtkScrolledWindow* arg0) 
+    {
+        return   ((cast(GtkScrolledWindowClass*) ((cast(GTypeInstance*) arg0).g_class) ).scrollbar_spacing >= 0 ?
+                  (cast(GtkScrolledWindowClass*) ((cast(GTypeInstance*) arg0).g_class)).scrollbar_spacing : 3) ; 
+    }
+    
+    int  GTK_WIDGET_HEIGHT( GtkWidget* arg0 )                   
+         { return arg0.allocation.height; }
+    void GTK_WIDGET_SET_HEIGHT( GtkWidget* arg0, int arg1)      
+         { arg0.allocation.height = arg1; }
+    int  GTK_WIDGET_WIDTH( GtkWidget* arg0)                     
+         { return arg0.allocation.width; }
+    void GTK_WIDGET_SET_WIDTH( GtkWidget* arg0, int arg1)       
+         { arg0.allocation.width = arg1; }
+    GdkWindow* GTK_WIDGET_WINDOW( GtkWidget* arg0)              
+         { return arg0.window; }
+    int  GTK_WIDGET_X( GtkWidget* arg0 )                        
+         { return arg0.allocation.x; }
+    void GTK_WIDGET_SET_X( GtkWidget* arg0, int arg1)           
+         { arg0.allocation.x = arg1; }
+    int  GTK_WIDGET_Y( GtkWidget* arg0 )                        
+         { return arg0.allocation.y; }
+    void GTK_WIDGET_SET_Y( GtkWidget* arg0, int arg1)           
+         { arg0.allocation.y = arg1; }
+    int  GTK_WIDGET_REQUISITION_WIDTH( GtkWidget* arg0 )        
+         { return arg0.requisition.width;  }
+    int  GTK_WIDGET_REQUISITION_HEIGHT( GtkWidget* arg0 )       
+         { return arg0.requisition.height; }
+ 
+    GtkIMContext* GTK_ENTRY_IM_CONTEXT( GtkEntry* arg0 )        
+         { return arg0.im_context; }
+
+    GtkIMContext* GTK_TEXTVIEW_IM_CONTEXT( GtkTextView* arg0)   
+         { return arg0.im_context; }
+
+    GtkWidget* GTK_TOOLTIPS_TIP_WINDOW( GtkTooltips* arg0)      
+         { return arg0.tip_window; }
+    void GTK_TOOLTIPS_SET_ACTIVE( GtkTooltips* arg0, GtkTooltipsData*  arg1 )       
+         { arg0.active_tips_data = arg1; }
+
+    int  GDK_EVENT_TYPE( GdkEvent* arg0 )                    
+         { return arg0.type; }
+    GdkWindow* GDK_EVENT_WINDOW( GdkEventAny* arg0 )            
+         { return arg0.window; }
+/+
+    int  X_EVENT_TYPE( XEvent* arg0 )                         
+         { return arg0.type; }
+    Window X_EVENT_WINDOW( XAnyEvent* arg0 )                    
+         { return arg0.window; }
+
+    g_list_data(arg0) (arg0)->data
+    g_slist_data(arg0) (arg0)->data
+    g_list_set_next(arg0, arg1) (arg0)->next = arg1
+    g_list_set_previous(arg0, arg1) (arg0)->prev = arg1
+
+    gtk_rc_style_get_bg_pixmap_name(arg0, arg1) (arg0)->bg_pixmap_name[arg1]
+    gtk_rc_style_get_color_flags(arg0, arg1) (arg0)->color_flags[arg1]
+    gtk_rc_style_set_bg(arg0, arg1, arg2) if (arg2) (arg0)->bg[arg1] = *arg2
+    gtk_rc_style_set_bg_pixmap_name(arg0, arg1, arg2) (arg0)->bg_pixmap_name[arg1] = (char *)arg2
+    gtk_rc_style_set_color_flags(arg0, arg1, arg2) (arg0)->color_flags[arg1] = arg2
+    gtk_rc_style_set_fg(arg0, arg1, arg2) if (arg2) (arg0)->fg[arg1] = *arg2
+    gtk_rc_style_set_text(arg0, arg1, arg2) if (arg2) (arg0)->text[arg1] = *arg2
+
+    gtk_style_get_font_desc(arg0) (arg0)->font_desc
+    gtk_style_get_base(arg0, arg1, arg2) *arg2 = (arg0)->base[arg1]
+    gtk_style_get_bg(arg0, arg1, arg2) *arg2 = (arg0)->bg[arg1]
+    gtk_style_get_black(arg0, arg1) *arg1 = (arg0)->black
+    gtk_style_get_dark(arg0, arg1, arg2) *arg2 = (arg0)->dark[arg1]
+    gtk_style_get_fg(arg0, arg1, arg2) *arg2 = (arg0)->fg[arg1]
+    gtk_style_get_light(arg0, arg1, arg2) *arg2 = (arg0)->light[arg1]
+    gtk_style_get_text(arg0, arg1, arg2) *arg2 = (arg0)->text[arg1]
+    gtk_style_get_xthickness(arg0) (arg0)->xthickness
+    gtk_style_get_ythickness(arg0) (arg0)->ythickness
+    gtk_style_get_fg_gc(arg0, arg1, arg2) *arg2 = (arg0)->fg_gc[arg1]
+    gtk_style_get_bg_gc(arg0, arg1, arg2) *arg2 = (arg0)->bg_gc[arg1]
+    gtk_style_get_light_gc(arg0, arg1, arg2) *arg2 = (arg0)->light_gc[arg1]
+    gtk_style_get_dark_gc(arg0, arg1, arg2) *arg2 = (arg0)->dark_gc[arg1]
+    gtk_style_get_mid_gc(arg0, arg1, arg2) *arg2 = (arg0)->mid_gc[arg1]
+    gtk_style_get_text_gc(arg0, arg1, arg2) *arg2 = (arg0)->text_gc[arg1]
+    gtk_style_get_text_aa_gc(arg0, arg1, arg2) *arg2 = (arg0)->text_aa_gc[arg1]
+    gtk_style_get_black_gc(arg0, arg1) *arg1 = (arg0)->black_gc
+    gtk_style_get_white_gc(arg0, arg1) *arg1 = (arg0)->white_gc
+
+    localeconv_decimal_point() localeconv()->decimal_point
++/
 }
--- a/dwt/internal/gtk/c/gobjecttypes.d	Sat Jan 05 15:13:44 2008 -0800
+++ b/dwt/internal/gtk/c/gobjecttypes.d	Sun Jan 06 13:35:33 2008 -0800
@@ -237,13 +237,20 @@
 /**
  * An opaque structure used as the base of all type instances.
  */
-public struct GTypeInstance{}
-
+public struct GTypeInstance
+{
+  /*< private >*/
+  GTypeClass *g_class;
+}
 
 /**
  * An opaque structure used as the base of all classes.
  */
-public struct GTypeClass{}
+public struct GTypeClass
+{
+  /*< private >*/
+  GType g_type;
+}
 
 
 /**
@@ -456,59 +463,45 @@
  * static GObject*
  * my_singleton_constructor (GType type,
  */
-public struct GObjectClass{}
-// GTypeClass gTypeClass;
-// gobject-The-Base-Object-Type.html
-// /+* seldomly overidden +/
-// gobject-The-Base-Object-Type.html
-// GObject* (*constructor) (GType type,
-// gobject-The-Base-Object-Type.html
-// uint nConstructProperties,
-// gobject-The-Base-Object-Type.html
-// GObjectConstructParam *constructProperties);
-// gobject-The-Base-Object-Type.html
-// /+* overridable methods +/
-// gobject-The-Base-Object-Type.html
-// void (*setProperty) (GObject *object,
-// gobject-The-Base-Object-Type.html
-// uint propertyId,
-// gobject-The-Base-Object-Type.html
-// GValue *value,
-// gobject-The-Base-Object-Type.html
-// GParamSpec *pspec);
-// gobject-The-Base-Object-Type.html
-// void (*getProperty) (GObject *object,
-// gobject-The-Base-Object-Type.html
-// uint propertyId,
-// gobject-The-Base-Object-Type.html
-// GValue *value,
-// gobject-The-Base-Object-Type.html
-// GParamSpec *pspec);
-// gobject-The-Base-Object-Type.html
-// void (*dispose) (GObject *object);
-// gobject-The-Base-Object-Type.html
-// void (*finalize) (GObject *object);
-// gobject-The-Base-Object-Type.html
-// /+* seldomly overidden +/
-// gobject-The-Base-Object-Type.html
-// void (*dispatchPropertiesChanged) (GObject *object,
-// gobject-The-Base-Object-Type.html
-// uint nPspecs,
-// gobject-The-Base-Object-Type.html
-// GParamSpec **pspecs);
-// gobject-The-Base-Object-Type.html
-// /+* signals +/
-// gobject-The-Base-Object-Type.html
-// void (*notify) (GObject *object,
-// gobject-The-Base-Object-Type.html
-// GParamSpec *pspec);
-// gobject-The-Base-Object-Type.html
-// /+* called when done constructing +/
-// gobject-The-Base-Object-Type.html
-// void (*constructed) (GObject *object);
-// gobject-The-Base-Object-Type.html
+
+public struct  GObjectClass
+{
+  GTypeClass   g_type_class;
+
+  /*< private >*/
+  GSList      *construct_properties;
 
+  /*< public >*/
+  /* seldomly overidden */
+  GObject*   (*constructor)     (GType                  type,
+                                 guint                  n_construct_properties,
+                                 GObjectConstructParam *construct_properties);
+  /* overridable methods */
+  void       (*set_property)        (GObject        *object,
+                                         guint           property_id,
+                                         GValue   *value,
+                                         GParamSpec     *pspec);
+  void       (*get_property)        (GObject        *object,
+                                         guint           property_id,
+                                         GValue         *value,
+                                         GParamSpec     *pspec);
+  void       (*dispose)         (GObject        *object);
+  void       (*finalize)        (GObject        *object);
+  /* seldomly overidden */
+  void       (*dispatch_properties_changed) (GObject      *object,
+                         guint     n_pspecs,
+                         GParamSpec  **pspecs);
+  /* signals */
+  void       (*notify)          (GObject    *object,
+                     GParamSpec *pspec);
 
+  /* called when done constructing */
+  void       (*constructed)     (GObject    *object);
+
+  /*< private >*/
+  /* padding */
+  gpointer  pdummy[7];
+}
 /**
  * The GObjectConstructParam struct is an auxiliary
  * structure used to hand GParamSpec/GValue pairs to the constructor of
@@ -551,7 +544,7 @@
 /**
  * The class structure for the GInitiallyUnowned type.
  */
-public struct GInitiallyUnownedClass{}
+alias GObjectClass GInitiallyUnownedClass;
 
 
 /**
--- a/dwt/internal/gtk/c/gtk.d	Sat Jan 05 15:13:44 2008 -0800
+++ b/dwt/internal/gtk/c/gtk.d	Sun Jan 06 13:35:33 2008 -0800
@@ -20,7 +20,7 @@
 
 module dwt.internal.gtk.c.gtk;
 
-private import dwt.internal.gtk.c.gtktypes;
+public  import dwt.internal.gtk.c.gtktypes;
 private import dwt.internal.gtk.runtime.Loader;
 
 /******************************************************************************
@@ -2506,6 +2506,7 @@
 	GtkCornerType function(GtkScrolledWindow* scrolledWindow)gtk_scrolled_window_get_placement;
 	void function(GtkScrolledWindow* scrolledWindow, GtkPolicyType* hscrollbarPolicy, GtkPolicyType* vscrollbarPolicy)gtk_scrolled_window_get_policy;
 	GtkShadowType function(GtkScrolledWindow* scrolledWindow)gtk_scrolled_window_get_shadow_type;
+    GType function() gtk_scrolled_window_get_type;
 	
 	// gtk.PrintOperation
 	
@@ -5455,6 +5456,7 @@
 	{ "gtk_scrolled_window_get_placement",  cast(void**)& gtk_scrolled_window_get_placement},
 	{ "gtk_scrolled_window_get_policy",  cast(void**)& gtk_scrolled_window_get_policy},
 	{ "gtk_scrolled_window_get_shadow_type",  cast(void**)& gtk_scrolled_window_get_shadow_type},
+    { "gtk_scrolled_window_get_type", cast(void**)& gtk_scrolled_window_get_type},
 	{ "gtk_print_operation_new",  cast(void**)& gtk_print_operation_new},
 	{ "gtk_print_operation_set_allow_async",  cast(void**)& gtk_print_operation_set_allow_async},
 	{ "gtk_print_operation_get_error",  cast(void**)& gtk_print_operation_get_error},
--- a/dwt/internal/gtk/c/gtktypes.d	Sat Jan 05 15:13:44 2008 -0800
+++ b/dwt/internal/gtk/c/gtktypes.d	Sun Jan 06 13:35:33 2008 -0800
@@ -33,7 +33,43 @@
 ******************************************************************************/
 
 alias void GtkAccelGroupEntry;
-alias void GtkContainerClass;
+
+// GtkContainerClass Needed by dwt macros - JJR
+struct GtkContainerClass
+{
+  GtkWidgetClass parent_class;
+
+  void    (*add)            (GtkContainer    *container,
+                 GtkWidget   *widget);
+  void    (*remove)         (GtkContainer    *container,
+                 GtkWidget   *widget);
+  void    (*check_resize)   (GtkContainer    *container);
+  void    (*forall)         (GtkContainer    *container,
+                 gboolean     include_internals,
+                 GtkCallback      callback,
+                 gpointer     callback_data);
+  void    (*set_focus_child)    (GtkContainer    *container,
+                 GtkWidget   *widget);
+  GType   (*child_type)     (GtkContainer    *container);
+  gchar*  (*composite_name) (GtkContainer    *container,
+                 GtkWidget   *child);
+  void    (*set_child_property) (GtkContainer    *container,
+                 GtkWidget       *child,
+                 guint            property_id,
+                 GValue    *value,
+                 GParamSpec      *pspec);
+  void    (*get_child_property) (GtkContainer    *container,
+                                 GtkWidget       *child,
+                 guint            property_id,
+                 GValue          *value,
+                 GParamSpec      *pspec);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) ();
+  void (*_gtk_reserved2) ();
+  void (*_gtk_reserved3) ();
+  void (*_gtk_reserved4) ();
+}
 
 //alias GTokenType.G_TOKEN_LAST G_TOKEN_LAST;";
 //alias GtkSignalRunType.G_SIGNAL_RUN_FIRST G_SIGNAL_RUN_FIRST;
@@ -2460,7 +2496,18 @@
  * The GtkAccelLabel struct contains private data only, and
  * should be accessed using the functions below.
  */
-public struct GtkAccelLabel{}
+public struct GtkAccelLabel
+{
+    GtkLabel label;
+
+    guint          gtk_reserved;
+    guint          accel_padding;
+    GtkWidget     *accel_widget;
+    GClosure  *accel_closure;
+    GtkAccelGroup *accel_group;
+    gchar         *accel_string;
+    guint16        accel_string_width;
+}
 
 
 /**
@@ -2554,7 +2601,68 @@
  * Main Gtk struct.
  * The GtkEntry struct contains only private data.
  */
-public struct GtkEntry{}
+public struct GtkEntry
+{
+  GtkWidget  widget;
+
+  gchar     *text;
+  guint     flags;
+
+//  guint      editable : 1;
+//  guint      visible  : 1;
+//  guint      overwrite_mode : 1;
+//  guint      in_drag : 1;   /* Dragging within the selection */
+
+  guint16 text_length;  /* length in use, in chars */
+  guint16 text_max_length;
+
+  /*< private >*/
+  GdkWindow *text_area;
+  GtkIMContext *im_context;
+  GtkWidget   *popup_menu;
+  
+  gint         current_pos;
+  gint         selection_bound;
+  
+  PangoLayout *cached_layout;
+
+  guint     flags2;
+//  guint        cache_includes_preedit : 1;
+//  guint        need_im_reset          : 1;
+//  guint        has_frame              : 1;
+//  guint        activates_default      : 1;
+//  guint        cursor_visible         : 1;
+//  guint        in_click               : 1;  /* Flag so we don't select all when clicking in entry to focus in */
+//  guint        is_cell_renderer       : 1;
+//  guint        editing_canceled       : 1; /* Only used by GtkCellRendererText */
+//  guint        mouse_cursor_obscured  : 1;
+//  guint        select_words           : 1;
+//  guint        select_lines           : 1;
+//  guint        resolved_dir           : 4; /* PangoDirection */
+//  guint        truncate_multiline     : 1;
+
+  guint   button;
+  guint   blink_timeout;
+  guint   recompute_idle;
+  gint    scroll_offset;
+  gint    ascent;   /* font ascent, in pango units  */
+  gint    descent;  /* font descent, in pango units  */
+  
+  guint16 text_size;    /* allocated size, in bytes */
+  guint16 n_bytes;  /* length in use, in bytes */
+
+  guint16 preedit_length;   /* length of preedit string, in bytes */
+  guint16 preedit_cursor;   /* offset of cursor within preedit string, in chars */
+
+  gint dnd_position;        /* In chars, -1 == no DND cursor */
+
+  gint drag_start_x;
+  gint drag_start_y;
+  
+  gunichar invisible_char;
+
+  gint width_chars;
+}
 
 
 /**
@@ -2754,7 +2862,92 @@
 /**
  * Main Gtk struct.
  */
-public struct GtkTextView{}
+public struct GtkTextView
+{
+  GtkContainer parent_instance;
+
+//  GtkTextLayout *layout;
+  void *layout;
+  GtkTextBuffer *buffer;
+
+  guint selection_drag_handler;
+  guint scroll_timeout;
+
+  /* Default style settings */
+  gint pixels_above_lines;
+  gint pixels_below_lines;
+  gint pixels_inside_wrap;
+  GtkWrapMode wrap_mode;  
+  GtkJustification justify;
+  gint left_margin;
+  gint right_margin;
+  gint indent;
+  PangoTabArray *tabs;
+  guint flags;
+//  guint editable : 1;
+//  guint overwrite_mode : 1;
+//  guint cursor_visible : 1;
+
+  /* if we have reset the IM since the last character entered */  
+//  guint  need_im_reset : 1; 
+//  guint accepts_tab : 1;
+//  guint width_changed : 1;
+  
+  /* debug flag - means that we've validated onscreen since the
+   * last "invalidate" signal from the layout
+   */
+//  guint onscreen_validated : 1;
+//  guint mouse_cursor_obscured : 1;
+
+  // changed next five declarations to void* from GtkTextWindow*
+  void *text_window;
+  void *left_window;
+  void *right_window;
+  void *top_window;
+  void *bottom_window;
+
+  GtkAdjustment *hadjustment;
+  GtkAdjustment *vadjustment;
+
+  gint xoffset;                 /* Offsets between widget coordinates and buffer coordinates */
+  gint yoffset;
+  gint width;                   /* Width and height of the buffer */
+  gint height;
+
+  /* The virtual cursor position is normally the same as the
+   * actual (strong) cursor position, except in two circumstances:
+   *
+   * a) When the cursor is moved vertically with the keyboard
+   * b) When the text view is scrolled with the keyboard
+   *
+   * In case a), virtual_cursor_x is preserved, but not virtual_cursor_y
+   * In case b), both virtual_cursor_x and virtual_cursor_y are preserved.
+   */
+  gint virtual_cursor_x;           /* -1 means use actual cursor position */
+  gint virtual_cursor_y;           /* -1 means use actual cursor position */
+
+  GtkTextMark *first_para_mark;    /* Mark at the beginning of the first onscreen paragraph */
+  gint first_para_pixels;          /* Offset of top of screen in the first onscreen paragraph */
+
+  GtkTextMark *dnd_mark;
+  guint blink_timeout;
+
+  guint first_validate_idle;            /* Idle to revalidate onscreen portion, runs before resize */
+  guint incremental_validate_idle;      /* Idle to revalidate offscreen portions, runs after redraw */
+
+  GtkIMContext *im_context;
+  GtkWidget *popup_menu;
+
+  gint drag_start_x;
+  gint drag_start_y;
+
+  GSList *children;
+  // changed next to void* from GtkTextPendingScroll* - JJR
+  void *pending_scroll;
+
+  gint pending_place_cursor_button;
+}
+
 
 
 /**
@@ -3897,12 +4090,60 @@
  * There are no public fields in the GtkScrolledWindow struct; it should
  * only be accessed using the functions below.
  */
-public struct GtkScrolledWindow{}
-// GtkWidget *hscrollbar;
-// GtkScrolledWindow.html
-// GtkWidget *vscrollbar;
-// GtkScrolledWindow.html
-
+public struct GtkScrolledWindow
+{
+  GtkBin container;
+
+  /*< public >*/
+  GtkWidget *hscrollbar;
+  GtkWidget *vscrollbar;
+
+  /*< private >*/
+  guint flags;
+//  guint hscrollbar_policy      : 2;
+//  guint vscrollbar_policy      : 2;
+//  guint hscrollbar_visible     : 1;
+//  guint vscrollbar_visible     : 1;
+//  guint window_placement       : 2;
+//  guint focus_out              : 1; 
+
+  guint16 shadow_type;
+}
+
+
+public struct GtkBinClass
+{
+  GtkContainerClass parent_class;
+}
+
+// GtkScrolledWindowClass is accessed by dwt macros :p - JJR
+
+public struct GtkScrolledWindowClass
+{
+  GtkBinClass parent_class;
+  
+  gint scrollbar_spacing;
+
+  /* Action signals for keybindings. Do not connect to these signals
+   */
+
+  /* Unfortunately, GtkScrollType is deficient in that there is
+   * no horizontal/vertical variants for GTK_SCROLL_START/END,
+   * so we have to add an additional boolean flag.
+   */
+  gboolean (*scroll_child) (GtkScrolledWindow *scrolled_window,
+                GtkScrollType      scroll,
+                gboolean           horizontal);
+
+  void (* move_focus_out) (GtkScrolledWindow *scrolled_window,
+               GtkDirectionType   direction);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) ();
+  void (*_gtk_reserved2) ();
+  void (*_gtk_reserved3) ();
+  void (*_gtk_reserved4) ();
+}
 
 /**
  * Main Gtk struct.
@@ -4166,7 +4407,21 @@
 /**
  * Main Gtk struct.
  */
-public struct GtkContainer{}
+public struct GtkContainer
+{
+  GtkWidget widget;
+  
+  GtkWidget *focus_child;
+  
+  guint flags;
+//  guint border_width : 16;
+
+  /*< private >*/
+//  guint need_resize : 1;
+//  guint resize_mode : 2;
+//  guint reallocate_redraws : 1;
+//  guint has_focus_chain : 1;
+}
 
 
 /**
@@ -4211,7 +4466,18 @@
  * Main Gtk struct.
  * The object itself. You should never use these members directly -
  */
-public struct GtkObject{}
+
+public struct GtkObject
+{
+  GInitiallyUnowned parent_instance;
+  
+  /* 32 bits of flags. GtkObject only uses 4 of these bits and
+   *  GtkWidget uses the rest. This is done because structs are
+   *  aligned on 4 or 8 byte boundaries. If a new bitfield were
+   *  used in GtkWidget much space would be wasted.
+   */
+  guint32 flags;
+}
 
 
 /**
@@ -4262,7 +4528,41 @@
  * GtkStyle*style;
  * The style for the widget. The style contains the colors the widget should be
  */
-public struct GtkWidget{}
+public struct GtkWidget
+{
+    GtkObject   object;
+    guint16     private_flags;
+    guint8      state;
+    guint8      saved_state;
+    gchar*      name;
+    
+    /*< public >*/
+
+    /* The style for the widget. The style contains the
+     *  colors the widget should be drawn in for each state
+     *  along with graphics contexts used to draw with and
+     *  the font to use for text.
+     */
+    GtkStyle *style;
+  
+    /* The widget's desired size.
+     */
+    GtkRequisition requisition;
+  
+    /* The widget's allocated size.
+     */
+    GtkAllocation allocation;
+  
+    /* The widget's window or its parent window if it does
+     *  not have a window. (Which will be indicated by the
+     *  GTK_NO_WINDOW flag being set).
+     */
+    GdkWindow *window;
+  
+    /* The widget's parent.
+     */
+    GtkWidget *parent;
+}
 // /+* The style for the widget. The style contains the
 // GtkWidget.html
 // * colors the widget should be drawn inn for each state
@@ -4316,26 +4616,226 @@
  * handles the emission.
  * Implementation of this signal is optional.
  */
-public struct GtkWidgetClass{}
-// /+* The object class structure needs to be the first
-// GtkWidget.html
-// * element inn the widget class structure inn order for
-// GtkWidget.html
-// * the class mechanism to work correctly. This allows a
-// GtkWidget.html
-// * GtkWidgetClass pointer to be cast to a GtkObjectClass
-// GtkWidget.html
-// * pointer.
-// GtkWidget.html
-// +/
-// GtkWidget.html
-// GtkObjectClass parentClass;
-// GtkWidget.html
-// uint activateSignal;
-// GtkWidget.html
-// uint setScrollAdjustmentsSignal;
-// GtkWidget.html
-
+struct GtkObjectClass
+{
+  GInitiallyUnownedClass parent_class;
+  
+  /* Non overridable class methods to set and get per class arguments */
+  void (*set_arg) (GtkObject *object,
+           GtkArg    *arg,
+           guint      arg_id);
+  void (*get_arg) (GtkObject *object,
+           GtkArg    *arg,
+           guint      arg_id);
+  
+  /* Default signal handler for the ::destroy signal, which is
+   *  invoked to request that references to the widget be dropped.
+   *  If an object class overrides destroy() in order to perform class
+   *  specific destruction then it must still invoke its superclass'
+   *  implementation of the method after it is finished with its
+   *  own cleanup. (See gtk_widget_real_destroy() for an example of
+   *  how to do this).
+   */
+  void (*destroy)  (GtkObject *object);
+}
+
+struct GtkWidgetClass
+{
+  /* The object class structure needs to be the first
+   *  element in the widget class structure in order for
+   *  the class mechanism to work correctly. This allows a
+   *  GtkWidgetClass pointer to be cast to a GtkObjectClass
+   *  pointer.
+   */
+  GtkObjectClass parent_class;
+
+  /*< public >*/
+  
+  guint activate_signal;
+
+  guint set_scroll_adjustments_signal;
+
+  /*< private >*/
+  
+  /* seldomly overidden */
+  void (*dispatch_child_properties_changed) (GtkWidget   *widget,
+                         guint        n_pspecs,
+                         GParamSpec **pspecs);
+
+  /* basics */
+  void (* show)            (GtkWidget        *widget);
+  void (* show_all)            (GtkWidget        *widget);
+  void (* hide)            (GtkWidget        *widget);
+  void (* hide_all)            (GtkWidget        *widget);
+  void (* map)             (GtkWidget        *widget);
+  void (* unmap)           (GtkWidget        *widget);
+  void (* realize)         (GtkWidget        *widget);
+  void (* unrealize)           (GtkWidget        *widget);
+  void (* size_request)        (GtkWidget        *widget,
+                GtkRequisition   *requisition);
+  void (* size_allocate)       (GtkWidget        *widget,
+                GtkAllocation    *allocation);
+  void (* state_changed)       (GtkWidget        *widget,
+                GtkStateType      previous_state);
+  void (* parent_set)          (GtkWidget        *widget,
+                GtkWidget        *previous_parent);
+  void (* hierarchy_changed)   (GtkWidget        *widget,
+                GtkWidget        *previous_toplevel);
+  void (* style_set)           (GtkWidget        *widget,
+                GtkStyle         *previous_style);
+  void (* direction_changed)   (GtkWidget        *widget,
+                GtkTextDirection  previous_direction);
+  void (* grab_notify)         (GtkWidget        *widget,
+                gboolean          was_grabbed);
+  void (* child_notify)        (GtkWidget    *widget,
+                GParamSpec       *pspec);
+  
+  /* Mnemonics */
+  gboolean (* mnemonic_activate) (GtkWidget    *widget,
+                  gboolean      group_cycling);
+  
+  /* explicit focus */
+  void     (* grab_focus)      (GtkWidget        *widget);
+  gboolean (* focus)           (GtkWidget        *widget,
+                                GtkDirectionType  direction);
+  
+  /* events */
+  gboolean (* event)            (GtkWidget       *widget,
+                     GdkEvent        *event);
+  gboolean (* button_press_event)   (GtkWidget       *widget,
+                     GdkEventButton      *event);
+  gboolean (* button_release_event) (GtkWidget       *widget,
+                     GdkEventButton      *event);
+  gboolean (* scroll_event)     (GtkWidget           *widget,
+                     GdkEventScroll      *event);
+  gboolean (* motion_notify_event)  (GtkWidget       *widget,
+                     GdkEventMotion      *event);
+  gboolean (* delete_event)     (GtkWidget       *widget,
+                     GdkEventAny         *event);
+  gboolean (* destroy_event)        (GtkWidget       *widget,
+                     GdkEventAny         *event);
+  gboolean (* expose_event)     (GtkWidget       *widget,
+                     GdkEventExpose      *event);
+  gboolean (* key_press_event)      (GtkWidget       *widget,
+                     GdkEventKey         *event);
+  gboolean (* key_release_event)    (GtkWidget       *widget,
+                     GdkEventKey         *event);
+  gboolean (* enter_notify_event)   (GtkWidget       *widget,
+                     GdkEventCrossing    *event);
+  gboolean (* leave_notify_event)   (GtkWidget       *widget,
+                     GdkEventCrossing    *event);
+  gboolean (* configure_event)      (GtkWidget       *widget,
+                     GdkEventConfigure   *event);
+  gboolean (* focus_in_event)       (GtkWidget       *widget,
+                     GdkEventFocus       *event);
+  gboolean (* focus_out_event)      (GtkWidget       *widget,
+                     GdkEventFocus       *event);
+  gboolean (* map_event)        (GtkWidget       *widget,
+                     GdkEventAny         *event);
+  gboolean (* unmap_event)      (GtkWidget       *widget,
+                     GdkEventAny         *event);
+  gboolean (* property_notify_event)    (GtkWidget       *widget,
+                     GdkEventProperty    *event);
+  gboolean (* selection_clear_event)    (GtkWidget       *widget,
+                     GdkEventSelection   *event);
+  gboolean (* selection_request_event)  (GtkWidget       *widget,
+                     GdkEventSelection   *event);
+  gboolean (* selection_notify_event)   (GtkWidget       *widget,
+                     GdkEventSelection   *event);
+  gboolean (* proximity_in_event)   (GtkWidget       *widget,
+                     GdkEventProximity   *event);
+  gboolean (* proximity_out_event)  (GtkWidget       *widget,
+                     GdkEventProximity   *event);
+  gboolean (* visibility_notify_event)  (GtkWidget       *widget,
+                     GdkEventVisibility  *event);
+  gboolean (* client_event)     (GtkWidget       *widget,
+                     GdkEventClient      *event);
+  gboolean (* no_expose_event)      (GtkWidget       *widget,
+                     GdkEventAny         *event);
+  gboolean (* window_state_event)   (GtkWidget       *widget,
+                     GdkEventWindowState *event);
+  
+  /* selection */
+  void (* selection_get)           (GtkWidget          *widget,
+                    GtkSelectionData   *selection_data,
+                    guint               info,
+                    guint               time_);
+  void (* selection_received)      (GtkWidget          *widget,
+                    GtkSelectionData   *selection_data,
+                    guint               time_);
+
+  /* Source side drag signals */
+  void (* drag_begin)              (GtkWidget          *widget,
+                    GdkDragContext     *context);
+  void (* drag_end)            (GtkWidget          *widget,
+                    GdkDragContext     *context);
+  void (* drag_data_get)           (GtkWidget          *widget,
+                    GdkDragContext     *context,
+                    GtkSelectionData   *selection_data,
+                    guint               info,
+                    guint               time_);
+  void (* drag_data_delete)        (GtkWidget          *widget,
+                    GdkDragContext     *context);
+
+  /* Target side drag signals */
+  void (* drag_leave)              (GtkWidget          *widget,
+                    GdkDragContext     *context,
+                    guint               time_);
+  gboolean (* drag_motion)         (GtkWidget          *widget,
+                    GdkDragContext     *context,
+                    gint                x,
+                    gint                y,
+                    guint               time_);
+  gboolean (* drag_drop)           (GtkWidget          *widget,
+                    GdkDragContext     *context,
+                    gint                x,
+                    gint                y,
+                    guint               time_);
+  void (* drag_data_received)      (GtkWidget          *widget,
+                    GdkDragContext     *context,
+                    gint                x,
+                    gint                y,
+                    GtkSelectionData   *selection_data,
+                    guint               info,
+                    guint               time_);
+
+  /* Signals used only for keybindings */
+  gboolean (* popup_menu)          (GtkWidget          *widget);
+
+  /* If a widget has multiple tooltips/whatsthis, it should show the
+   * one for the current focus location, or if that doesn't make
+   * sense, should cycle through them showing each tip alongside
+   * whatever piece of the widget it applies to.
+   */
+  gboolean (* show_help)           (GtkWidget          *widget,
+                                    GtkWidgetHelpType   help_type);
+  
+  /* accessibility support 
+   */
+  AtkObject*   (*get_accessible)     (GtkWidget *widget);
+
+  void         (*screen_changed)     (GtkWidget *widget,
+                                      GdkScreen *previous_screen);
+  gboolean     (*can_activate_accel) (GtkWidget *widget,
+                                      guint      signal_id);
+
+  /* Sent when a grab is broken. */
+  gboolean (*grab_broken_event) (GtkWidget       *widget,
+                                 GdkEventGrabBroken  *event);
+
+  void         (* composited_changed) (GtkWidget *widget);
+
+  gboolean     (* query_tooltip)      (GtkWidget  *widget,
+                       gint        x,
+                       gint        y,
+                       gboolean    keyboard_tooltip,
+                       GtkTooltip *tooltip);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved5) ();
+  void (*_gtk_reserved6) ();
+  void (*_gtk_reserved7) ();
+}
 
 /**
  * A GtkRequisition represents the desired size of a widget. See
@@ -4886,7 +5386,26 @@
  * GtkTooltips is deprecated and should not be used in newly-written code.
  * Holds information about a group of tooltips. Fields should be changed using the functions provided, rather than directly accessing the struct's members.
  */
-public struct GtkTooltips{}
+public struct GtkTooltips
+{
+  GtkObject parent_instance;
+
+  /*< private >*/
+  GtkWidget *tip_window;
+  GtkWidget *tip_label;
+  GtkTooltipsData *active_tips_data;
+  GList *tips_data_list; /* unused */
+
+  guint   flags1;
+  guint   flags2;
+
+//  guint   delay : 30;
+//  guint   enabled : 1;
+//  guint   have_grab : 1;
+//  guint   use_sticky_delay : 1;
+//  gint    timer_tag;
+  GTimeVal last_popdown;
+}
 
 
 /**
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test.d	Sun Jan 06 13:35:33 2008 -0800
@@ -0,0 +1,44 @@
+module test;
+
+private import dwt.internal.gtk.c.cairo;
+private import tango.core.Traits;
+private import tango.io.Stdout;
+private import tango.stdc.stdio;
+
+struct lock {
+static void lock() { printf("lock\n");}
+static void unlock() { printf("unlock\n");}
+}
+
+const static char[] mm = "Inside outer cairo_version";
+
+template NameOfFunc(alias f) {
+    // Note: highly dependent on the .stringof formatting
+    // the value begins with "& " which is why the first two chars are cut off
+    const char[] NameOfFunc = (&f).stringof[2 .. $];
+}
+
+template ForwardGtkOsCFunc( alias cFunc ) {
+    alias ParameterTupleOf!(cFunc) P;
+    alias ReturnTypeOf!(cFunc) R;
+    mixin("public static R " ~ NameOfFunc!(cFunc) ~ "( P p ){
+        lock.lock();
+        scope(exit) lock.unlock();
+        Stdout (mm).newline; 
+        return cFunc(p);
+    }");
+}
+
+public class OS  {
+    mixin ForwardGtkOsCFunc!(cairo_version);
+    mixin ForwardGtkOsCFunc!(cairo_version_string);
+}
+
+void main()
+{
+    Stdout ("calling cairo_version...").newline;
+    int p = OS.cairo_version();
+    int i = cairo_version();
+    Stdout.formatln("OS.cairo_version() returns: {}    cairo_version() returns: {}", p, i ).newline;
+    printf("OS.cairo_version_string returns: %s\n",  cairo_version_string() );
+}
\ No newline at end of file