X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fx11%2Fgdkdrawable-x11.h;h=7ff60085a1a6e8cf5e27caa1af80af9e7f566de2;hb=89e187e7c1c3ce306b15d188e40be5f43fa821c9;hp=0164654b3b112fa2119ce64d926fb0ad824c7dba;hpb=afee2c67c5091539cbe6270b14e7e74b2a7b60a7;p=~andy%2Fgtk diff --git a/gdk/x11/gdkdrawable-x11.h b/gdk/x11/gdkdrawable-x11.h index 0164654b3..7ff60085a 100644 --- a/gdk/x11/gdkdrawable-x11.h +++ b/gdk/x11/gdkdrawable-x11.h @@ -27,19 +27,30 @@ #ifndef __GDK_DRAWABLE_X11_H__ #define __GDK_DRAWABLE_X11_H__ +#include "config.h" + #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +#include +#include + +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; -#define GDK_TYPE_DRAWABLE_IMPL_X11 (gdk_drawable_impl_x11_get_type ()) +#define GDK_TYPE_DRAWABLE_IMPL_X11 (_gdk_drawable_impl_x11_get_type ()) #define GDK_DRAWABLE_IMPL_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE_IMPL_X11, GdkDrawableImplX11)) #define GDK_DRAWABLE_IMPL_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWABLE_IMPL_X11, GdkDrawableImplX11Class)) #define GDK_IS_DRAWABLE_IMPL_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAWABLE_IMPL_X11)) @@ -55,7 +66,10 @@ struct _GdkDrawableImplX11 GdkColormap *colormap; Window xid; - Display *xdisplay; + GdkScreen *screen; + + Picture picture; + cairo_surface_t *cairo_surface; }; struct _GdkDrawableImplX11Class @@ -64,10 +78,21 @@ struct _GdkDrawableImplX11Class }; -GType gdk_drawable_impl_x11_get_type (void); +GType _gdk_drawable_impl_x11_get_type (void); + +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); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GDK_DRAWABLE_X11_H__ */