]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
cairo: Add some missing 1.12.x and pre 1.13.x bindings
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 6 Oct 2014 19:49:45 +0000 (21:49 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 6 Oct 2014 19:53:04 +0000 (21:53 +0200)
(cherry picked from commit b2255376ab99c2947f86555a895fe6727d92ccad)

vapi/cairo.vapi

index dd7a51a93a07e3d67134aa46042db37ae34f76b7..a4ae6e7f701a751f600ad8aaa57c956c45d2dd72 100644 (file)
@@ -638,6 +638,8 @@ namespace Cairo {
        public class Surface {
                [CCode (cname = "cairo_surface_create_similar")]
                public Surface.similar (Surface other, Content content, int width, int height);
+               [CCode (cname = "cairo_surface_create_similar_image")]
+               public Surface.similar_image (Surface other, Format format, int width, int height);
                [CCode (cname = "cairo_surface_create_for_rectangle")]
                public Surface.for_rectangle (Surface target, double x, double y, double width, double height);
                public void copy_page ();
@@ -646,17 +648,22 @@ namespace Cairo {
                public void get_font_options (out FontOptions options);
                public Content get_content ();
                public Device get_device ();
+               public void get_device_offset (out double x_offset, out double y_offset);
+               public void get_device_scale (out double x_scale, out double y_scale);
                public void get_fallback_resolution (out double x_pixels_per_inch, out double y_pixels_per_inch);
                public uint get_reference_count ();
+               public SurfaceType get_type ();
                public bool has_show_text_glyphs ();
                public void mark_dirty ();
                public void mark_dirty_rectangle (int x, int y, int width, int height);
+               public Surface map_to_image (RectangleInt extents);
                public void set_device_offset (double x_offset, double y_offset);
-               public void get_device_offset (out double x_offset, out double y_offset);
+               public void set_device_scale (double x_scale, double y_scale);
                public void set_fallback_resolution (double x_pixels_per_inch, double y_pixels_per_inch);
                public void show_page ();
                public Status status ();
-               public SurfaceType get_type ();
+               public bool supports_mime_type (string mime_type);
+               public void unmap_image (Surface image);
 
                public Status write_to_png (string filename);
                public Status write_to_png_stream (WriteFunc write_func);
@@ -665,6 +672,44 @@ namespace Cairo {
                public Surface? win32_get_image ();
        }
 
+       [Compact]
+       [CCode (ref_function = "cairo_device_reference", unref_function = "cairo_device_destroy", cname = "cairo_device_t", cheader_filename = "cairo.h")]
+       public class DeviceObserver {
+               protected DeviceObserver ();
+               public double elapsed ();
+               public double fill_elapsed ();
+               public double glyphs_elapsed ();
+               public double mask_elapsed ();
+               public double paint_elapsed ();
+               public double stroke_elapsed ();
+               public Status print (WriteFunc write_func);
+       }
+
+       [Compact]
+       [CCode (ref_function = "cairo_surface_reference", unref_function = "cairo_surface_destroy", cname = "cairo_surface_t", cheader_filename = "cairo.h")]
+       public class SurfaceObserver {
+               [CCode (cname = "cairo_surface_create_observer")]
+               public SurfaceObserver (Surface target, SurfaceObserverMode mode);
+               public Status add_fill_callback (SurfaceObserverCallback func);
+               public Status add_finish_callback (SurfaceObserverCallback func);
+               public Status add_flush_callback (SurfaceObserverCallback func);
+               public Status add_glyphs_callback (SurfaceObserverCallback func);
+               public Status add_mask_callback (SurfaceObserverCallback func);
+               public Status add_paint_callback (SurfaceObserverCallback func);
+               public Status add_stroke_callback (SurfaceObserverCallback func);
+               public double elapsed ();
+               public Status print (WriteFunc write_func);
+       }
+
+       [CCode (cname = "cairo_surface_observer_callback_t", instance_pos = 2.9)]
+       public delegate void SurfaceObserverCallback (SurfaceObserver observer, Surface target);
+
+       [CCode (cname = "cairo_surface_observer_mode_t", has_type_id = false)]
+       public enum SurfaceObserverMode {
+               NORMAL,
+               RECORD_OPERATIONS
+       }
+
        [CCode (cname = "cairo_content_t", has_type_id = false)]
        public enum Content {
                COLOR,