diff options
author | Andrea Canciani <ranma42@gmail.com> | 2011-08-09 09:29:49 +0200 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2011-09-05 02:48:09 +0200 |
commit | 2da28cd4be441e00c87df80faa51f890aed92472 (patch) | |
tree | c7fcd8200ea935edc3f3c85f2697dfef39c1aa3c | |
parent | 2f0450927afd1f9408d5295d5c42170cd61a6c7a (diff) |
creation date
-rw-r--r-- | boilerplate/cairo-boilerplate-ps.c | 23 | ||||
-rw-r--r-- | src/cairo-ps-surface.c | 13 | ||||
-rw-r--r-- | src/cairo-ps.h | 4 |
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 */ |