diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2021-06-18 13:15:38 +0100 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2021-06-18 13:18:36 +0100 |
commit | 9d500ac7120b5e7c079ad376c6cb5d2e4e985783 (patch) | |
tree | 1016788494b8e12c2e224d7aecd8fb6487a0d25a | |
parent | 44274c6d561826a1456acc5187c44ede29c30e5a (diff) | |
download | ghostpdl-9d500ac7120b5e7c079ad376c6cb5d2e4e985783.tar.gz |
Remove map_color_rgb_alpha.
No one ever implements any non-default version. We have no mechanism
for writing non full-alpha pixels, so why have a mechanism for reading
it out?
-rw-r--r-- | base/gdevdflt.c | 2 | ||||
-rw-r--r-- | base/gdevdgbr.c | 6 | ||||
-rw-r--r-- | base/gdevhit.c | 1 | ||||
-rw-r--r-- | base/gdevmem.c | 1 | ||||
-rw-r--r-- | base/gdevnfwd.c | 14 | ||||
-rw-r--r-- | base/gdevprn.c | 1 | ||||
-rw-r--r-- | base/gdevrops.c | 1 | ||||
-rw-r--r-- | base/gdevsclass.c | 9 | ||||
-rw-r--r-- | base/gdevsclass.h | 1 | ||||
-rw-r--r-- | base/gxclip.c | 1 | ||||
-rw-r--r-- | base/gxclip2.c | 1 | ||||
-rw-r--r-- | base/gxclipm.c | 1 | ||||
-rw-r--r-- | base/gxclist.c | 1 | ||||
-rw-r--r-- | base/gxcmap.c | 10 | ||||
-rw-r--r-- | base/gxdevcli.h | 7 | ||||
-rw-r--r-- | base/gxdevice.h | 2 | ||||
-rw-r--r-- | devices/gdevdsp.c | 1 | ||||
-rw-r--r-- | doc/Drivers.htm | 40 |
18 files changed, 3 insertions, 97 deletions
diff --git a/base/gdevdflt.c b/base/gdevdflt.c index 8d054d6a7..c4f4037f6 100644 --- a/base/gdevdflt.c +++ b/base/gdevdflt.c @@ -618,7 +618,6 @@ gx_device_fill_in_procs(register gx_device * dev) fill_dev_proc(dev, get_clipping_box, gx_default_get_clipping_box); fill_dev_proc(dev, begin_typed_image, gx_default_begin_typed_image); fill_dev_proc(dev, get_bits_rectangle, gx_default_get_bits_rectangle); - fill_dev_proc(dev, map_color_rgb_alpha, gx_default_map_color_rgb_alpha); fill_dev_proc(dev, composite, gx_default_composite); fill_dev_proc(dev, get_hardware_params, gx_default_get_hardware_params); fill_dev_proc(dev, text_begin, gx_default_text_begin); @@ -1224,7 +1223,6 @@ int gx_copy_device_procs(gx_device *dest, const gx_device *src, const gx_device set_dev_proc(dest, get_clipping_box, dev_proc(&prototype, get_clipping_box)); set_dev_proc(dest, begin_typed_image, dev_proc(&prototype, begin_typed_image)); set_dev_proc(dest, get_bits_rectangle, dev_proc(&prototype, get_bits_rectangle)); - set_dev_proc(dest, map_color_rgb_alpha, dev_proc(&prototype, map_color_rgb_alpha)); set_dev_proc(dest, composite, dev_proc(&prototype, composite)); set_dev_proc(dest, get_hardware_params, dev_proc(&prototype, get_hardware_params)); set_dev_proc(dest, text_begin, dev_proc(&prototype, text_begin)); diff --git a/base/gdevdgbr.c b/base/gdevdgbr.c index ba7380843..3ea656417 100644 --- a/base/gdevdgbr.c +++ b/base/gdevdgbr.c @@ -448,9 +448,9 @@ gx_get_bits_native_to_std(gx_device * dev, int x, int w, int h, } mapped[pixel] = dest; } - (*dev_proc(dev, map_color_rgb_alpha)) (dev, pixel, rgba); + (*dev_proc(dev, map_color_rgb)) (dev, pixel, rgba); if (options & GB_ALPHA_FIRST) - *dest++ = gx_color_value_to_byte(rgba[3]); + *dest++ = 0xff; /* Convert to the requested color space. */ if (options & GB_COLORS_RGB) { dest[0] = gx_color_value_to_byte(rgba[0]); @@ -477,7 +477,7 @@ gx_get_bits_native_to_std(gx_device * dev, int x, int w, int h, / lum_all_weights); } if (options & GB_ALPHA_LAST) - *dest++ = gx_color_value_to_byte(rgba[3]); + *dest++ = 0xff; } } return 0; diff --git a/base/gdevhit.c b/base/gdevhit.c index d56b34723..04f7345a3 100644 --- a/base/gdevhit.c +++ b/base/gdevhit.c @@ -48,7 +48,6 @@ hit_initialize_device_procs(gx_device *dev) set_dev_proc(dev, strip_copy_rop2, gx_default_strip_copy_rop2); set_dev_proc(dev, get_clipping_box, gx_get_largest_clipping_box); set_dev_proc(dev, begin_typed_image, gx_default_begin_typed_image); - set_dev_proc(dev, map_color_rgb_alpha, gx_default_map_color_rgb_alpha); } const gx_device gs_hit_device = { std_device_std_body(gx_device, hit_initialize_device_procs, "hit detector", diff --git a/base/gdevmem.c b/base/gdevmem.c index cab15c530..e0d247214 100644 --- a/base/gdevmem.c +++ b/base/gdevmem.c @@ -899,7 +899,6 @@ void mem_initialize_device_procs(gx_device *dev) set_dev_proc(dev, draw_thin_line, mem_draw_thin_line); set_dev_proc(dev, get_clipping_box, gx_default_get_clipping_box); set_dev_proc(dev, begin_typed_image, gx_default_begin_typed_image); - set_dev_proc(dev, map_color_rgb_alpha, gx_default_map_color_rgb_alpha); set_dev_proc(dev, composite, gx_default_composite); set_dev_proc(dev, get_hardware_params, gx_default_get_hardware_params); set_dev_proc(dev, text_begin, gx_default_text_begin); diff --git a/base/gdevnfwd.c b/base/gdevnfwd.c index 60a4735b9..97e10b7e1 100644 --- a/base/gdevnfwd.c +++ b/base/gdevnfwd.c @@ -82,7 +82,6 @@ gx_device_forward_fill_in_procs(register gx_device_forward * dev) fill_dev_proc(dev, get_clipping_box, gx_forward_get_clipping_box); fill_dev_proc(dev, begin_typed_image, gx_forward_begin_typed_image); fill_dev_proc(dev, get_bits_rectangle, gx_forward_get_bits_rectangle); - fill_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); fill_dev_proc(dev, composite, gx_no_composite); fill_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); fill_dev_proc(dev, text_begin, gx_forward_text_begin); @@ -542,17 +541,6 @@ gx_forward_get_bits_rectangle(gx_device * dev, const gs_int_rect * prect, } int -gx_forward_map_color_rgb_alpha(gx_device * dev, gx_color_index color, - gx_color_value prgba[4]) -{ - gx_device_forward * const fdev = (gx_device_forward *)dev; - gx_device *tdev = fdev->target; - - return (tdev == 0 ? gx_default_map_color_rgb_alpha(dev, color, prgba) : - dev_proc(tdev, map_color_rgb_alpha)(tdev, color, prgba)); -} - -int gx_forward_get_hardware_params(gx_device * dev, gs_param_list * plist) { gx_device_forward * const fdev = (gx_device_forward *)dev; @@ -971,7 +959,6 @@ null_initialize_device_procs(gx_device *dev) set_dev_proc(dev, fill_parallelogram, null_fill_parallelogram); set_dev_proc(dev, fill_triangle, null_fill_triangle); set_dev_proc(dev, draw_thin_line, null_draw_thin_line); - set_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); set_dev_proc(dev, composite, gx_non_imaging_composite); set_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); set_dev_proc(dev, get_color_mapping_procs, gx_default_DevGray_get_color_mapping_procs); @@ -1206,7 +1193,6 @@ void gx_forward_device_initialize_procs(gx_device *dev) fill_dev_proc(dev, get_clipping_box, gx_forward_get_clipping_box); fill_dev_proc(dev, begin_typed_image, gx_forward_begin_typed_image); fill_dev_proc(dev, get_bits_rectangle, gx_forward_get_bits_rectangle); - fill_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); /* There is no forward_composite (see Drivers.htm). */ fill_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); fill_dev_proc(dev, text_begin, gx_forward_text_begin); diff --git a/base/gdevprn.c b/base/gdevprn.c index 6bd2ecee3..a4eeaa9f8 100644 --- a/base/gdevprn.c +++ b/base/gdevprn.c @@ -478,7 +478,6 @@ gdev_prn_allocate(gx_device *pdev, gdev_space_params *new_space_params, /* standard macros for generating their procedure vectors. */ set_dev_proc(ppdev, get_page_device, gx_page_device_get_page_device); COPY_PROC(get_clipping_box); - COPY_PROC(map_color_rgb_alpha); COPY_PROC(get_hardware_params); COPY_PROC(get_color_mapping_procs); COPY_PROC(get_color_comp_index); diff --git a/base/gdevrops.c b/base/gdevrops.c index baad212f0..d0c97b04f 100644 --- a/base/gdevrops.c +++ b/base/gdevrops.c @@ -61,7 +61,6 @@ rop_texture_initialize_device_procs(gx_device *dev) set_dev_proc(dev, get_page_device, gx_forward_get_page_device); set_dev_proc(dev, copy_alpha, gx_no_copy_alpha); set_dev_proc(dev, get_clipping_box, gx_forward_get_clipping_box); - set_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); set_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); set_dev_proc(dev, get_color_mapping_procs, gx_forward_get_color_mapping_procs); set_dev_proc(dev, get_color_comp_index, gx_forward_get_color_comp_index); diff --git a/base/gdevsclass.c b/base/gdevsclass.c index e83c11ea7..7f9dd4053 100644 --- a/base/gdevsclass.c +++ b/base/gdevsclass.c @@ -359,14 +359,6 @@ int default_subclass_get_bits_rectangle(gx_device *dev, const gs_int_rect *prect return gx_default_get_bits_rectangle(dev, prect, params, unread); } -int default_subclass_map_color_rgb_alpha(gx_device *dev, gx_color_index color, gx_color_value rgba[4]) -{ - if (dev->child) - return dev_proc(dev->child, map_color_rgb_alpha)(dev->child, color, rgba); - /* else */ - return gx_default_map_color_rgb_alpha(dev, color, rgba); -} - int default_subclass_composite(gx_device *dev, gx_device **pcdev, const gs_composite_t *pcte, gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev) { @@ -835,7 +827,6 @@ void default_subclass_initialize_device_procs(gx_device *dev) set_dev_proc(dev, get_clipping_box, default_subclass_get_clipping_box); set_dev_proc(dev, begin_typed_image, default_subclass_begin_typed_image); set_dev_proc(dev, get_bits_rectangle, default_subclass_get_bits_rectangle); - set_dev_proc(dev, map_color_rgb_alpha, default_subclass_map_color_rgb_alpha); set_dev_proc(dev, composite, default_subclass_composite); set_dev_proc(dev, get_hardware_params, default_subclass_get_hardware_params); set_dev_proc(dev, text_begin, default_subclass_text_begin); diff --git a/base/gdevsclass.h b/base/gdevsclass.h index 178a794cb..aa8e7a686 100644 --- a/base/gdevsclass.h +++ b/base/gdevsclass.h @@ -55,7 +55,6 @@ dev_proc_strip_tile_rectangle(default_subclass_strip_tile_rectangle); dev_proc_get_clipping_box(default_subclass_get_clipping_box); dev_proc_begin_typed_image(default_subclass_begin_typed_image); dev_proc_get_bits_rectangle(default_subclass_get_bits_rectangle); -dev_proc_map_color_rgb_alpha(default_subclass_map_color_rgb_alpha); dev_proc_composite(default_subclass_composite); dev_proc_get_hardware_params(default_subclass_get_hardware_params); dev_proc_text_begin(default_subclass_text_begin); diff --git a/base/gxclip.c b/base/gxclip.c index c5d19197b..c9bf79133 100644 --- a/base/gxclip.c +++ b/base/gxclip.c @@ -70,7 +70,6 @@ clipper_initialize_device_procs(gx_device *dev) set_dev_proc(dev, strip_tile_rectangle, clip_strip_tile_rectangle); set_dev_proc(dev, get_clipping_box, clip_get_clipping_box); set_dev_proc(dev, get_bits_rectangle, clip_get_bits_rectangle); - set_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); set_dev_proc(dev, composite, gx_forward_composite); set_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); set_dev_proc(dev, get_color_mapping_procs, gx_forward_get_color_mapping_procs); diff --git a/base/gxclip2.c b/base/gxclip2.c index 80a20e447..ef3eb5b39 100644 --- a/base/gxclip2.c +++ b/base/gxclip2.c @@ -56,7 +56,6 @@ tile_clipper_initialize_device_procs(gx_device *dev) set_dev_proc(dev, copy_alpha, tile_clip_copy_alpha); set_dev_proc(dev, get_clipping_box, gx_forward_get_clipping_box); set_dev_proc(dev, get_bits_rectangle, gx_forward_get_bits_rectangle); - set_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); set_dev_proc(dev, composite, gx_no_composite); set_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); set_dev_proc(dev, get_color_mapping_procs, gx_forward_get_color_mapping_procs); diff --git a/base/gxclipm.c b/base/gxclipm.c index b741bc91b..627f28a53 100644 --- a/base/gxclipm.c +++ b/base/gxclipm.c @@ -55,7 +55,6 @@ mask_clip_initialize_device_procs(gx_device *dev) set_dev_proc(dev, strip_tile_rectangle, mask_clip_strip_tile_rectangle); set_dev_proc(dev, get_clipping_box, mask_clip_get_clipping_box); set_dev_proc(dev, get_bits_rectangle, gx_forward_get_bits_rectangle); - set_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); set_dev_proc(dev, composite, gx_no_composite); set_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); set_dev_proc(dev, get_color_mapping_procs, gx_forward_get_color_mapping_procs); diff --git a/base/gxclist.c b/base/gxclist.c index 7a12d00af..a3b3ccb30 100644 --- a/base/gxclist.c +++ b/base/gxclist.c @@ -155,7 +155,6 @@ clist_initialize_device_procs(gx_device *dev) set_dev_proc(dev, get_clipping_box, gx_forward_get_clipping_box); set_dev_proc(dev, begin_typed_image, clist_begin_typed_image); set_dev_proc(dev, get_bits_rectangle, clist_get_bits_rectangle); - set_dev_proc(dev, map_color_rgb_alpha, gx_forward_map_color_rgb_alpha); set_dev_proc(dev, composite, clist_composite); set_dev_proc(dev, get_hardware_params, gx_forward_get_hardware_params); set_dev_proc(dev, get_color_mapping_procs, gx_forward_get_color_mapping_procs); diff --git a/base/gxcmap.c b/base/gxcmap.c index 65bdfb009..7d7ea8bd4 100644 --- a/base/gxcmap.c +++ b/base/gxcmap.c @@ -1981,16 +1981,6 @@ cmyk_16bit_map_color_cmyk(gx_device * dev, gx_color_index color, return 0; } -/* Default mapping between RGB+alpha and RGB. */ - -int -gx_default_map_color_rgb_alpha(gx_device * dev, gx_color_index color, - gx_color_value prgba[4]) -{ - prgba[3] = gx_max_color_value; /* alpha = 1 */ - return (*dev_proc(dev, map_color_rgb)) (dev, color, prgba); -} - frac gx_unit_frac(float fvalue) { diff --git a/base/gxdevcli.h b/base/gxdevcli.h index d1549f0c6..6b8b065d1 100644 --- a/base/gxdevcli.h +++ b/base/gxdevcli.h @@ -1081,12 +1081,6 @@ typedef enum FILTER_FLAGS { #define dev_proc_get_bits_rectangle(proc)\ dev_t_proc_get_bits_rectangle(proc, gx_device) -#define dev_t_proc_map_color_rgb_alpha(proc, dev_t)\ - int proc(dev_t *dev,\ - gx_color_index color, gx_color_value rgba[4]) -#define dev_proc_map_color_rgb_alpha(proc)\ - dev_t_proc_map_color_rgb_alpha(proc, gx_device) - #define dev_t_proc_composite(proc, dev_t)\ int proc(dev_t *dev,\ gx_device **pcdev, const gs_composite_t *pcte,\ @@ -1481,7 +1475,6 @@ typedef struct { dev_t_proc_get_clipping_box((*get_clipping_box), dev_t);\ dev_t_proc_begin_typed_image((*begin_typed_image), dev_t);\ dev_t_proc_get_bits_rectangle((*get_bits_rectangle), dev_t);\ - dev_t_proc_map_color_rgb_alpha((*map_color_rgb_alpha), dev_t);\ dev_t_proc_composite((*composite), dev_t);\ dev_t_proc_get_hardware_params((*get_hardware_params), dev_t);\ dev_t_proc_text_begin((*text_begin), dev_t);\ diff --git a/base/gxdevice.h b/base/gxdevice.h index 06b7339e8..9a389af38 100644 --- a/base/gxdevice.h +++ b/base/gxdevice.h @@ -276,7 +276,6 @@ dev_proc_get_clipping_box(gx_get_largest_clipping_box); dev_proc_begin_typed_image(gx_default_begin_typed_image); dev_proc_get_bits_rectangle(gx_no_get_bits_rectangle); /* gives error */ dev_proc_get_bits_rectangle(gx_default_get_bits_rectangle); -dev_proc_map_color_rgb_alpha(gx_default_map_color_rgb_alpha); dev_proc_composite(gx_no_composite); /* default is for ordinary "leaf" devices, null is for */ /* devices that only care about coverage and not contents. */ @@ -371,7 +370,6 @@ dev_proc_strip_tile_rectangle(gx_forward_strip_tile_rectangle); dev_proc_get_clipping_box(gx_forward_get_clipping_box); dev_proc_begin_typed_image(gx_forward_begin_typed_image); dev_proc_get_bits_rectangle(gx_forward_get_bits_rectangle); -dev_proc_map_color_rgb_alpha(gx_forward_map_color_rgb_alpha); /* There is no forward_composite (see Drivers.htm). */ dev_proc_get_hardware_params(gx_forward_get_hardware_params); dev_proc_text_begin(gx_forward_text_begin); diff --git a/devices/gdevdsp.c b/devices/gdevdsp.c index 13730b3da..fdb1dab56 100644 --- a/devices/gdevdsp.c +++ b/devices/gdevdsp.c @@ -1747,7 +1747,6 @@ display_alloc_bitmap(gx_device_display * ddev, gx_device * param_dev) COPY_PROC(map_cmyk_color); set_dev_proc(ddev, get_page_device, gx_page_device_get_page_device); COPY_PROC(get_clipping_box); - COPY_PROC(map_color_rgb_alpha); COPY_PROC(get_hardware_params); COPY_PROC(get_color_mapping_procs); COPY_PROC(get_color_comp_index); diff --git a/doc/Drivers.htm b/doc/Drivers.htm index a76e31956..d0d1d38a4 100644 --- a/doc/Drivers.htm +++ b/doc/Drivers.htm @@ -1548,46 +1548,6 @@ the values in <code>color_info.depth</code> and </dl> <dl> -<dt><code>gx_color_index (*map_rgb_alpha_color)(gx_device *, -gx_color_value red, gx_color_value green, -gx_color_value blue, gx_color_value alpha)</code> <b><em>[OPTIONAL]</em></b></dt> -<dd>Map a RGB color and an opacity value to a device color. The range of -legal values of the RGB and alpha arguments is 0 to -<code>gx_max_color_value</code>; <code>alpha</code> = 0 means -transparent, <code>alpha</code> = <code>gx_max_color_value</code> -means fully opaque. The default is to use the -<code>encode_color</code> procedure and ignore alpha.</dd> - -<p> -Note that if a driver implements <code>map_rgb_alpha_color</code>, it -must also implement <code>encode_color</code>, and must implement them -in such a way that -<code>map_rgb_alpha_color(dev, r, g, b, gx_max_color_value)</code> -returns the same value as -<code>encode_color(dev, CV)</code>. </p> -</dl> - -<dl> -<dt><code>int (*map_color_rgb_alpha)(gx_device *, -gx_color_index color, gx_color_value rgba[4])</code> -<b><em>[OPTIONAL]</em></b></dt> -<dd>Map a device color code to RGB and alpha values. The default -implementation calls <code>map_color_rgb</code> and fills in -<code>gx_max_color_value</code> for alpha.</dd> - -<p> -Note that if a driver implements <code>map_color_rgb_alpha</code>, it -must also implement <code>decode_color</code>, and must implement them -in such a way that the first 3 values returned by -<code>map_color_rgb_alpha</code> are the same as the values returned by -<code>decode_color</code>.</p> - -<p> -Note that only RGB devices currently support variable opacity; alpha is ignored -on other devices. The PDF 1.4 transparency features are supported on all devices. </p> -</dl> - -<dl> <dt><code>typedef enum { go_text, go_graphics } graphic_object_type; int (*get_alpha_bits)(gx_device *dev, |