diff dwt/internal/gtk/OS.d @ 240:ce446666f5a2

Update to SWT 3.4M7
author Frank Benoit <benoit@tionex.de>
date Mon, 12 May 2008 19:13:01 +0200
parents dc5328912f3d
children c07d56c08e9f
line wrap: on
line diff
--- a/dwt/internal/gtk/OS.d	Mon May 12 15:36:37 2008 +0200
+++ b/dwt/internal/gtk/OS.d	Mon May 12 19:13:01 2008 +0200
@@ -36,6 +36,7 @@
         dwt.internal.c.Xrender,
         dwt.internal.c.glib_object;
 
+static import tango.stdc.string;
 //version=GTK_DYN_LINK;
 
 public alias dwt.internal.c.glib_object.GPollFD GPollFD;
@@ -52,6 +53,9 @@
 public alias dwt.internal.c.glib_object.GInterfaceInfo GInterfaceInfo;
 public alias dwt.internal.c.glib_object.GTypeQuery GTypeQuery;
 public alias dwt.internal.c.glib_object.GError GError;
+public alias dwt.internal.c.glib_object.GSignalEmissionHook GSignalEmissionHook;
+public alias dwt.internal.c.glib_object.GSignalInvocationHint GSignalInvocationHint;
+public alias dwt.internal.c.glib_object.GValue GValue;
 
 public alias dwt.internal.c.gdk.GdkColor GdkColor;
 public alias dwt.internal.c.gdk.GdkRegion GdkRegion;
@@ -82,19 +86,21 @@
 public alias dwt.internal.c.gdk.GdkEventWindowState GdkEventWindowState;
 public alias dwt.internal.c.gdk.GdkDragContext GdkDragContext;
 
-public alias dwt.internal.c.pango.PangoFontDescription PangoFontDescription;
-public alias dwt.internal.c.pango.PangoTabArray PangoTabArray;
+public alias dwt.internal.c.pango.PangoAttrColor PangoAttrColor;
+public alias dwt.internal.c.pango.PangoAttribute PangoAttribute;
+public alias dwt.internal.c.pango.PangoAttrList PangoAttrList;
+public alias dwt.internal.c.pango.PangoAttrInt PangoAttrInt;
 public alias dwt.internal.c.pango.PangoContext PangoContext;
-public alias dwt.internal.c.pango.PangoLayout PangoLayout;
-public alias dwt.internal.c.pango.PangoAttrList PangoAttrList;
-public alias dwt.internal.c.pango.PangoFontFamily PangoFontFamily;
+public alias dwt.internal.c.pango.PangoFontDescription PangoFontDescription;
 public alias dwt.internal.c.pango.PangoFontFace PangoFontFace;
-public alias dwt.internal.c.pango.PangoRectangle PangoRectangle;
-public alias dwt.internal.c.pango.PangoAttribute PangoAttribute;
+public alias dwt.internal.c.pango.PangoFontFamily PangoFontFamily;
+public alias dwt.internal.c.pango.PangoItem PangoItem;
 public alias dwt.internal.c.pango.PangoLogAttr PangoLogAttr;
-public alias dwt.internal.c.pango.PangoItem PangoItem;
+public alias dwt.internal.c.pango.PangoLayout PangoLayout;
+public alias dwt.internal.c.pango.PangoLayoutLine PangoLayoutLine;
 public alias dwt.internal.c.pango.PangoLayoutRun PangoLayoutRun;
-public alias dwt.internal.c.pango.PangoLayoutLine PangoLayoutLine;
+public alias dwt.internal.c.pango.PangoRectangle PangoRectangle;
+public alias dwt.internal.c.pango.PangoTabArray PangoTabArray;
 
 public alias dwt.internal.c.cairo.cairo_t cairo_t;
 public alias dwt.internal.c.cairo.cairo_pattern_t cairo_pattern_t;
