summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/public/cairo-sections.txt38
-rw-r--r--src/cairo-surface-observer.c5
-rw-r--r--src/cairo.h9
3 files changed, 52 insertions, 0 deletions
diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index c67da371c..3dd570a85 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -114,6 +114,15 @@ cairo_recording_surface_get_extents
</SECTION>
<SECTION>
+<FILE>cairo-skia</FILE>
+cairo_skia_context
+cairo_skia_context_t
+cairo_skia_surface
+cairo_skia_surface_t
+format_to_sk_config
+</SECTION>
+
+<SECTION>
<FILE>cairo-win32</FILE>
CAIRO_HAS_WIN32_SURFACE
cairo_win32_surface_create
@@ -216,11 +225,21 @@ cairo_device_set_user_data
cairo_device_get_user_data
cairo_device_acquire
cairo_device_release
+cairo_device_observer_elapsed
+cairo_device_observer_fill_elapsed
+cairo_device_observer_glyphs_elapsed
+cairo_device_observer_mask_elapsed
+cairo_device_observer_paint_elapsed
+cairo_device_observer_print
+cairo_device_observer_stroke_elapsed
</SECTION>
<SECTION>
<FILE>cairo-surface</FILE>
CAIRO_HAS_MIME_SURFACE
+CAIRO_MIME_TYPE_JBIG2
+CAIRO_MIME_TYPE_JBIG2_GLOBAL
+CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID
CAIRO_MIME_TYPE_JP2
CAIRO_MIME_TYPE_JPEG
CAIRO_MIME_TYPE_PNG
@@ -243,6 +262,8 @@ cairo_surface_mark_dirty
cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
cairo_surface_get_device_offset
+cairo_surface_get_device_scale
+cairo_surface_set_device_scale
cairo_surface_set_fallback_resolution
cairo_surface_get_fallback_resolution
cairo_surface_type_t
@@ -261,6 +282,23 @@ cairo_surface_unmap_image
</SECTION>
<SECTION>
+<FILE>cairo-surface-observer</FILE>
+CAIRO_HAS_OBSERVER_SURFACE
+cairo_surface_create_observer
+cairo_surface_observer_add_fill_callback
+cairo_surface_observer_add_finish_callback
+cairo_surface_observer_add_flush_callback
+cairo_surface_observer_add_glyphs_callback
+cairo_surface_observer_add_mask_callback
+cairo_surface_observer_add_paint_callback
+cairo_surface_observer_add_stroke_callback
+cairo_surface_observer_callback_t
+cairo_surface_observer_elapsed
+cairo_surface_observer_mode_t
+cairo_surface_observer_print
+</SECTION>
+
+<SECTION>
<FILE>cairo-version</FILE>
CAIRO_VERSION
CAIRO_VERSION_MAJOR
diff --git a/src/cairo-surface-observer.c b/src/cairo-surface-observer.c
index 64036b64a..6721bf57d 100644
--- a/src/cairo-surface-observer.c
+++ b/src/cairo-surface-observer.c
@@ -1368,11 +1368,16 @@ static const cairo_surface_backend_t _cairo_surface_observer_backend = {
/**
* cairo_surface_create_observer:
* @target: an existing surface for which the observer will watch
+ * @mode: sets the mode of operation (normal vs. record)
*
* Create a new surface that exists solely to watch another is doing. In
* the process it will log operations and times, which are fast, which are
* slow, which are frequent, etc.
*
+ * The @mode parameter can be set to either CAIRO_SURFACE_OBSERVER_NORMAL
+ * or CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS, to control whether or not
+ * the internal observer should record operations.
+ *
* Return value: a pointer to the newly allocated surface. The caller
* owns the surface and should call cairo_surface_destroy() when done
* with it.
diff --git a/src/cairo.h b/src/cairo.h
index 2e69793c7..aa2070e39 100644
--- a/src/cairo.h
+++ b/src/cairo.h
@@ -2211,6 +2211,15 @@ cairo_surface_create_for_rectangle (cairo_surface_t *target,
double width,
double height);
+/**
+ * cairo_surface_observer_mode_t:
+ * @CAIRO_SURFACE_OBSERVER_NORMAL: no recording is done
+ * @CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS: operations are recorded
+ *
+ * Whether operations should be recorded.
+ *
+ * Since: 1.12
+ **/
typedef enum {
CAIRO_SURFACE_OBSERVER_NORMAL = 0,
CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS = 0x1