diff dwt/internal/gtk/OS.d @ 27:ffa3c27c4328

Display
author Frank Benoit <benoit@tionex.de>
date Wed, 09 Jan 2008 01:08:22 +0100
parents 09f5459a5014
children 10acbb123580
line wrap: on
line diff
--- a/dwt/internal/gtk/OS.d	Tue Jan 08 08:07:04 2008 +0100
+++ b/dwt/internal/gtk/OS.d	Wed Jan 09 01:08:22 2008 +0100
@@ -140,6 +140,9 @@
     extern uint gtk_major_version;
     extern uint gtk_minor_version;
     extern uint gtk_micro_version;
+
+    void * gdk_atom_intern(char *, int);
+    int gdk_property_get(GdkDrawable *, void *, void *, uint, uint, int, void **, int *, int *, char ** );
 }
 
 
@@ -205,7 +208,36 @@
 private GType GTK_TYPE_CELL_RENDERER_PIXBUF();
 private GType GTK_TYPE_CELL_RENDERER_TOGGLE();
 private bool GTK_IS_WINDOW(GtkWidget *);
-
+private bool GTK_IS_CONTAINER(GtkWidget*);
+private GType GTK_TYPE_MENU();
+private GType GTK_TYPE_WIDGET();
+private GType GTK_WIDGET_FLAGS();
+private GType GTK_WIDGET_STATE();
+private GType GTK_WIDGET_HAS_DEFAULT();
+private GType GTK_WIDGET_HAS_FOCUS();
+private GType GTK_WIDGET_IS_SENSITIVE();
+private GType GTK_WIDGET_MAPPED();
+private GType GTK_WIDGET_SENSITIVE();
+private GType GTK_WIDGET_SET_FLAGS();
+private GType GTK_WIDGET_UNSET_FLAGS();
+private GType GTK_WIDGET_VISIBLE();
+private GType G_OBJECT_CLASS ();
+private GType G_OBJECT_GET_CLASS ();
+private GType G_OBJECT_TYPE_NAME ();
+private GType G_TYPE_BOOLEAN();
+private GType G_TYPE_INT();
+private GType G_OBJECT_TYPE( );
+private GType G_TYPE_STRING();
+private char* gdk_x11_screen_get_window_manager_name(GdkScreen*);
+private char XKeysymToKeycode(void *, uint);
+private int XTestFakeKeyEvent(void *, uint, int, uint);
+int XTestFakeMotionEvent(void *, int, int, int, uint);
+int XTestFakeButtonEvent(void *, uint, int, uint);
+uint XDefaultRootWindow(void *);
+int XWarpPointer(void *, uint, uint, int, int, uint, uint, int, int);
+int g_signal_connect( void* instance, char* sig, GCallback handle, void* ptr ){
+    return g_signal_connect_data( instance, sig, handle, ptr, 0, 0 );
+}
 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
@@ -871,13 +903,13 @@
 //     mixin ForwardGtkOsCFunc!(.XCheckWindowEvent);
      mixin ForwardGtkOsCFunc!(.XCheckIfEvent);
 //     mixin ForwardGtkOsCFunc!(.XDefaultScreen);
-//     mixin ForwardGtkOsCFunc!(.XDefaultRootWindow);
+    mixin ForwardGtkOsCFunc!(.XDefaultRootWindow);
     mixin ForwardGtkOsCFunc!(.XFlush);
 //     mixin ForwardGtkOsCFunc!(.XFree);
 //     mixin ForwardGtkOsCFunc!(.XGetSelectionOwner);
 //     mixin ForwardGtkOsCFunc!(.XInternAtom);
 //     mixin ForwardGtkOsCFunc!(.XQueryTree);
-//     mixin ForwardGtkOsCFunc!(.XKeysymToKeycode);
+     mixin ForwardGtkOsCFunc!(.XKeysymToKeycode);
 //     mixin ForwardGtkOsCFunc!(.XListProperties);
 //     mixin ForwardGtkOsCFunc!(.XReconfigureWMWindow);
 //     mixin ForwardGtkOsCFunc!(.XSendEvent);
