]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkdrawable.h
Update to changed cairo interface.
[~andy/gtk] / gdk / gdkdrawable.h
index e81d3935d82c9e8866b179352e95f2da79ee2299..1e9194e4d12b1aa737d1c5303e0229c651ba640d 100644 (file)
@@ -6,11 +6,14 @@
 #include <gdk/gdkrgb.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
 
+#include <cairo.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
 typedef struct _GdkDrawableClass GdkDrawableClass;
+typedef struct _GdkTrapezoid     GdkTrapezoid;
 
 #define GDK_TYPE_DRAWABLE              (gdk_drawable_get_type ())
 #define GDK_DRAWABLE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE, GdkDrawable))
@@ -154,11 +157,22 @@ struct _GdkDrawableClass
                                  gint            dest_y,
                                  gint            width,
                                  gint            height);
+  
+  void (*draw_glyphs_transformed) (GdkDrawable      *drawable,
+                                  GdkGC            *gc,
+                                  PangoMatrix      *matrix,
+                                  PangoFont        *font,
+                                  gint              x,
+                                  gint              y,
+                                  PangoGlyphString *glyphs);
+  void (*draw_trapezoids)         (GdkDrawable      *drawable,
+                                  GdkGC            *gc,
+                                  GdkTrapezoid     *trapezoids,
+                                  gint              n_trapezoids);
+
+  cairo_surface_t *(*ref_cairo_surface) (GdkDrawable *drawable);
 
   /* Padding for future expansion */
-  void         (*_gdk_reserved1)  (void);
-  void         (*_gdk_reserved2)  (void);
-  void         (*_gdk_reserved3)  (void);
   void         (*_gdk_reserved4)  (void);
   void         (*_gdk_reserved5)  (void);
   void         (*_gdk_reserved6)  (void);
@@ -173,7 +187,12 @@ struct _GdkDrawableClass
   void         (*_gdk_reserved16) (void);
 };
 
-GType           gdk_drawable_get_type     (void);
+struct _GdkTrapezoid
+{
+  double y1, x11, x21, y2, x12, x22;
+};
+
+GType           gdk_drawable_get_type     (void) G_GNUC_CONST;
 
 /* Manipulation of drawables
  */
@@ -236,13 +255,17 @@ void gdk_draw_polygon   (GdkDrawable      *drawable,
                         gboolean          filled,
                         GdkPoint         *points,
                         gint              npoints);
-#ifndef GDK_DISABLE_DEPRECATED
+#if !defined (GDK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION)
+/* Used by gtk_default_draw_string () */
 void gdk_draw_string    (GdkDrawable      *drawable,
                         GdkFont          *font,
                         GdkGC            *gc,
                         gint              x,
                         gint              y,
                         const gchar      *string);
+#endif /* !GDK_DISABLE_DEPRECATED || GTK_COMPILATION */
+#if !defined (GDK_DISABLE_DEPRECATED) || defined (GDK_COMPILATION)
+/* Used by gdk_pixmap_draw_text (), gdk_window_draw_text() */
 void gdk_draw_text      (GdkDrawable      *drawable,
                         GdkFont          *font,
                         GdkGC            *gc,
@@ -250,6 +273,7 @@ void gdk_draw_text      (GdkDrawable      *drawable,
                         gint              y,
                         const gchar      *text,
                         gint              text_length);
+/* Used by gdk_pixmap_draw_text_wc (), gdk_window_draw_text_wc () */
 void gdk_draw_text_wc   (GdkDrawable      *drawable,
                         GdkFont          *font,
                         GdkGC            *gc,
@@ -257,7 +281,7 @@ void gdk_draw_text_wc   (GdkDrawable      *drawable,
                         gint              y,
                         const GdkWChar   *text,
                         gint              text_length);
-#endif /* GDK_DISABLE_DEPRECATED */
+#endif /* !GDK_DISABLE_DEPRECATED || GDK_COMPILATION */
 void gdk_draw_drawable  (GdkDrawable      *drawable,
                         GdkGC            *gc,
                         GdkDrawable      *src,
@@ -323,26 +347,46 @@ void gdk_draw_layout_line_with_colors (GdkDrawable     *drawable,
                                        gint             x,
                                        gint             y,
                                        PangoLayoutLine *line,
-                                       GdkColor        *foreground,
-                                       GdkColor        *background);
+                                       const GdkColor  *foreground,
+                                       const GdkColor  *background);
 void gdk_draw_layout_with_colors      (GdkDrawable     *drawable,
                                        GdkGC           *gc,
                                        gint             x,
                                        gint             y,
                                        PangoLayout     *layout,
-                                       GdkColor        *foreground,
-                                       GdkColor        *background);
+                                       const GdkColor  *foreground,
+                                       const GdkColor  *background);
+
+void gdk_draw_glyphs_transformed (GdkDrawable      *drawable,
+                                 GdkGC            *gc,
+                                 PangoMatrix      *matrix,
+                                 PangoFont        *font,
+                                 gint              x,
+                                 gint              y,
+                                 PangoGlyphString *glyphs);
+void gdk_draw_trapezoids         (GdkDrawable      *drawable,
+                                 GdkGC            *gc,
+                                 GdkTrapezoid     *trapezoids,
+                                 gint              n_trapezoids);
 
 #ifndef GDK_DISABLE_DEPRECATED
 #define gdk_draw_pixmap                gdk_draw_drawable
 #define gdk_draw_bitmap                gdk_draw_drawable
 #endif /* GDK_DISABLE_DEPRECATED */
 
-GdkImage* gdk_drawable_get_image (GdkDrawable *drawable,
-                                  gint         x,
-                                  gint         y,
-                                  gint         width,
-                                  gint         height);
+GdkImage* gdk_drawable_get_image      (GdkDrawable *drawable,
+                                       gint         x,
+                                       gint         y,
+                                       gint         width,
+                                       gint         height);
+GdkImage *gdk_drawable_copy_to_image (GdkDrawable  *drawable,
+                                     GdkImage     *image,
+                                     gint          src_x,
+                                     gint          src_y,
+                                     gint          dest_x,
+                                     gint          dest_y,
+                                     gint          width,
+                                     gint          height);
 
 GdkRegion *gdk_drawable_get_clip_region    (GdkDrawable *drawable);
 GdkRegion *gdk_drawable_get_visible_region (GdkDrawable *drawable);