@@ -280,6 +286,7 @@
 public alias dwt.internal.c.gtk.GtkFileChooserButtonClass GtkFileChooserButtonClass;
 public alias dwt.internal.c.gtk.GtkFileChooserButton GtkFileChooserButton;
 public alias dwt.internal.c.gtk.GtkFileFilterInfo GtkFileFilterInfo;
+public alias dwt.internal.c.gtk.GtkFileFilter GtkFileFilter;
 public alias dwt.internal.c.gtk.GtkFixedChild GtkFixedChild;
 public alias dwt.internal.c.gtk.GtkFixedClass GtkFixedClass;
 public alias dwt.internal.c.gtk.GtkFixed GtkFixed;
@@ -497,6 +504,7 @@
 public alias dwt.internal.c.gtk.GtkEditable GtkEditable;
 public alias dwt.internal.c.gtk.GtkCallback GtkCallback;
 public alias dwt.internal.c.gtk.GtkAllocation GtkAllocation;
+public alias dwt.internal.c.gtk.GtkPageSetup GtkPageSetup;
 
 
 public alias dwt.internal.c.gtk_unix_print_2_0.GtkPrinter GtkPrinter;
@@ -552,6 +560,11 @@
     g_signal_emit_by_name( instance, detailed_signal, value1, value2, value3 );
 }
 
+private void gdk_pixbuf_save_to_buffer0(GdkPixbuf *pixbuf, char **buffer, uint *buffer_size,
+   char *type, GError **error ){
+    gdk_pixbuf_save_to_buffer( pixbuf, buffer, buffer_size, type, error );
+}
+
 private void gtk_list_store_set1(void* store , void* iter, int column, void* value ){
     gtk_list_store_set( cast(GtkListStore *)store, cast(GtkTreeIter *)iter, column, value, -1 );
 }
@@ -737,9 +750,14 @@
     public static const int GDK_FLEUR = 0x34;
     public static const int GDK_FOCUS_CHANGE = 0xc;
     public static const int GDK_FOCUS_CHANGE_MASK = 0x4000;
+    public static const int GDK_GC_FOREGROUND = 0x1;
     public static const int GDK_GC_CLIP_MASK = 0x80;
     public static const int GDK_GC_CLIP_X_ORIGIN = 0x800;
     public static const int GDK_GC_CLIP_Y_ORIGIN = 0x1000;
+    public static const int GDK_GC_LINE_WIDTH = 0x4000;
+    public static const int GDK_GC_LINE_STYLE = 0x8000;
+    public static const int GDK_GC_CAP_STYLE = 0x10000;
+    public static const int GDK_GC_JOIN_STYLE = 0x20000;
     public static const int GDK_GRAB_SUCCESS = 0x0;
     public static const int GDK_HAND2 = 0x3c;
     public static const int GDK_Help = 0xFF6A;
@@ -849,6 +867,7 @@
     public static const int GDK_WINDOW_CHILD = 2;
     public static const int GDK_WINDOW_STATE_ICONIFIED  = 1 << 1;
     public static const int GDK_WINDOW_STATE_MAXIMIZED  = 1 << 2;
+    public static const int GDK_WINDOW_STATE_FULLSCREEN  = 1 << 4;
     public static const int GTK_ACCEL_VISIBLE = 0x1;
     public static const int GTK_ARROW_DOWN = 0x1;
     public static const int GTK_ARROW_LEFT = 0x2;
@@ -913,6 +932,7 @@
     public static const int GTK_PROGRESS_LEFT_TO_RIGHT = 0x0;
     public static const int GTK_PROGRESS_BOTTOM_TO_TOP = 0x2;
     public static const int GTK_REALIZED  = 1 << 6;
+    public static const int GTK_RECEIVES_DEFAULT = 1 << 20;
     public static const int GTK_RELIEF_NONE = 0x2;
     public static const int GTK_RELIEF_NORMAL = 0;
     public static const int GTK_RC_BG = 1 << 1;
@@ -981,6 +1001,7 @@
     public static const int GDK_WINDOW_TYPE_HINT_DIALOG = 1;
     public static const int GTK_WRAP_NONE = 0;
     public static const int GTK_WRAP_WORD = 2;