@@ -886,11 +918,11 @@
     mixin ForwardGtkOsCFunc!(.XSetErrorHandler);
     //mixin ForwardGtkOsCFunc!(.XSetInputFocus);
     mixin ForwardGtkOsCFunc!(.XSynchronize);
-    /+
     mixin ForwardGtkOsCFunc!(.XTestFakeButtonEvent);
     mixin ForwardGtkOsCFunc!(.XTestFakeKeyEvent);
     mixin ForwardGtkOsCFunc!(.XTestFakeMotionEvent);
     mixin ForwardGtkOsCFunc!(.XWarpPointer);
+    /+
 
     mixin ForwardGtkOsCFunc!(.gdk_x11_atom_to_xatom);
     mixin ForwardGtkOsCFunc!(.gdk_x11_colormap_get_xcolormap);
@@ -898,7 +930,7 @@
     +/
     mixin ForwardGtkOsCFunc!(.gdk_x11_drawable_get_xid);
     //mixin ForwardGtkOsCFunc!(.gdk_x11_screen_lookup_visual);
-    //mixin ForwardGtkOsCFunc!(.gdk_x11_screen_get_window_manager_name);
+    mixin ForwardGtkOsCFunc!(.gdk_x11_screen_get_window_manager_name);
     mixin ForwardGtkOsCFunc!(.gdk_x11_visual_get_xvisual);
 //     mixin ForwardGtkOsCFunc!(.gdk_pixmap_foreign_new);
     mixin ForwardGtkOsCFunc!(.gdk_window_lookup);
@@ -927,7 +959,7 @@
 //     mixin ForwardGtkOsCFunc!(.GTK_IS_CELL_RENDERER_PIXBUF);
 //     mixin ForwardGtkOsCFunc!(.GTK_IS_CELL_RENDERER_TEXT);
 //     mixin ForwardGtkOsCFunc!(.GTK_IS_CELL_RENDERER_TOGGLE);
-//     mixin ForwardGtkOsCFunc!(.GTK_IS_CONTAINER);
+     mixin ForwardGtkOsCFunc!(.GTK_IS_CONTAINER);
 //     mixin ForwardGtkOsCFunc!(.GTK_IS_IMAGE_MENU_ITEM);
 //     mixin ForwardGtkOsCFunc!(.GTK_IS_PLUG);
 //     mixin ForwardGtkOsCFunc!(.GTK_STOCK_CANCEL);
@@ -936,25 +968,26 @@
      mixin ForwardGtkOsCFunc!(.GTK_TYPE_CELL_RENDERER_PIXBUF);
      mixin ForwardGtkOsCFunc!(.GTK_TYPE_CELL_RENDERER_TOGGLE);
      mixin ForwardGtkOsCFunc!(.GTK_TYPE_FIXED);
