diff options
author | Ray Johnston <ray.johnston@artifex.com> | 2013-07-11 13:03:17 -0700 |
---|---|---|
committer | Ray Johnston <ray.johnston@artifex.com> | 2013-09-01 17:55:23 -0700 |
commit | 9c95a9ae56b5051ba8c7c3b3d161932678d3b01d (patch) | |
tree | e8937ce061b9d4914d64b3439e603e8194805b7e /gs/base/gxclrect.c | |
parent | e7b7ecff0277c0aa7e162edd21842dc4409391ff (diff) | |
download | ghostpdl-9c95a9ae56b5051ba8c7c3b3d161932678d3b01d.tar.gz |
Enhance gx_saved_page and save_page function to support advanced functions.
By saving the device params in the saved_page struct we can use it more
generally to print pages out of order. This is still compatible with the
rendering of multiple saved pages on a 'master' page for imposition, but
the latter does not use the device params so pages with differing spot colors
or differing destination ICC profiles may be incorrect. To be fixed later.
Several utility functions support lists of saved pages: gx_saved_pages_list_new
to allocate and initialize a saved page list; gx_saved_pages_list_add to alloc
a new saved page object, fill it with the current page and add it to the end of
the list; gx_saved_pages_list_print to print various pages in various orders
from the list; gx_saved_pages_list_free to free the clist files for the saved
pages as well as the saved pages and the saved pages list and to support the
parameter and command line arg, gx_saved_pages_param_process. This function
may be useful for applications as well. See psi/imainarg.c for sample usage
with --saved-pages-test.
Also, the gx_device_printer get and put params have an added saved-pages string
parameter to allow control of this feature.
A new command line option --saved-pages="..." is added that will call the
'process' function. This is implemented for BOTH gs imainarg and plmain used
by the other languages. Also, --saved-pages-test is added for weekly testing
that will collect all pages in a list (--saved-pages=begin) then after the
file is processed, will print all pages (--saved-pages="print normal flush").
The capability is mentioned in doc/Use.htm, and the parameters for the control
string is documented in doc/SavedPages.htm
Diffstat (limited to 'gs/base/gxclrect.c')
-rw-r--r-- | gs/base/gxclrect.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gs/base/gxclrect.c b/gs/base/gxclrect.c index b9a406109..06203b780 100644 --- a/gs/base/gxclrect.c +++ b/gs/base/gxclrect.c @@ -24,6 +24,8 @@ #include "gxclpath.h" #include "gxdevsop.h" +extern dev_proc_dev_spec_op(gdev_prn_dev_spec_op); + /* ---------------- Writing utilities ---------------- */ #define cmd_set_rect(rect)\ @@ -601,8 +603,6 @@ clist_fill_linear_color_triangle(gx_device * dev, const gs_fill_attributes *fa, int clist_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data, int size) { - gs_pattern1_instance_t *pinst = (gs_pattern1_instance_t *)data; - gx_bitmap_id id = (gx_bitmap_id)size; gx_device_clist_common * const cdev = &((gx_device_clist *)pdev)->common; if (dev_spec_op == gxdso_pattern_handles_clip_path) @@ -621,7 +621,8 @@ clist_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data, int size) return 0; } } - return gx_default_dev_spec_op(pdev, dev_spec_op, pinst, id); + /* forward to our super class */ + return gdev_prn_dev_spec_op(pdev, dev_spec_op, data, size); } #define dev_proc_pattern_manage(proc)\ |