summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-04-19 11:59:54 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-04-19 12:46:34 +0100
commit8653c2692e684a60370b99e545123ba2a7b00bc8 (patch)
tree39e9b1eefb52f76f2c3bfd069401c838ba2d51a0
parent3266f936dee59b7c3a990e518899a72d0e103f62 (diff)
downloadcairo-8653c2692e684a60370b99e545123ba2a7b00bc8.tar.gz
Split cairo-recording-surface-private into struct+inlines
References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/Makefile.sources2
-rw-r--r--src/cairo-analysis-surface.c4
-rw-r--r--src/cairo-image-source.c2
-rw-r--r--src/cairo-pattern.c4
-rw-r--r--src/cairo-pdf-surface.c2
-rw-r--r--src/cairo-ps-surface.c2
-rw-r--r--src/cairo-recording-surface-inline.h68
-rw-r--r--src/cairo-recording-surface-private.h26
-rw-r--r--src/cairo-recording-surface.c2
-rw-r--r--src/cairo-script-surface.c4
-rw-r--r--src/cairo-spans-compositor.c2
-rw-r--r--src/cairo-surface-snapshot-inline.h2
-rw-r--r--src/cairo-surface-snapshot-private.h18
-rw-r--r--src/cairo-surface-snapshot.c2
-rw-r--r--src/cairo-svg-surface.c2
-rw-r--r--src/cairo-tee-surface.c2
-rw-r--r--src/cairo-traps-compositor.c4
-rw-r--r--src/cairo-vg-surface.c2
-rw-r--r--src/cairo-xcb-surface-render.c4
-rw-r--r--src/cairo-xlib-source.c2
-rw-r--r--src/cairo-xml-surface.c2
-rw-r--r--src/win32/cairo-win32-printing-surface.c2
22 files changed, 93 insertions, 67 deletions
diff --git a/src/Makefile.sources b/src/Makefile.sources
index dde2011d3..f62c68935 100644
--- a/src/Makefile.sources
+++ b/src/Makefile.sources
@@ -95,6 +95,7 @@ cairo_private = \
cairo-path-private.h \
cairo-pattern-private.h \
cairo-private.h \
+ cairo-recording-surface-inline.h \
cairo-recording-surface-private.h \
cairo-reference-count-private.h \
cairo-region-private.h \
@@ -113,6 +114,7 @@ cairo_private = \
cairo-surface-observer-private.h \
cairo-surface-offset-private.h \
cairo-surface-subsurface-private.h \
+ cairo-surface-snapshot-inline.h \
cairo-surface-snapshot-private.h \
cairo-surface-wrapper-private.h \
cairo-time-private.h \
diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c
index e1d7d5824..de2e7d309 100644
--- a/src/cairo-analysis-surface.c
+++ b/src/cairo-analysis-surface.c
@@ -41,8 +41,8 @@
#include "cairo-default-context-private.h"
#include "cairo-error-private.h"
#include "cairo-paginated-private.h"
-#include "cairo-recording-surface-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-recording-surface-inline.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#include "cairo-region-private.h"
diff --git a/src/cairo-image-source.c b/src/cairo-image-source.c
index be3d38509..4323578ed 100644
--- a/src/cairo-image-source.c
+++ b/src/cairo-image-source.c
@@ -52,7 +52,7 @@
#include "cairo-paginated-private.h"
#include "cairo-recording-surface-private.h"
#include "cairo-surface-observer-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
index 5b3e17747..3904c7515 100644
--- a/src/cairo-pattern.c
+++ b/src/cairo-pattern.c
@@ -36,8 +36,8 @@
#include "cairo-image-surface-private.h"
#include "cairo-path-private.h"
#include "cairo-pattern-private.h"
-#include "cairo-recording-surface-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-recording-surface-inline.h"
+#include "cairo-surface-snapshot-inline.h"
#include <float.h>
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 78537cef8..a0a20e8f3 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -59,7 +59,7 @@
#include "cairo-paginated-private.h"
#include "cairo-scaled-font-subsets-private.h"
#include "cairo-surface-clipper-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#include "cairo-type3-glyph-surface-private.h"
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index c5ea680e4..dc01c6c32 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -71,7 +71,7 @@
#include "cairo-paginated-private.h"
#include "cairo-recording-surface-private.h"
#include "cairo-surface-clipper-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#include "cairo-output-stream-private.h"
#include "cairo-type3-glyph-surface-private.h"
diff --git a/src/cairo-recording-surface-inline.h b/src/cairo-recording-surface-inline.h
new file mode 100644
index 000000000..9002ccd69
--- /dev/null
+++ b/src/cairo-recording-surface-inline.h
@@ -0,0 +1,68 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2005 Red Hat, Inc
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ * Kristian Høgsberg <krh@redhat.com>
+ * Adrian Johnson <ajohnson@redneon.com>
+ */
+
+#ifndef CAIRO_RECORDING_SURFACE_INLINE_H
+#define CAIRO_RECORDING_SURFACE_INLINE_H
+
+#include "cairo-recording-surface-private.h"
+
+static inline cairo_bool_t
+_cairo_recording_surface_get_bounds (cairo_surface_t *surface,
+ cairo_rectangle_t *extents)
+{
+ cairo_recording_surface_t *recording = (cairo_recording_surface_t *)surface;
+ if (recording->unbounded)
+ return FALSE;
+
+ *extents = recording->extents_pixels;
+ return TRUE;
+}
+
+/**
+ * _cairo_surface_is_recording:
+ * @surface: a #cairo_surface_t
+ *
+ * Checks if a surface is a #cairo_recording_surface_t
+ *
+ * Return value: %TRUE if the surface is a recording surface
+ **/
+static inline cairo_bool_t
+_cairo_surface_is_recording (const cairo_surface_t *surface)
+{
+ return surface->backend->type == CAIRO_SURFACE_TYPE_RECORDING;
+}
+
+#endif /* CAIRO_RECORDING_SURFACE_INLINE_H */
diff --git a/src/cairo-recording-surface-private.h b/src/cairo-recording-surface-private.h
index 6e93eab00..0235b0f3f 100644
--- a/src/cairo-recording-surface-private.h
+++ b/src/cairo-recording-surface-private.h
@@ -184,30 +184,4 @@ _cairo_recording_surface_get_ink_bbox (cairo_recording_surface_t *surface,
cairo_box_t *bbox,
const cairo_matrix_t *transform);
-static inline cairo_bool_t
-_cairo_recording_surface_get_bounds (cairo_surface_t *surface,
- cairo_rectangle_t *extents)
-{
- cairo_recording_surface_t *recording = (cairo_recording_surface_t *)surface;
- if (recording->unbounded)
- return FALSE;
-
- *extents = recording->extents_pixels;
- return TRUE;
-}
-
-/**
- * _cairo_surface_is_recording:
- * @surface: a #cairo_surface_t
- *
- * Checks if a surface is a #cairo_recording_surface_t
- *
- * Return value: %TRUE if the surface is a recording surface
- **/
-static inline cairo_bool_t
-_cairo_surface_is_recording (const cairo_surface_t *surface)
-{
- return surface->backend->type == CAIRO_SURFACE_TYPE_RECORDING;
-}
-
#endif /* CAIRO_RECORDING_SURFACE_H */
diff --git a/src/cairo-recording-surface.c b/src/cairo-recording-surface.c
index 11a847ca2..02d8afd56 100644
--- a/src/cairo-recording-surface.c
+++ b/src/cairo-recording-surface.c
@@ -86,7 +86,7 @@
#include "cairo-default-context-private.h"
#include "cairo-error-private.h"
#include "cairo-image-surface-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-surface-wrapper-private.h"
#include "cairo-traps-private.h"
diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c
index 74177e02c..879281d3e 100644
--- a/src/cairo-script-surface.c
+++ b/src/cairo-script-surface.c
@@ -77,10 +77,10 @@
#include "cairo-image-surface-private.h"
#include "cairo-output-stream-private.h"
#include "cairo-pattern-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-scaled-font-private.h"
#include "cairo-surface-clipper-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#include "cairo-surface-wrapper-private.h"
diff --git a/src/cairo-spans-compositor.c b/src/cairo-spans-compositor.c
index 9474b4780..425b39b33 100644
--- a/src/cairo-spans-compositor.c
+++ b/src/cairo-spans-compositor.c
@@ -48,7 +48,7 @@
#include "cairo-paginated-private.h"
#include "cairo-pattern-private.h"
#include "cairo-region-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-spans-compositor-private.h"
#include "cairo-surface-subsurface-private.h"
#include "cairo-surface-snapshot-private.h"
diff --git a/src/cairo-surface-snapshot-inline.h b/src/cairo-surface-snapshot-inline.h
index 3dd05d4d3..5bf344427 100644
--- a/src/cairo-surface-snapshot-inline.h
+++ b/src/cairo-surface-snapshot-inline.h
@@ -36,7 +36,7 @@
#ifndef CAIRO_SURFACE_SNAPSHOT_INLINE_H
#define CAIRO_SURFACE_SNAPSHOT_INLINE_H
-#include "cairo-surface-private.h"
+#include "cairo-surface-snapshot-private.h"
static inline cairo_bool_t
_cairo_surface_snapshot_is_reused (cairo_surface_t *surface)
diff --git a/src/cairo-surface-snapshot-private.h b/src/cairo-surface-snapshot-private.h
index b7a4d05f6..4c3369ba9 100644
--- a/src/cairo-surface-snapshot-private.h
+++ b/src/cairo-surface-snapshot-private.h
@@ -46,22 +46,4 @@ struct _cairo_surface_snapshot {
cairo_surface_t *clone;
};
-static inline cairo_bool_t
-_cairo_surface_snapshot_is_reused (cairo_surface_t *surface)
-{
- return CAIRO_REFERENCE_COUNT_GET_VALUE (&surface->ref_count) > 2;
-}
-
-static inline cairo_surface_t *
-_cairo_surface_snapshot_get_target (cairo_surface_t *surface)
-{
- return ((cairo_surface_snapshot_t *) surface)->target;
-}
-
-static inline cairo_bool_t
-_cairo_surface_is_snapshot (cairo_surface_t *surface)
-{
- return surface->backend->type == (cairo_surface_type_t)CAIRO_INTERNAL_SURFACE_TYPE_SNAPSHOT;
-}
-
#endif /* CAIRO_SURFACE_SNAPSHOT_PRIVATE_H */
diff --git a/src/cairo-surface-snapshot.c b/src/cairo-surface-snapshot.c
index a2f2a6ccb..2562d1244 100644
--- a/src/cairo-surface-snapshot.c
+++ b/src/cairo-surface-snapshot.c
@@ -41,7 +41,7 @@
#include "cairo-error-private.h"
#include "cairo-image-surface-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
static cairo_status_t
_cairo_surface_snapshot_finish (void *abstract_surface)
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c
index 1b6505f94..824a27d33 100644
--- a/src/cairo-svg-surface.c
+++ b/src/cairo-svg-surface.c
@@ -50,7 +50,7 @@
#include "cairo-error-private.h"
#include "cairo-image-info-private.h"
#include "cairo-image-surface-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-output-stream-private.h"
#include "cairo-path-fixed-private.h"
#include "cairo-paginated-private.h"
diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
index d26ea9e60..0faa88a7c 100644
--- a/src/cairo-tee-surface.c
+++ b/src/cairo-tee-surface.c
@@ -45,7 +45,7 @@
#include "cairo-default-context-private.h"
#include "cairo-error-private.h"
#include "cairo-tee-surface-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-surface-wrapper-private.h"
#include "cairo-array-private.h"
#include "cairo-image-surface-private.h"
diff --git a/src/cairo-traps-compositor.c b/src/cairo-traps-compositor.c
index 5e1138034..071865b00 100644
--- a/src/cairo-traps-compositor.c
+++ b/src/cairo-traps-compositor.c
@@ -51,9 +51,9 @@
#include "cairo-image-surface-private.h"
#include "cairo-pattern-private.h"
#include "cairo-paginated-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-surface-subsurface-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-observer-private.h"
#include "cairo-region-private.h"
#include "cairo-spans-private.h"
diff --git a/src/cairo-vg-surface.c b/src/cairo-vg-surface.c
index afbf7a036..6e0d9a0ed 100644
--- a/src/cairo-vg-surface.c
+++ b/src/cairo-vg-surface.c
@@ -43,7 +43,7 @@
#include "cairo-error-private.h"
#include "cairo-image-surface-private.h"
#include "cairo-path-fixed-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-surface-clipper-private.h"
#include <pixman.h>
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index 74c6c844c..d41363e26 100644
--- a/src/cairo-xcb-surface-render.c
+++ b/src/cairo-xcb-surface-render.c
@@ -40,10 +40,10 @@
#include "cairo-image-surface-private.h"
#include "cairo-region-private.h"
#include "cairo-surface-offset-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#include "cairo-traps-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-paginated-private.h"
#define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
diff --git a/src/cairo-xlib-source.c b/src/cairo-xlib-source.c
index 549879469..4fb607c2a 100644
--- a/src/cairo-xlib-source.c
+++ b/src/cairo-xlib-source.c
@@ -53,7 +53,7 @@
#include "cairo-surface-backend-private.h"
#include "cairo-surface-offset-private.h"
#include "cairo-surface-observer-private.h"
-#include "cairo-surface-snapshot-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-surface-subsurface-private.h"
#define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
diff --git a/src/cairo-xml-surface.c b/src/cairo-xml-surface.c
index a2e6a9f1f..777d47089 100644
--- a/src/cairo-xml-surface.c
+++ b/src/cairo-xml-surface.c
@@ -50,7 +50,7 @@
#include "cairo-image-surface-private.h"
#include "cairo-error-private.h"
#include "cairo-output-stream-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#define static cairo_warn static
diff --git a/src/win32/cairo-win32-printing-surface.c b/src/win32/cairo-win32-printing-surface.c
index 881a42ffe..be91445cf 100644
--- a/src/win32/cairo-win32-printing-surface.c
+++ b/src/win32/cairo-win32-printing-surface.c
@@ -52,7 +52,7 @@
#include "cairo-clip-private.h"
#include "cairo-win32-private.h"
-#include "cairo-recording-surface-private.h"
+#include "cairo-recording-surface-inline.h"
#include "cairo-scaled-font-subsets-private.h"
#include "cairo-image-info-private.h"
#include "cairo-image-surface-private.h"