diff options
author | Robin Watts <robin.watts@artifex.com> | 2018-04-19 12:45:14 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2018-10-18 15:41:15 +0100 |
commit | 3b8f34c00e6ed1f7b4847a55d48b8027c0b0b946 (patch) | |
tree | d4016193e4c57d3df5ff2bf093220e1227bd4417 /base/gdevsclass.c | |
parent | 29113956bb0599209ca81698ab36736e373f054a (diff) | |
download | ghostpdl-3b8f34c00e6ed1f7b4847a55d48b8027c0b0b946.tar.gz |
Add "transform_pixel_region" device function.
Use this for handling image type 4 rendering.
The default version of this goes to rectangles. It also knows how to
send portrait images of 8bps to copy_color.
Next step is to write versions of this for the memory mapped devices
to know how to go direct.
Essentially we are copying the guts of the
image_render_color_icc_{portrait,landscape,skew} into a default
device method, and making the code that called those functions
call the device method instead.
Diffstat (limited to 'base/gdevsclass.c')
-rw-r--r-- | base/gdevsclass.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/base/gdevsclass.c b/base/gdevsclass.c index f02ea4a8d..d9c85d2e4 100644 --- a/base/gdevsclass.c +++ b/base/gdevsclass.c @@ -895,6 +895,14 @@ int default_subclass_process_page(gx_device *dev, gx_process_page_options_t *opt return 0; } +int default_subclass_transform_pixel_region(gx_device *dev, transform_pixel_region_reason reason, transform_pixel_region_data *data) +{ + if (dev->child) + return dev_proc(dev->child, transform_pixel_region)(dev->child, reason, data); + + return gs_error_unknownerror; +} + void default_subclass_finalize(const gs_memory_t *cmem, void *vptr) { gx_device * const dev = (gx_device *)vptr; |