summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2021-06-18 13:15:38 +0100
committerRobin Watts <Robin.Watts@artifex.com>2021-06-18 13:18:36 +0100
commit9d500ac7120b5e7c079ad376c6cb5d2e4e985783 (patch)
tree1016788494b8e12c2e224d7aecd8fb6487a0d25a
parent44274c6d561826a1456acc5187c44ede29c30e5a (diff)
downloadghostpdl-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.c2
-rw-r--r--base/gdevdgbr.c6
-rw-r--r--base/gdevhit.c1
-rw-r--r--base/gdevmem.c1
-rw-r--r--base/gdevnfwd.c14
-rw-r--r--base/gdevprn.c1
-rw-r--r--base/gdevrops.c1
-rw-r--r--base/gdevsclass.c9
-rw-r--r--base/gdevsclass.h1
-rw-r--r--base/gxclip.c1
-rw-r--r--base/gxclip2.c1
-rw-r--r--base/gxclipm.c1
-rw-r--r--base/gxclist.c1
-rw-r--r--base/gxcmap.c10
-rw-r--r--base/gxdevcli.h7
-rw-r--r--base/gxdevice.h2
-rw-r--r--devices/gdevdsp.c1
-rw-r--r--doc/Drivers.htm40
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&nbsp;*,
-gx_color_value&nbsp;red, gx_color_value&nbsp;green,
-gx_color_value&nbsp;blue, gx_color_value&nbsp;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,&nbsp;r,&nbsp;g,&nbsp;b,&nbsp;gx_max_color_value)</code>
-returns the same value as
-<code>encode_color(dev,&nbsp;CV)</code>. </p>
-</dl>
-
-<dl>
-<dt><code>int (*map_color_rgb_alpha)(gx_device&nbsp;*,
-gx_color_index&nbsp;color, gx_color_value&nbsp;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&nbsp;enum&nbsp;{&nbsp;go_text,
go_graphics&nbsp;}&nbsp;graphic_object_type;&nbsp;int
(*get_alpha_bits)(gx_device&nbsp;*dev,