summaryrefslogtreecommitdiff
path: root/source/gprf/gprf-doc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/gprf/gprf-doc.c')
-rw-r--r--source/gprf/gprf-doc.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/source/gprf/gprf-doc.c b/source/gprf/gprf-doc.c
index 07714b8a..02562ca7 100644
--- a/source/gprf/gprf-doc.c
+++ b/source/gprf/gprf-doc.c
@@ -654,6 +654,26 @@ gprf_run_page(fz_context *ctx, fz_page *page_, fz_device *dev, const fz_matrix *
fz_render_flags(ctx, dev, 0, FZ_DEVFLAG_GRIDFIT_AS_TILED);
}
+static int gprf_count_separations(fz_context *ctx, fz_page *page_)
+{
+ gprf_page *page = (gprf_page *)page_;
+
+ return fz_count_separations(ctx, page->separations);
+}
+
+static void gprf_control_separation(fz_context *ctx, fz_page *page_, int sep, int disable)
+{
+ gprf_page *page = (gprf_page *)page_;
+
+ fz_control_separation(ctx, page->separations, sep, disable);
+}
+
+static const char *gprf_get_separation(fz_context *ctx, fz_page *page_, int sep, uint32_t *rgba, uint32_t*cmyk)
+{
+ gprf_page *page = (gprf_page *)page_;
+
+ return fz_get_separation(ctx, page->separations, sep, rgba, cmyk);
+}
static fz_page *
gprf_load_page(fz_context *ctx, fz_document *doc_, int number)
@@ -666,6 +686,9 @@ gprf_load_page(fz_context *ctx, fz_document *doc_, int number)
page->super.bound_page = gprf_bound_page;
page->super.run_page_contents = gprf_run_page;
page->super.drop_page_imp = gprf_drop_page_imp;
+ page->super.count_separations = gprf_count_separations;
+ page->super.control_separation = gprf_control_separation;
+ page->super.get_separation = gprf_get_separation;
page->doc = (gprf_document *)fz_keep_document(ctx, &doc->super);
page->number = number;
page->separations = fz_new_separations(ctx);