diff dwt/internal/gtk/OS.d @ 26:09f5459a5014

Display in work
author Frank Benoit <benoit@tionex.de>
date Tue, 08 Jan 2008 08:07:04 +0100
parents bc06000c0816
children ffa3c27c4328
line wrap: on
line diff
--- a/dwt/internal/gtk/OS.d	Tue Jan 08 01:23:25 2008 +0100
+++ b/dwt/internal/gtk/OS.d	Tue Jan 08 08:07:04 2008 +0100
@@ -28,6 +28,17 @@
         dwt.internal.gtk.c.gdkpixbuf;
 
 // temporary added, because was not yet available
+struct XAnyEvent {
+    int type;
+    uint serial;
+    int send_event;
+    void * display;
+    uint window;
+}
+union XEvent{
+    int type;
+    XAnyEvent xany;
+}
 
 struct XRenderPictureAttributes{
     int repeat;
@@ -65,26 +76,80 @@
 struct XTransform {
     int [3][3] matrix;
 }
- struct XRectangle {
- short x;
- short y;
- ushort width;
- ushort height;
- }
-private extern (C) uint                XRenderCreatePicture(void *, uint, XRenderPictFormat *, uint, XRenderPictureAttributes *);
-private extern (C) XRenderPictFormat * XRenderFindStandardFormat (dwt.internal.gtk.c.cairotypes.Display *dpy, int format);
-private extern (C) XRenderPictFormat * XRenderFindVisualFormat (dwt.internal.gtk.c.cairotypes.Display *dpy, void *visual);
-private extern (C) void XRenderSetPictureTransform (void     *dpy,uint picture, XTransform *transform);
-private extern (C) void XRenderSetPictureClipRectangles(void *, uint, int, int, XRectangle *, int);
-private extern (C) void XRenderFreePicture(void *, uint);
-private extern (C) void XRenderComposite(void *, int, uint, uint, uint, int, int, int, int, int, int, uint, uint);
+struct XRectangle {
+    short x;
+    short y;
+    ushort width;
+    ushort height;
+}
+struct XExposeEvent {
+    int type;
+    uint serial;
+    int send_event;
+    void * display;
+    uint window;
+    int x;
+    int y;
+    int width;
+    int height;
+    int count;
+}
+struct XVisibilityEvent {
+    int type;
+    uint serial;
+    int send_event;
+    void * display;
+    uint window;
+    int state;
+}
 
-private extern (C) cairo_font_options_t * pango_cairo_context_get_font_options(void *);
-private extern (C) void pango_cairo_context_set_font_options(void *, cairo_font_options_t *);
+struct XButtonEvent {
+    int type;
+    uint serial;
+    int send_event;
+    void * display;
+    uint window;
+    uint root;
+    uint subwindow;
+    uint time;
+    int x;
+    int y;
+    int x_root;
+    int y_root;
+    uint state;
+    uint button;
+    int same_screen;
+}
+
+private extern (C){
+    GdkWindow * gdk_window_lookup(uint);
+    uint                XRenderCreatePicture(void *, uint, XRenderPictFormat *, uint, XRenderPictureAttributes *);
+    XRenderPictFormat * XRenderFindStandardFormat (dwt.internal.gtk.c.cairotypes.Display *dpy, int format);
+    XRenderPictFormat * XRenderFindVisualFormat (dwt.internal.gtk.c.cairotypes.Display *dpy, void *visual);
+    void XRenderSetPictureTransform (void     *dpy,uint picture, XTransform *transform);
+    void XRenderSetPictureClipRectangles(void *, uint, int, int, XRectangle *, int);
+    void XRenderFreePicture(void *, uint);
+    void XRenderComposite(void *, int, uint, uint, uint, int, int, int, int, int, int, uint, uint);
+
+    cairo_font_options_t * pango_cairo_context_get_font_options(void *);
+    void pango_cairo_context_set_font_options(void *, cairo_font_options_t *);
+
+    alias int function(void *, XEvent *, void *) _BCD_func__1812;
+    int XCheckIfEvent(void *, XEvent *, _BCD_func__1812, void *);
+
+    extern uint gtk_major_version;
+    extern uint gtk_minor_version;
+    extern uint gtk_micro_version;
+}
+
+
 //void function(GtkWidget* widget, gchar* firstPropertyName, ... )gtk_widget_style_get;
 private void gtk_widget_style_get1( GtkWidget* widget, gchar* firstPropertyName, int* res ){
     gtk_widget_style_get( widget, firstPropertyName, res, null );
 }
+private void g_object_get1( void* obj, gchar* firstPropertyName, int* res ){
+    g_object_get( obj, firstPropertyName, res, null );
+}
 
 
 private extern(C) PangoLayout *pango_cairo_create_layout (cairo_t     *cr);
@@ -122,25 +187,24 @@
 //struct Visual{}
 //private extern(C) Visual* gdk_x11_visual_get_xvisual(GdkVisual* visual);
 
-GdkDisplay* GDK_DISPLAY(){
-    return gtk_display;
-}
+private extern (C) GdkDisplay* GDK_DISPLAY();
 
-XID GDK_PIXMAP_XID(GdkDrawable* win){
-    return gdk_x11_drawable_get_xid(win);
-}
+private extern (C) XID GDK_PIXMAP_XID(GdkDrawable* win);
+struct XErrorEvent {}
 
-struct XErrorEvent {}
+private extern (C) bool GDK_WINDOWING_X11();
+private extern (C) int XFlush(void *);
 public alias extern(C) int function(dwt.internal.gtk.c.cairotypes.Display*) XIOErrorHandler;
 public alias extern(C) int function(dwt.internal.gtk.c.cairotypes.Display*, XErrorEvent *) XErrorHandler;
 
-extern (C) XIOErrorHandler XSetIOErrorHandler(XIOErrorHandler);
-extern (C) XErrorHandler XSetErrorHandler(XErrorHandler);
-
-int PANGO_PIXELS( int v ){
-    return (v+512) >> 10;
-}
-
+private extern (C) XIOErrorHandler XSetIOErrorHandler(XIOErrorHandler);
+private extern (C) XErrorHandler XSetErrorHandler(XErrorHandler);
+private extern (C) int PANGO_PIXELS( int v );
+private GType GTK_TYPE_FIXED();
+private GType GTK_TYPE_CELL_RENDERER_TEXT();
+private GType GTK_TYPE_CELL_RENDERER_PIXBUF();
+private GType GTK_TYPE_CELL_RENDERER_TOGGLE();
+private bool GTK_IS_WINDOW(GtkWidget *);
 
 template NameOfFunc(alias f) {
     // Note: highly dependent on the .stringof formatting
@@ -784,34 +848,40 @@
 public static const int PictOpSrc = 1;
 public static const int PictOpOver = 3;
 
-
-/++
+    public static int gtk_major_version(){
+        return .gtk_major_version;
+    }
+    public static int gtk_minor_version(){
+        return .gtk_minor_version;
+    }
+    public static int gtk_micro_version(){
+        return .gtk_micro_version;
+    }
 //    mixin ForwardGtkOsCFunc!(localeconv_decimal_point);
 //    mixin ForwardGtkOsCFunc!(realpath);
 
-    mixin ForwardGtkOsCFunc!(X_EVENT_TYPE);
-    mixin ForwardGtkOsCFunc!(X_EVENT_WINDOW);
+//    mixin ForwardGtkOsCFunc!(X_EVENT_TYPE);
+//    mixin ForwardGtkOsCFunc!(X_EVENT_WINDOW);
 //    mixin ForwardGtkOsCFunc!(.Call);
 //    mixin ForwardGtkOsCFunc!(.call );
-    mixin ForwardGtkOsCFunc!(GDK_WINDOWING_X11);
-++/
+    mixin ForwardGtkOsCFunc!(.GDK_WINDOWING_X11);
     mixin ForwardGtkOsCFunc!(.GDK_PIXMAP_XID);
-/++
-    mixin ForwardGtkOsCFunc!(.XCheckMaskEvent);
-    mixin ForwardGtkOsCFunc!(.XCheckWindowEvent);
-    mixin ForwardGtkOsCFunc!(.XCheckIfEvent);
-    mixin ForwardGtkOsCFunc!(.XDefaultScreen);
-    mixin ForwardGtkOsCFunc!(.XDefaultRootWindow);
+
+//     mixin ForwardGtkOsCFunc!(.XCheckMaskEvent);
+//     mixin ForwardGtkOsCFunc!(.XCheckWindowEvent);
+     mixin ForwardGtkOsCFunc!(.XCheckIfEvent);
+//     mixin ForwardGtkOsCFunc!(.XDefaultScreen);
+//     mixin ForwardGtkOsCFunc!(.XDefaultRootWindow);
     mixin ForwardGtkOsCFunc!(.XFlush);
-    mixin ForwardGtkOsCFunc!(.XFree);
-    mixin ForwardGtkOsCFunc!(.XGetSelectionOwner);
-    mixin ForwardGtkOsCFunc!(.XInternAtom);
-    mixin ForwardGtkOsCFunc!(.XQueryTree);
-    mixin ForwardGtkOsCFunc!(.XKeysymToKeycode);
-    mixin ForwardGtkOsCFunc!(.XListProperties);
-    mixin ForwardGtkOsCFunc!(.XReconfigureWMWindow);
-    mixin ForwardGtkOsCFunc!(.XSendEvent);
-    +/
+//     mixin ForwardGtkOsCFunc!(.XFree);
+//     mixin ForwardGtkOsCFunc!(.XGetSelectionOwner);
+//     mixin ForwardGtkOsCFunc!(.XInternAtom);
+//     mixin ForwardGtkOsCFunc!(.XQueryTree);
+//     mixin ForwardGtkOsCFunc!(.XKeysymToKeycode);
+//     mixin ForwardGtkOsCFunc!(.XListProperties);
+//     mixin ForwardGtkOsCFunc!(.XReconfigureWMWindow);
+//     mixin ForwardGtkOsCFunc!(.XSendEvent);
+
     mixin ForwardGtkOsCFunc!(.XSetIOErrorHandler);
     mixin ForwardGtkOsCFunc!(.XSetErrorHandler);
     //mixin ForwardGtkOsCFunc!(.XSetInputFocus);
@@ -830,15 +900,14 @@
     //mixin ForwardGtkOsCFunc!(.gdk_x11_screen_lookup_visual);
     //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_pixmap_foreign_new);
     mixin ForwardGtkOsCFunc!(.gdk_window_lookup);
     mixin ForwardGtkOsCFunc!(.gdk_window_add_filter);
-    mixin ForwardGtkOsCFunc!(.gdk_window_remove_filter);
+//     mixin ForwardGtkOsCFunc!(.gdk_window_remove_filter);
 
 /** X render natives and constants */
  //   mixin ForwardGtkOsCFunc!(XRenderPictureAttributes_sizeof);
- +/
+
     mixin ForwardGtkOsCFunc!(.XRenderQueryExtension);
     mixin ForwardGtkOsCFunc!(.XRenderQueryVersion);
     mixin ForwardGtkOsCFunc!(.XRenderCreatePicture);
@@ -851,43 +920,41 @@
     //mixin ForwardGtkOsCFunc!(Call );
     mixin ForwardGtkOsCFunc!(.GDK_DISPLAY);
     mixin ForwardGtkOsCFunc!(.GDK_ROOT_PARENT);
-    /+
-    mixin ForwardGtkOsCFunc!(.GDK_TYPE_COLOR);
-    mixin ForwardGtkOsCFunc!(.GDK_TYPE_PIXBUF);
-    mixin ForwardGtkOsCFunc!(.GTK_IS_BUTTON);
-    mixin ForwardGtkOsCFunc!(.GTK_IS_WINDOW);
-    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_IMAGE_MENU_ITEM);
-    mixin ForwardGtkOsCFunc!(.GTK_IS_PLUG);
-    mixin ForwardGtkOsCFunc!(.GTK_STOCK_CANCEL);
-    mixin ForwardGtkOsCFunc!(.GTK_STOCK_OK);
-    mixin ForwardGtkOsCFunc!(.GTK_TYPE_CELL_RENDERER_TEXT);
-    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!(.GDK_TYPE_COLOR);
+//     mixin ForwardGtkOsCFunc!(.GDK_TYPE_PIXBUF);
+//     mixin ForwardGtkOsCFunc!(.GTK_IS_BUTTON);
+     mixin ForwardGtkOsCFunc!(.GTK_IS_WINDOW);
+//     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_IMAGE_MENU_ITEM);
+//     mixin ForwardGtkOsCFunc!(.GTK_IS_PLUG);
+//     mixin ForwardGtkOsCFunc!(.GTK_STOCK_CANCEL);
+//     mixin ForwardGtkOsCFunc!(.GTK_STOCK_OK);
+     mixin ForwardGtkOsCFunc!(.GTK_TYPE_CELL_RENDERER_TEXT);
+     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!(.PANGO_PIXELS);
     //mixin ForwardGtkOsCFunc!(.PANGO_TYPE_FONT_DESCRIPTION);
 
@@ -930,7 +997,7 @@
     mixin ForwardGtkOsCFunc!(.g_log_remove_handler);
     mixin ForwardGtkOsCFunc!(.g_log_set_handler);
     mixin ForwardGtkOsCFunc!(.g_malloc);
-    mixin ForwardGtkOsCFunc!(.g_object_get);
+    mixin ForwardGtkOsCFunc!(.g_object_get1);
     mixin ForwardGtkOsCFunc!(.g_object_get_qdata);
     mixin ForwardGtkOsCFunc!(.g_object_new );
     mixin ForwardGtkOsCFunc!(.g_object_ref);
@@ -1922,14 +1989,14 @@
     GtkIMContext* GTK_TEXTVIEW_IM_CONTEXT( GtkTextView* arg0)
          { return arg0.im_context; }
 
-    GtkWidget* GTK_TOOLTIPS_TIP_WINDOW( GtkTooltips* arg0)
+    static GtkWidget* GTK_TOOLTIPS_TIP_WINDOW( GtkTooltips* arg0)
          { return arg0.tip_window; }
-    void GTK_TOOLTIPS_SET_ACTIVE( GtkTooltips* arg0, GtkTooltipsData*  arg1 )
+    static void GTK_TOOLTIPS_SET_ACTIVE( GtkTooltips* arg0, GtkTooltipsData*  arg1 )
          { arg0.active_tips_data = arg1; }
 
-    int  GDK_EVENT_TYPE( GdkEvent* arg0 )
+    static int  GDK_EVENT_TYPE( GdkEvent* arg0 )
          { return arg0.type; }
-    GdkWindow* GDK_EVENT_WINDOW( GdkEventAny* arg0 )
+    static GdkWindow* GDK_EVENT_WINDOW( GdkEventAny* arg0 )
          { return arg0.window; }
 /+
     int  X_EVENT_TYPE( XEvent* arg0 )