summaryrefslogtreecommitdiff
path: root/devices/gdevocr.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 /devices/gdevocr.c
parent8d83e9871f14d44c7120f0e170c43064c6a738ea (diff)
downloadghostpdl-e1a3956f252404f07d93be47f7845b23e4a2c4de.tar.gz
Move devices away from static init of procs.
Diffstat (limited to 'devices/gdevocr.c')
-rw-r--r--devices/gdevocr.c42
1 files changed, 34 insertions, 8 deletions
diff --git a/devices/gdevocr.c b/devices/gdevocr.c
index cd1efeb14..6557faf71 100644
--- a/devices/gdevocr.c
+++ b/devices/gdevocr.c
@@ -50,12 +50,25 @@ struct gx_device_ocr_s {
};
/* 8-bit gray bitmap -> UTF8 OCRd text */
+static int
+ocr_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize_gray_bg(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, open_device, ocr_open);
+ set_dev_proc(dev, close_device, ocr_close);
+ set_dev_proc(dev, get_params, ocr_get_params);
+ set_dev_proc(dev, put_params, ocr_put_params);
+
+ return 0;
+}
static const gx_device_procs ocr_procs =
-prn_color_params_procs(ocr_open, gdev_prn_bg_output_page, ocr_close,
- gx_default_gray_map_rgb_color,
- gx_default_gray_map_color_rgb,
- ocr_get_params, ocr_put_params);
+ devprocs_initialize(ocr_initialize);
+
const gx_device_ocr gs_ocr_device =
{
prn_device_body(gx_device_ocr, ocr_procs, "ocr",
@@ -67,12 +80,25 @@ const gx_device_ocr gs_ocr_device =
};
/* 8-bit gray bitmap -> HTML OCRd text */
+static int
+hocr_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize_gray_bg(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, open_device, ocr_open);
+ set_dev_proc(dev, close_device, hocr_close);
+ set_dev_proc(dev, get_params, ocr_get_params);
+ set_dev_proc(dev, put_params, ocr_put_params);
+
+ return 0;
+}
static const gx_device_procs hocr_procs =
-prn_color_params_procs(ocr_open, gdev_prn_bg_output_page, hocr_close,
- gx_default_gray_map_rgb_color,
- gx_default_gray_map_color_rgb,
- ocr_get_params, ocr_put_params);
+ devprocs_initialize(hocr_initialize);
+
const gx_device_ocr gs_hocr_device =
{
prn_device_body(gx_device_ocr, hocr_procs, "hocr",