]> Pileus Git - ~andy/gtk/blobdiff - gdk/x11/gdkdrawable-x11.h
Use gdk_window_get_root_cords to get popup position for combobox
[~andy/gtk] / gdk / x11 / gdkdrawable-x11.h
index ea99938b3c6e832559c95dbb67086e60c7388c9f..7ff60085a1a6e8cf5e27caa1af80af9e7f566de2 100644 (file)
 #ifndef __GDK_DRAWABLE_X11_H__
 #define __GDK_DRAWABLE_X11_H__
 
-#include <config.h>
+#include "config.h"
 
 #include <gdk/gdkdrawable.h>
 
 #include <X11/Xlib.h>
-#include <X11/Xft/Xft.h>
+#include <X11/extensions/Xrender.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* Drawable implementation for X11
  */
 
+typedef enum
+{
+  GDK_X11_FORMAT_NONE,
+  GDK_X11_FORMAT_EXACT_MASK,
+  GDK_X11_FORMAT_ARGB_MASK,
+  GDK_X11_FORMAT_ARGB
+} GdkX11FormatType;
+
 typedef struct _GdkDrawableImplX11 GdkDrawableImplX11;
 typedef struct _GdkDrawableImplX11Class GdkDrawableImplX11Class;
 
@@ -62,7 +68,8 @@ struct _GdkDrawableImplX11
   Window xid;
   GdkScreen *screen;
 
-  XftDraw *xft_draw;
+  Picture picture;
+  cairo_surface_t *cairo_surface;
 };
  
 struct _GdkDrawableImplX11Class 
@@ -73,8 +80,19 @@ struct _GdkDrawableImplX11Class
 
 GType _gdk_drawable_impl_x11_get_type (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+void  _gdk_x11_convert_to_format      (guchar           *src_buf,
+                                       gint              src_rowstride,
+                                       guchar           *dest_buf,
+                                       gint              dest_rowstride,
+                                       GdkX11FormatType  dest_format,
+                                       GdkByteOrder      dest_byteorder,
+                                       gint              width,
+                                       gint              height);
+
+/* Note that the following take GdkDrawableImplX11, not the wrapper drawable */
+void _gdk_x11_drawable_finish           (GdkDrawable  *drawable);
+void _gdk_x11_drawable_update_size      (GdkDrawable  *drawable);
+
+G_END_DECLS
 
 #endif /* __GDK_DRAWABLE_X11_H__ */