diff options
Diffstat (limited to 'contrib/pcl3/src/gdevpcl3.c')
-rw-r--r-- | contrib/pcl3/src/gdevpcl3.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/contrib/pcl3/src/gdevpcl3.c b/contrib/pcl3/src/gdevpcl3.c index 6b6468e0..5e3e8f80 100644 --- a/contrib/pcl3/src/gdevpcl3.c +++ b/contrib/pcl3/src/gdevpcl3.c @@ -92,10 +92,21 @@ static dev_proc_close_device(pcl3_close_device); static dev_proc_get_params(pcl3_get_params); static dev_proc_put_params(pcl3_put_params); -/* Device procedure table */ -static gx_device_procs pcl3_procs = { - eprn_procs_initdata(pcl3_open_device, pcl3_close_device, pcl3_get_params, - pcl3_put_params) +/* Device procedures */ +static void +eprn_initialize_device_procs(gx_device *dev) +{ + gdev_prn_initialize_device_procs(dev); + + set_dev_proc(dev, open_device, pcl3_open_device); + set_dev_proc(dev, get_initial_matrix, eprn_get_initial_matrix); + set_dev_proc(dev, close_device, pcl3_close_device); + set_dev_proc(dev, map_rgb_color, eprn_map_rgb_color_for_CMY_or_K); + set_dev_proc(dev, map_color_rgb, eprn_map_color_rgb); + set_dev_proc(dev, map_cmyk_color, eprn_map_cmyk_color_glob); + set_dev_proc(dev, get_params, pcl3_get_params); + set_dev_proc(dev, put_params, pcl3_put_params); + set_dev_proc(dev, fillpage, eprn_fillpage); }; /* prn procedure implementations */ @@ -129,7 +140,7 @@ static void pcl3_flag_mismatch_reporter( pcl3_Device gs_##dname##_device = { \ eprn_device_initdata( \ pcl3_Device, /* device type */ \ - pcl3_procs, /* static device procedure table */ \ + eprn_initialize_device_procs, /* initialize dev_procs */ \ #dname, /* device name */ \ 300.0, 300.0, /* horizontal and vertical resolution */\ pcl3_print_page, /* print page routine */ \ |