+    public static const int GTK_WRAP_WORD_CHAR = 3;
     public static const int G_LOG_FLAG_FATAL = 0x2;
     public static const int G_LOG_FLAG_RECURSION = 0x1;
     public static const int G_LOG_LEVEL_MASK = 0xfffffffc;
@@ -988,6 +1009,10 @@
     public static const int PANGO_ALIGN_LEFT = 0;
     public static const int PANGO_ALIGN_CENTER = 1;
     public static const int PANGO_ALIGN_RIGHT = 2;
+    public static const int PANGO_ATTR_FOREGROUND = 9;
+    public static const int PANGO_ATTR_BACKGROUND = 10;
+    public static const int PANGO_ATTR_UNDERLINE = 11;
+    public static final int PANGO_ATTR_UNDERLINE_COLOR = 18;
     public static const int PANGO_DIRECTION_LTR = 0;
     public static const int PANGO_DIRECTION_RTL = 1;
     public static const int PANGO_SCALE = 1024;
@@ -996,8 +1021,11 @@
     public static const int PANGO_STYLE_NORMAL = 0x0;
     public static const int PANGO_STYLE_OBLIQUE = 0x1;
     public static const int PANGO_TAB_LEFT = 0;
+    public static const int PANGO_UNDERLINE_NONE = 0;
+    public static const int PANGO_UNDERLINE_SINGLE = 1;
+    public static const int PANGO_UNDERLINE_DOUBLE = 2;
     public static const int PANGO_UNDERLINE_LOW = 3;
-    public static const int PANGO_UNDERLINE_SINGLE = 1;
+    public static const int PANGO_UNDERLINE_ERROR = 4;
     public static const int PANGO_WEIGHT_BOLD = 0x2bc;
     public static const int PANGO_WEIGHT_NORMAL = 0x190;
     public static const int PANGO_WRAP_WORD = 0;
@@ -1050,6 +1078,7 @@
     public static const char[] move_focus = "move-focus";
     public static const char[] output = "output";
     public static const char[] popup_menu = "popup-menu";
+    public static final char[] populate_popup = "populate-popup";
     public static const char[] preedit_changed = "preedit-changed";
     public static const char[] realize = "realize";
     public static const char[] row_activated = "row-activated";
@@ -1186,6 +1215,7 @@
     mixin ForwardGtkOsCFunc!(.XFree);
     mixin ForwardGtkOsCFunc!(.XGetSelectionOwner);
     mixin ForwardGtkOsCFunc!(.XInternAtom);
+    mixin ForwardGtkOsCFunc!(.XQueryPointer);
     mixin ForwardGtkOsCFunc!(.XQueryTree);
     mixin ForwardGtkOsCFunc!(.XKeysymToKeycode);
     mixin ForwardGtkOsCFunc!(.XListProperties);
@@ -1225,6 +1255,8 @@
     mixin ForwardGtkOsCFunc!(.XRenderFindStandardFormat);
     mixin ForwardGtkOsCFunc!(.XRenderFindVisualFormat);
 
+    mixin ForwardGtkOsCFunc!(.g_signal_add_emission_hook);
+    mixin ForwardGtkOsCFunc!(.g_signal_remove_emission_hook);
     mixin ForwardGtkOsCFunc!(.g_cclosure_new);
     mixin ForwardGtkOsCFunc!(.g_closure_ref);
     mixin ForwardGtkOsCFunc!(.g_closure_unref);
@@ -1305,6 +1337,7 @@
     mixin ForwardGtkOsCFunc!(.g_utf8_pointer_to_offset);
     mixin ForwardGtkOsCFunc!(.g_utf8_strlen);
     mixin ForwardGtkOsCFunc!(.g_utf8_to_utf16);
