]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkdrawable.h
Updated Basque translation.
[~andy/gtk] / gdk / gdkdrawable.h
index 565e4250f4d7d66b1fb9022043c383a30f928bfd..508bf86fcfd2027816c687c524dd2c471a566dd1 100644 (file)
@@ -1,14 +1,47 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/*
+ * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
+ * file for a list of people on the GTK+ Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
 #ifndef __GDK_DRAWABLE_H__
 #define __GDK_DRAWABLE_H__
 
 #include <gdk/gdktypes.h>
 #include <gdk/gdkgc.h>
+#include <gdk/gdkrgb.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#include <cairo.h>
+
+G_BEGIN_DECLS
 
 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))
@@ -31,14 +64,14 @@ struct _GdkDrawableClass
                          GdkGCValuesMask mask);
   void (*draw_rectangle) (GdkDrawable  *drawable,
                          GdkGC        *gc,
-                         gint          filled,
+                         gboolean      filled,
                          gint          x,
                          gint          y,
                          gint          width,
                          gint          height);
   void (*draw_arc)       (GdkDrawable  *drawable,
                          GdkGC        *gc,
-                         gint          filled,
+                         gboolean      filled,
                          gint          x,
                          gint          y,
                          gint          width,
@@ -47,7 +80,7 @@ struct _GdkDrawableClass
                          gint          angle2);
   void (*draw_polygon)   (GdkDrawable  *drawable,
                          GdkGC        *gc,
-                         gint          filled,
+                         gboolean      filled,
                          GdkPoint     *points,
                          gint          npoints);
   void (*draw_text)      (GdkDrawable  *drawable,
@@ -111,8 +144,9 @@ struct _GdkDrawableClass
   void (*set_colormap)   (GdkDrawable  *drawable,
                           GdkColormap  *cmap);
 
-  GdkColormap* (*get_colormap) (GdkDrawable *drawable);
-  GdkVisual*   (*get_visual) (GdkDrawable  *drawable);
+  GdkColormap* (*get_colormap) (GdkDrawable  *drawable);
+  GdkVisual*   (*get_visual)   (GdkDrawable  *drawable);
+  GdkScreen*   (*get_screen)   (GdkDrawable  *drawable);
 
   GdkImage*    (*get_image)  (GdkDrawable  *drawable,
                               gint          x,
@@ -130,20 +164,75 @@ struct _GdkDrawableClass
                                           gint         height,
                                           gint        *composite_x_offset,
                                           gint        *composite_y_offset);
+
+  void         (*draw_pixbuf) (GdkDrawable *drawable,
+                              GdkGC       *gc,
+                              GdkPixbuf   *pixbuf,
+                              gint         src_x,
+                              gint         src_y,
+                              gint         dest_x,
+                              gint         dest_y,
+                              gint         width,
+                              gint         height,
+                              GdkRgbDither dither,
+                              gint         x_dither,
+                              gint         y_dither);
+  GdkImage*    (*_copy_to_image) (GdkDrawable    *drawable,
+                                 GdkImage       *image,
+                                 gint            src_x,
+                                 gint            src_y,
+                                 gint            dest_x,
+                                 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_reserved4)  (void);
+  void         (*_gdk_reserved5)  (void);
+  void         (*_gdk_reserved6)  (void);
+  void         (*_gdk_reserved7)  (void);
+  void         (*_gdk_reserved9)  (void);
+  void         (*_gdk_reserved10) (void);
+  void         (*_gdk_reserved11) (void);
+  void         (*_gdk_reserved12) (void);
+  void         (*_gdk_reserved13) (void);
+  void         (*_gdk_reserved14) (void);
+  void         (*_gdk_reserved15) (void);
+  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
  */
 
+#ifndef GDK_DISABLE_DEPRECATED
 void            gdk_drawable_set_data     (GdkDrawable    *drawable,
                                           const gchar    *key,
                                           gpointer       data,
                                           GDestroyNotify  destroy_func);
 gpointer        gdk_drawable_get_data     (GdkDrawable    *drawable,
                                           const gchar    *key);
