summaryrefslogtreecommitdiff
path: root/contrib/gdevbjc_.c
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2021-04-08 16:29:55 +0100
committerRobin Watts <Robin.Watts@artifex.com>2021-04-20 15:03:02 +0100
commite1a3956f252404f07d93be47f7845b23e4a2c4de (patch)
tree9f702e5846dbeba82ccf4b65a28434a8b80de708 /contrib/gdevbjc_.c
parent8d83e9871f14d44c7120f0e170c43064c6a738ea (diff)
downloadghostpdl-e1a3956f252404f07d93be47f7845b23e4a2c4de.tar.gz
Move devices away from static init of procs.
Diffstat (limited to 'contrib/gdevbjc_.c')
-rw-r--r--contrib/gdevbjc_.c73
1 files changed, 61 insertions, 12 deletions
diff --git a/contrib/gdevbjc_.c b/contrib/gdevbjc_.c
index a661ba0d1..e0ab67ce0 100644
--- a/contrib/gdevbjc_.c
+++ b/contrib/gdevbjc_.c
@@ -211,10 +211,23 @@ static media_t media_codes[] = {
/* ------------------------- 1 bit Monochrome ---------------------------- */
/***************************************************************************/
+static int
+bjcmono_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, get_params, gdev_bjc_get_params);
+ set_dev_proc(dev, put_params, gdev_bjc_put_params);
+
+ return 0;
+}
+
+
static const gx_device_procs bjcmono_procs =
-prn_color_params_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close,
- NULL, NULL,
- gdev_bjc_get_params, gdev_bjc_put_params);
+devprocs_initialize(bjcmono_initialize);
const gx_device_bjc_printer gs_bjcmono_device =
bjc_device(bjcmono_procs, "bjcmono",
@@ -234,10 +247,22 @@ bjc_device(bjcmono_procs, "bjcmono",
/* -------------------------- 8 bit Grayscale ---------------------------- */
/***************************************************************************/
+static int
+bjcgray_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize_gray(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, get_params, gdev_bjc_get_params);
+ set_dev_proc(dev, put_params, gdev_bjc_put_params);
+
+ return 0;
+}
+
static const gx_device_procs bjcgray_procs =
-prn_color_params_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close,
- gx_default_gray_map_rgb_color, gx_default_gray_map_color_rgb,
- gdev_bjc_get_params, gdev_bjc_put_params);
+devprocs_initialize(bjcgray_initialize);
const gx_device_bjc_printer gs_bjcgray_device =
bjc_device(bjcgray_procs, "bjcgray",
@@ -257,10 +282,22 @@ bjc_device(bjcgray_procs, "bjcgray",
/* --------------------------- 3 bit CMYK Color -------------------------- */
/***************************************************************************/
+static int
+bjccmyk_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize_cmyk1(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, get_params, gdev_bjc_get_params);
+ set_dev_proc(dev, put_params, gdev_bjc_put_params);
+
+ return 0;
+}
+
static const gx_device_procs bjc_cmykcolor_procs =
-bjc_cmyk_param_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close,
- cmyk_1bit_map_color_rgb, cmyk_1bit_map_cmyk_color,
- gdev_bjc_get_params, gdev_bjc_put_params);
+devprocs_initialize(bjccmyk_initialize);
const gx_device_bjc_printer gs_bjccmyk_device =
bjc_device(bjc_cmykcolor_procs, "bjccmyk",
@@ -280,10 +317,22 @@ bjc_device(bjc_cmykcolor_procs, "bjccmyk",
/* --------------------------- 24 bit TrueColor -------------------------- */
/***************************************************************************/
+static int
+bjc_truecolor_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize_cmyk8(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, get_params, gdev_bjc_get_params);
+ set_dev_proc(dev, put_params, gdev_bjc_put_params);
+
+ return 0;
+}
+
static const gx_device_procs bjc_truecolor_procs =
-bjc_cmyk_param_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close,
- cmyk_8bit_map_color_rgb, cmyk_8bit_map_cmyk_color,
- gdev_bjc_get_params, gdev_bjc_put_params);
+devprocs_initialize(bjc_truecolor_initialize);
const gx_device_bjc_printer gs_bjccolor_device =
bjc_device(bjc_truecolor_procs, "bjccolor",