+    mixin ForwardGtkOsCFunc!(.g_value_peek_pointer);
     mixin ForwardGtkOsCFunc!(.gdk_atom_intern);
     mixin ForwardGtkOsCFunc!(.gdk_atom_name);
     mixin ForwardGtkOsCFunc!(.gdk_beep);
@@ -1347,6 +1380,7 @@
     mixin ForwardGtkOsCFunc!(.gdk_event_get_state);
     mixin ForwardGtkOsCFunc!(.gdk_event_get_time);
     mixin ForwardGtkOsCFunc!(.gdk_event_handler_set);
+    mixin ForwardGtkOsCFunc!(.gdk_event_new);
     mixin ForwardGtkOsCFunc!(.gdk_event_peek);
     mixin ForwardGtkOsCFunc!(.gdk_event_put);
     mixin ForwardGtkOsCFunc!(.gdk_error_trap_push);
@@ -1386,11 +1420,16 @@
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_pixels);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_rowstride);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_get_width);
+    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_loader_new);
+    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_loader_close);
+    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_loader_get_pixbuf);
+    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_loader_write);
     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);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_render_pixmap_and_mask);
+    mixin ForwardGtkOsCFunc!(.gdk_pixbuf_save_to_buffer0);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_scale);
     mixin ForwardGtkOsCFunc!(.gdk_pixbuf_scale_simple);
     mixin ForwardGtkOsCFunc!(.gdk_pixmap_new);
@@ -1425,7 +1464,8 @@
     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_text_property_to_utf8_list);
+    mixin ForwardGtkOsCFunc!(.gtk_tooltip_trigger_tooltip_query);
     mixin ForwardGtkOsCFunc!(.gdk_unicode_to_keyval);
     mixin ForwardGtkOsCFunc!(.gdk_visual_get_system);
     mixin ForwardGtkOsCFunc!(.gdk_window_at_pointer);
@@ -1447,6 +1487,7 @@
     mixin ForwardGtkOsCFunc!(.gdk_window_hide);
     mixin ForwardGtkOsCFunc!(.gdk_window_invalidate_rect);
     mixin ForwardGtkOsCFunc!(.gdk_window_invalidate_region);
+    mixin ForwardGtkOsCFunc!(.gdk_window_is_visible);
     mixin ForwardGtkOsCFunc!(.gdk_window_move);
     mixin ForwardGtkOsCFunc!(.gdk_window_new);
     mixin ForwardGtkOsCFunc!(.gdk_window_lower);
@@ -1515,6 +1556,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_combo_disable_activate);
     mixin ForwardGtkOsCFunc!(.gtk_combo_new);
     mixin ForwardGtkOsCFunc!(.gtk_combo_set_case_sensitive);
+    mixin ForwardGtkOsCFunc!(.gtk_combo_box_set_focus_on_click);
     mixin ForwardGtkOsCFunc!(.gtk_combo_set_popdown_strings);
     mixin ForwardGtkOsCFunc!(.gtk_combo_box_entry_new_text);
     mixin ForwardGtkOsCFunc!(.gtk_combo_box_new_text);
@@ -1585,13 +1627,17 @@
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_get_current_folder);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_get_filename);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_get_filenames);
+    mixin ForwardGtkOsCFunc!(.gtk_file_chooser_get_filter);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_current_folder);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_current_name);
+    mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_do_overwrite_confirmation);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_extra_widget);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_filename);
+    mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_filter);
     mixin ForwardGtkOsCFunc!(.gtk_file_chooser_set_select_multiple);
     mixin ForwardGtkOsCFunc!(.gtk_file_filter_add_pattern);
     mixin ForwardGtkOsCFunc!(.gtk_file_filter_new);
+    mixin ForwardGtkOsCFunc!(.gtk_file_filter_get_name);
     mixin ForwardGtkOsCFunc!(.gtk_file_filter_set_name);
     mixin ForwardGtkOsCFunc!(.gtk_file_selection_get_filename);
     mixin ForwardGtkOsCFunc!(.gtk_file_selection_get_selections);
