summaryrefslogtreecommitdiff
path: root/base/gdevsclass.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2018-04-19 12:45:14 +0100
committerRobin Watts <robin.watts@artifex.com>2018-10-18 15:41:15 +0100
commit3b8f34c00e6ed1f7b4847a55d48b8027c0b0b946 (patch)
treed4016193e4c57d3df5ff2bf093220e1227bd4417 /base/gdevsclass.c
parent29113956bb0599209ca81698ab36736e373f054a (diff)
downloadghostpdl-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.c8
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;