summaryrefslogtreecommitdiff
path: root/base/gxcmap.c
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2021-06-18 18:16:10 +0100
committerRobin Watts <Robin.Watts@artifex.com>2021-06-21 20:10:53 +0100
commit160687dbf18e9fe84ad453e33284eca7b906fffb (patch)
tree47b12b90d69af5f4bde8cba76ceef21e5805a316 /base/gxcmap.c
parent3406eb17fb001f76eeca6c08dce72f25175f10fe (diff)
downloadghostpdl-160687dbf18e9fe84ad453e33284eca7b906fffb.tar.gz
Move pXm devices to use encode/decode_color.
This seems to fix pbmraw, pamcmyk32 and pnmcmyk.
Diffstat (limited to 'base/gxcmap.c')
-rw-r--r--base/gxcmap.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/base/gxcmap.c b/base/gxcmap.c
index 7d7ea8bd4..eec838fba 100644
--- a/base/gxcmap.c
+++ b/base/gxcmap.c
@@ -1753,6 +1753,21 @@ gx_default_w_b_map_color_rgb(gx_device * dev, gx_color_index color,
return 0;
}
+gx_color_index
+gx_default_w_b_gray_encode_color(gx_device *dev, const gx_color_value cv[])
+{
+ return cv[0] > gx_max_color_value / 2 ? (gx_color_index)1
+ : (gx_color_index)0;
+}
+
+int
+gx_default_w_b_gray_decode_color(gx_device * dev, gx_color_index color,
+ gx_color_value pgray[1])
+{ /* Map 0 to max_value, 1 to 0. */
+ pgray[0] = -(gx_color_value) color;
+ return 0;
+}
+
/* Black-on-white */
gx_color_index
gx_default_b_w_map_rgb_color(gx_device * dev, const gx_color_value cv[])
@@ -1774,6 +1789,21 @@ gx_default_b_w_map_color_rgb(gx_device * dev, gx_color_index color,
return 0;
}
+gx_color_index
+gx_default_b_w_gray_encode_color(gx_device *dev, const gx_color_value cv[])
+{
+ return cv[0] > gx_max_color_value / 2 ? (gx_color_index)0
+ : (gx_color_index)1;
+}
+
+int
+gx_default_b_w_gray_decode_color(gx_device * dev, gx_color_index color,
+ gx_color_value pgray[1])
+{ /* Map 0 to max_value, 1 to 0. */
+ pgray[0] = -((gx_color_value) color ^ 1);
+ return 0;
+}
+
/* RGB mapping for gray-scale devices */
gx_color_index