@@ -1652,6 +1698,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_label_set_attributes);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_justify);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_line_wrap);
+    mixin ForwardGtkOsCFunc!(.gtk_label_set_line_wrap_mode);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_text);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_text_with_mnemonic);
     mixin ForwardGtkOsCFunc!(.gtk_list_append_items);
@@ -1673,6 +1720,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_main_do_event);
     mixin ForwardGtkOsCFunc!(.gtk_menu_bar_new);
     mixin ForwardGtkOsCFunc!(.gtk_menu_item_remove_submenu);
+    mixin ForwardGtkOsCFunc!(.gtk_menu_item_get_submenu);
     mixin ForwardGtkOsCFunc!(.gtk_menu_item_set_submenu);
     mixin ForwardGtkOsCFunc!(.gtk_menu_new);
     mixin ForwardGtkOsCFunc!(.gtk_menu_popdown);
@@ -1893,7 +1941,9 @@
     mixin ForwardGtkOsCFunc!(.gtk_timeout_remove);
     mixin ForwardGtkOsCFunc!(.gtk_toggle_button_get_active);
     mixin ForwardGtkOsCFunc!(.gtk_toggle_button_new);
+    mixin ForwardGtkOsCFunc!(.gtk_toggle_button_get_inconsistent);
     mixin ForwardGtkOsCFunc!(.gtk_toggle_button_set_active);
+    mixin ForwardGtkOsCFunc!(.gtk_toggle_button_set_inconsistent);
     mixin ForwardGtkOsCFunc!(.gtk_toggle_button_set_mode);
     mixin ForwardGtkOsCFunc!(.gtk_toolbar_insert_widget);
     mixin ForwardGtkOsCFunc!(.gtk_toolbar_new);
@@ -2029,6 +2079,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_widget_get_toplevel );
     mixin ForwardGtkOsCFunc!(.gtk_widget_grab_focus);
     mixin ForwardGtkOsCFunc!(.gtk_widget_hide);
+    mixin ForwardGtkOsCFunc!(.gtk_widget_is_composited);
     mixin ForwardGtkOsCFunc!(.gtk_widget_is_focus);
     mixin ForwardGtkOsCFunc!(.gtk_widget_map);
     mixin ForwardGtkOsCFunc!(.gtk_widget_mnemonic_activate);
@@ -2042,6 +2093,7 @@
     mixin ForwardGtkOsCFunc!(.gtk_widget_realize);
     mixin ForwardGtkOsCFunc!(.gtk_widget_remove_accelerator);
     mixin ForwardGtkOsCFunc!(.gtk_widget_reparent);
+    mixin ForwardGtkOsCFunc!(.gtk_widget_send_expose);
     mixin ForwardGtkOsCFunc!(.gtk_widget_set_app_paintable);
     mixin ForwardGtkOsCFunc!(.gtk_widget_set_default_direction);
     mixin ForwardGtkOsCFunc!(.gtk_widget_set_direction);
@@ -2064,13 +2116,21 @@
     mixin ForwardGtkOsCFunc!(.gtk_window_add_accel_group);
     mixin ForwardGtkOsCFunc!(.gtk_window_deiconify);
     mixin ForwardGtkOsCFunc!(.gtk_window_get_focus);
+    mixin ForwardGtkOsCFunc!(.gtk_window_get_group);
     mixin ForwardGtkOsCFunc!(.gtk_window_get_icon_list);
     mixin ForwardGtkOsCFunc!(.gtk_window_get_modal);
     mixin ForwardGtkOsCFunc!(.gtk_window_get_mnemonic_modifier);
+    mixin ForwardGtkOsCFunc!(.gtk_window_get_opacity);
     mixin ForwardGtkOsCFunc!(.gtk_window_get_position);
     mixin ForwardGtkOsCFunc!(.gtk_window_get_size);
+    mixin ForwardGtkOsCFunc!(.gtk_window_group_add_window);
+    mixin ForwardGtkOsCFunc!(.gtk_window_group_remove_window);
+    mixin ForwardGtkOsCFunc!(.gtk_window_group_new);
     mixin ForwardGtkOsCFunc!(.gtk_window_iconify);
