summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2011-08-09 09:29:49 +0200
committerAndrea Canciani <ranma42@gmail.com>2011-09-05 02:48:09 +0200
commit2da28cd4be441e00c87df80faa51f890aed92472 (patch)
treec7fcd8200ea935edc3f3c85f2697dfef39c1aa3c
parent2f0450927afd1f9408d5295d5c42170cd61a6c7a (diff)
creation date
-rw-r--r--boilerplate/cairo-boilerplate-ps.c23
-rw-r--r--src/cairo-ps-surface.c13
-rw-r--r--src/cairo-ps.h4
3 files changed, 18 insertions, 22 deletions
diff --git a/boilerplate/cairo-boilerplate-ps.c b/boilerplate/cairo-boilerplate-ps.c
index e92f029e3..c4ed6337e 100644
--- a/boilerplate/cairo-boilerplate-ps.c
+++ b/boilerplate/cairo-boilerplate-ps.c
@@ -30,9 +30,6 @@
#include <cairo-ps.h>
-#include <cairo-ps-surface-private.h>
-#include <cairo-paginated-surface-private.h>
-
#if HAVE_SIGNAL_H
#include <signal.h>
#endif
@@ -51,24 +48,6 @@ typedef struct _ps_target_closure {
cairo_ps_level_t level;
} ps_target_closure_t;
-static cairo_status_t
-_cairo_boilerplate_ps_surface_set_creation_date (cairo_surface_t *abstract_surface,
- time_t date)
-{
- cairo_paginated_surface_t *paginated = (cairo_paginated_surface_t*) abstract_surface;
- cairo_ps_surface_t *surface;
-
- if (cairo_surface_get_type (abstract_surface) != CAIRO_SURFACE_TYPE_PS)
- return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
-
- surface = (cairo_ps_surface_t*) paginated->target;
-
- surface->has_creation_date = TRUE;
- surface->creation_date = date;
-
- return CAIRO_STATUS_SUCCESS;
-}
-
static cairo_surface_t *
_cairo_boilerplate_ps_create_surface (const char *name,
cairo_content_t content,
@@ -103,7 +82,7 @@ _cairo_boilerplate_ps_create_surface (const char *name,
goto CLEANUP_FILENAME;
cairo_ps_surface_restrict_to_level (surface, level);
- _cairo_boilerplate_ps_surface_set_creation_date (surface, 0);
+ cairo_ps_surface_debug_set_creation_date (surface, 0);
cairo_surface_set_fallback_resolution (surface, 72., 72.);
if (content == CAIRO_CONTENT_COLOR) {
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 6fa510fa5..78a96048e 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -1366,6 +1366,19 @@ cairo_ps_surface_debug_force_fallbacks (cairo_surface_t *surface)
ps_surface->force_fallbacks = TRUE;
}
+void
+cairo_ps_surface_debug_set_creation_date (cairo_surface_t *surface,
+ time_t date)
+{
+ cairo_ps_surface_t *ps_surface = NULL;
+
+ if (! _extract_ps_surface (surface, TRUE, &ps_surface))
+ return;
+
+ ps_surface->has_creation_date = TRUE;
+ ps_surface->creation_date = date;
+}
+
/**
* cairo_ps_surface_dsc_comment:
* @surface: a PostScript #cairo_surface_t
diff --git a/src/cairo-ps.h b/src/cairo-ps.h
index 545d70ab7..42f1956b2 100644
--- a/src/cairo-ps.h
+++ b/src/cairo-ps.h
@@ -42,6 +42,7 @@
#if CAIRO_HAS_PS_SURFACE
#include <stdio.h>
+#include <time.h>
CAIRO_BEGIN_DECLS
@@ -110,6 +111,9 @@ cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface);
cairo_public void
cairo_ps_surface_debug_force_fallbacks (cairo_surface_t *surface);
+cairo_public void
+cairo_ps_surface_debug_set_creation_date (cairo_surface_t *surface,
+ time_t date);
CAIRO_END_DECLS
#else /* CAIRO_HAS_PS_SURFACE */