+#endif /* GDK_DISABLE_DEPRECATED */
 
 void            gdk_drawable_get_size     (GdkDrawable   *drawable,
                                           gint           *width,
@@ -153,8 +242,13 @@ void               gdk_drawable_set_colormap (GdkDrawable    *drawable,
 GdkColormap*    gdk_drawable_get_colormap (GdkDrawable   *drawable);
 GdkVisual*      gdk_drawable_get_visual   (GdkDrawable   *drawable);
 gint            gdk_drawable_get_depth    (GdkDrawable   *drawable);
+GdkScreen*     gdk_drawable_get_screen   (GdkDrawable    *drawable);
+GdkDisplay*    gdk_drawable_get_display  (GdkDrawable    *drawable);
+
+#ifndef GDK_DISABLE_DEPRECATED
 GdkDrawable*    gdk_drawable_ref          (GdkDrawable    *drawable);
 void            gdk_drawable_unref        (GdkDrawable    *drawable);
+#endif /* GDK_DISABLE_DEPRECATED */
 
 /* Drawing
  */
@@ -164,20 +258,20 @@ void gdk_draw_point     (GdkDrawable      *drawable,
                         gint              y);
 void gdk_draw_line      (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        gint              x1,
-                        gint              y1,
-                        gint              x2,
-                        gint              y2);
+                        gint              x1_,
+                        gint              y1_,
+                        gint              x2_,
+                        gint              y2_);
 void gdk_draw_rectangle (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        gint              filled,
+                        gboolean          filled,
                         gint              x,
                         gint              y,
                         gint              width,
                         gint              height);
 void gdk_draw_arc       (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        gint              filled,
+                        gboolean          filled,
                         gint              x,
                         gint              y,
                         gint              width,
@@ -186,15 +280,20 @@ void gdk_draw_arc       (GdkDrawable      *drawable,
                         gint              angle2);
 void gdk_draw_polygon   (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        gint              filled,
-                        GdkPoint         *points,
-                        gint              npoints);
+                        gboolean          filled,
+                        const GdkPoint   *points,
+                        gint              n_points);
+#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,
@@ -202,6 +301,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,
@@ -209,6 +309,7 @@ void gdk_draw_text_wc   (GdkDrawable      *drawable,
                         gint              y,
                         const GdkWChar   *text,
                         gint              text_length);
+#endif /* !GDK_DISABLE_DEPRECATED || GDK_COMPILATION */
 void gdk_draw_drawable  (GdkDrawable      *drawable,
                         GdkGC            *gc,
                         GdkDrawable      *src,
@@ -229,16 +330,28 @@ void gdk_draw_image     (GdkDrawable      *drawable,
                         gint              height);
 void gdk_draw_points    (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        GdkPoint         *points,
-                        gint              npoints);
+                        const GdkPoint   *points,
+                        gint              n_points);
 void gdk_draw_segments  (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        GdkSegment       *segs,
-                        gint              nsegs);
+                        const GdkSegment *segs,
+                        gint              n_segs);
 void gdk_draw_lines     (GdkDrawable      *drawable,
                         GdkGC            *gc,
-                        GdkPoint         *points,
-                        gint              npoints);
+                        const GdkPoint   *points,
+                        gint              n_points);
+void gdk_draw_pixbuf    (GdkDrawable      *drawable,
+                        GdkGC            *gc,
+                        const GdkPixbuf  *pixbuf,
+                        gint              src_x,
+                        gint              src_y,
+                        gint              dest_x,
+                        gint              dest_y,
+                        gint              width,
+                        gint              height,
+                        GdkRgbDither      dither,
+                        gint              x_dither,
+                        gint              y_dither);
 
 void gdk_draw_glyphs      (GdkDrawable      *drawable,
                           GdkGC            *gc,
@@ -262,27 +375,50 @@ 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,
+                                 const PangoMatrix  *matrix,
+                                 PangoFont          *font,
+                                 gint                x,
+                                 gint                y,
+                                 PangoGlyphString   *glyphs);
+void gdk_draw_trapezoids         (GdkDrawable        *drawable,
+                                 GdkGC              *gc,
+                                 const 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);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __GDK_DRAWABLE_H__ */