+    mixin ForwardGtkOsCFunc!(.gtk_window_list_toplevels);
     mixin ForwardGtkOsCFunc!(.gtk_window_maximize);
+    mixin ForwardGtkOsCFunc!(.gtk_window_fullscreen);
+    mixin ForwardGtkOsCFunc!(.gtk_window_unfullscreen);
     mixin ForwardGtkOsCFunc!(.gtk_window_move);
     mixin ForwardGtkOsCFunc!(.gtk_window_new);
     mixin ForwardGtkOsCFunc!(.gtk_window_present);
@@ -2078,9 +2138,12 @@
     mixin ForwardGtkOsCFunc!(.gtk_window_resize);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_default);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_destroy_with_parent);
+    mixin ForwardGtkOsCFunc!(.gtk_window_set_keep_below);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_geometry_hints);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_icon_list);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_modal);
+    mixin ForwardGtkOsCFunc!(.gtk_window_set_opacity);
+    mixin ForwardGtkOsCFunc!(.gtk_widget_set_tooltip_text);
     mixin ForwardGtkOsCFunc!(.gtk_widget_set_parent_window);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_resizable);
     mixin ForwardGtkOsCFunc!(.gtk_window_set_title);
@@ -2095,9 +2158,17 @@
     mixin ForwardGtkOsCFunc!(.pango_attr_shape_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_list_insert);
     mixin ForwardGtkOsCFunc!(.pango_attr_list_change);
+    mixin ForwardGtkOsCFunc!(.pango_attr_list_get_iterator);
+    mixin ForwardGtkOsCFunc!(.pango_attr_iterator_next);
+    mixin ForwardGtkOsCFunc!(.pango_attr_iterator_range);
+    mixin ForwardGtkOsCFunc!(.pango_attr_iterator_get);
+    mixin ForwardGtkOsCFunc!(.pango_attr_iterator_get_attrs);
+    mixin ForwardGtkOsCFunc!(.pango_attr_iterator_destroy);
     mixin ForwardGtkOsCFunc!(.pango_attr_list_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_list_unref);
+    mixin ForwardGtkOsCFunc!(.pango_attr_strikethrough_color_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_strikethrough_new);
+    mixin ForwardGtkOsCFunc!(.pango_attr_underline_color_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_underline_new);
     mixin ForwardGtkOsCFunc!(.pango_attr_weight_new);
 //    mixin ForwardGtkOsCFunc!(.pango_cairo_font_map_get_default);
@@ -2136,6 +2207,10 @@
     mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_approximate_char_width);
     mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_ascent);
     mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_descent);
+    mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_underline_thickness);
+    mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_underline_position);
+    mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_strikethrough_thickness);
+    mixin ForwardGtkOsCFunc!(.pango_font_metrics_get_strikethrough_position);
     mixin ForwardGtkOsCFunc!(.pango_font_metrics_unref);
     mixin ForwardGtkOsCFunc!(.pango_language_from_string);
     mixin ForwardGtkOsCFunc!(.pango_layout_context_changed);
@@ -2453,6 +2528,13 @@
         return cast(bool)g_type_check_instance_is_a( cast(GTypeInstance*)arg0, gtk_image_menu_item_get_type ());
     }
 
+    static bool GTK_IS_MENU_ITEM( void* arg0 )
+    {
+        lock.lock();
+        scope(exit) lock.unlock();
+        return cast(bool)g_type_check_instance_is_a( cast(GTypeInstance*)arg0, gtk_menu_item_get_type ());
+    }
+
     static bool GTK_IS_PLUG( void* arg0 )
     {
         lock.lock();
@@ -2873,6 +2955,9 @@
         *arg1 = arg0.white_gc;
     }
 
+    static int strlen( char* ptr ){
+        return tango.stdc.string.strlen( ptr );
+    }
     //localeconv_decimal_point() localeconv()->decimal_point
 }