-//     mixin ForwardGtkOsCFunc!(.GTK_TYPE_MENU);
-//     mixin ForwardGtkOsCFunc!(.GTK_TYPE_WIDGET);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_FLAGS);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_STATE);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_HAS_DEFAULT);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_HAS_FOCUS);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_IS_SENSITIVE);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_MAPPED);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_SENSITIVE);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_SET_FLAGS);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_UNSET_FLAGS);
-//     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_VISIBLE);
-//     mixin ForwardGtkOsCFunc!(.G_OBJECT_CLASS );
-//     mixin ForwardGtkOsCFunc!(.G_OBJECT_GET_CLASS );
-//     mixin ForwardGtkOsCFunc!(.G_OBJECT_TYPE_NAME );
-//     mixin ForwardGtkOsCFunc!(.G_TYPE_BOOLEAN);
-//     mixin ForwardGtkOsCFunc!(.G_TYPE_INT);
-//     mixin ForwardGtkOsCFunc!(.G_OBJECT_TYPE );
-//     mixin ForwardGtkOsCFunc!(.G_TYPE_STRING);
+
+     mixin ForwardGtkOsCFunc!(.GTK_TYPE_MENU);
+     mixin ForwardGtkOsCFunc!(.GTK_TYPE_WIDGET);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_FLAGS);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_STATE);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_HAS_DEFAULT);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_HAS_FOCUS);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_IS_SENSITIVE);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_MAPPED);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_SENSITIVE);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_SET_FLAGS);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_UNSET_FLAGS);
+     mixin ForwardGtkOsCFunc!(.GTK_WIDGET_VISIBLE);
+     mixin ForwardGtkOsCFunc!(.G_OBJECT_CLASS );
+     mixin ForwardGtkOsCFunc!(.G_OBJECT_GET_CLASS );
+     mixin ForwardGtkOsCFunc!(.G_OBJECT_TYPE_NAME );
+     mixin ForwardGtkOsCFunc!(.G_TYPE_BOOLEAN);
+     mixin ForwardGtkOsCFunc!(.G_TYPE_INT);
+     mixin ForwardGtkOsCFunc!(.G_OBJECT_TYPE );
+     mixin ForwardGtkOsCFunc!(.G_TYPE_STRING);
     mixin ForwardGtkOsCFunc!(.PANGO_PIXELS);
     //mixin ForwardGtkOsCFunc!(.PANGO_TYPE_FONT_DESCRIPTION);
 
@@ -1010,7 +1043,7 @@
     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);
@@ -1049,7 +1082,7 @@
     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_intern);
 //    mixin ForwardGtkOsCFunc!(.gdk_atom_name);
     mixin ForwardGtkOsCFunc!(.gdk_beep);
     mixin ForwardGtkOsCFunc!(.gdk_bitmap_create_from_data);
@@ -1141,7 +1174,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);
@@ -1397,7 +1430,6 @@
     mixin ForwardGtkOsCFunc!(.gtk_label_set_justify);
     mixin ForwardGtkOsCFunc!(.gtk_label_set_line_wrap);
     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);
@@ -2017,14 +2049,41 @@
     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_font_desc(arg0) (arg0)->font_desc
+    static PangoFontDescription* gtk_style_get_font_desc( GtkStyle* arg0 ) {
+        return arg0.font_desc;
+    }
+    //gtk_style_get_base(arg0, arg1, arg2) *arg2 = (arg0)->base[arg1]
+    static void gtk_style_get_base( GtkStyle* arg0, int arg1, GdkColor* arg2 ) {
+        *arg2 = arg0.base[arg1];
+    }
+    //gtk_style_get_bg(arg0, arg1, arg2) *arg2 = (arg0)->bg[arg1]
+    static void gtk_style_get_bg( GtkStyle* arg0, int arg1, GdkColor* arg2 ) {
+        *arg2 = arg0.bg[arg1];
+    }
+    //gtk_style_get_black(arg0, arg1) *arg1 = (arg0)->black
+    static void gtk_style_get_black( GtkStyle* arg0, GdkColor* arg1 ) {
+        *arg1 = arg0.black;
+    }
+    //gtk_style_get_dark(arg0, arg1, arg2) *arg2 = (arg0)->dark[arg1]
+    static void gtk_style_get_dark( GtkStyle* arg0, int arg1, GdkColor* arg2 ) {
+        *arg2 = arg0.dark[arg1];
+    }
+    //gtk_style_get_fg(arg0, arg1, arg2) *arg2 = (arg0)->fg[arg1]
+    static void gtk_style_get_fg( GtkStyle* arg0, int arg1, GdkColor* arg2 ) {
+        *arg2 = arg0.fg[arg1];
+    }
+    //gtk_style_get_light(arg0, arg1, arg2) *arg2 = (arg0)->light[arg1]
+    static void gtk_style_get_light( GtkStyle* arg0, int arg1, GdkColor* arg2 ) {
+        *arg2 = arg0.light[arg1];
+    }
+    //gtk_style_get_text(arg0, arg1, arg2) *arg2 = (arg0)->text[arg1]
+    static void gtk_style_get_text( GtkStyle* arg0, int arg1, GdkColor* 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]