diff options
Diffstat (limited to 'base/gxdevice.h')
-rw-r--r-- | base/gxdevice.h | 161 |
1 files changed, 76 insertions, 85 deletions
diff --git a/base/gxdevice.h b/base/gxdevice.h index c757fa2d..ce69c72d 100644 --- a/base/gxdevice.h +++ b/base/gxdevice.h @@ -98,8 +98,8 @@ * Note also that the macro does not initialize procs, which is * the next element of the structure. */ - #define std_device_part1_(devtype, ptr_procs, dev_name, stype, open_init)\ - sizeof(devtype), ptr_procs, dev_name,\ + #define std_device_part1_(devtype, init, dev_name, stype, open_init)\ + sizeof(devtype), init, dev_name,\ 0 /*memory*/, stype, 0 /*stype_is_dynamic*/, 0 /*finalize*/,\ { 0 } /*rc*/, 0 /*retained*/, 0 /* parent */, 0 /* child */, 0 /* subclass_data */, 0 /* PageList */,\ open_init() /*is_open, max_fill_band*/ @@ -118,7 +118,7 @@ { x_dpi, y_dpi }/*HWResolution*/ /* offsets and margins go here */ -#define std_device_part3_()\ +#define std_device_part3_sc(ins, bp, ep)\ 0/*FirstPage*/, 0/*LastPage*/, 0/*PageHandlerPushed*/, 0/*DisablePageHandler*/,\ 0/* Object Filter*/, 0/*ObjectHandlerPushed*/,\ 0, /* NupControl */ 0, /* NupHandlerPushed */\ @@ -135,7 +135,10 @@ 0/*Profile Array*/,\ 0/* graphics_type_tag default GS_UNTOUCHED_TAG */,\ 1/* interpolate_control default 1, uses image /Interpolate flag, full device resolution */,\ - { gx_default_install, gx_default_begin_page, gx_default_end_page } + { ins, bp, ep } +#define std_device_part3_()\ + std_device_part3_sc(gx_default_install, gx_default_begin_page, gx_default_end_page) + /* * We need a number of different variants of the std_device_ macro simply * because we can't pass the color_info or offsets/margins @@ -151,91 +154,101 @@ * 6 for margins/offset). * */ -#define std_device_body_with_macros_(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, open_init, dci_macro, margins_macro)\ - std_device_part1_(dtype, pprocs, dname, stype, open_init),\ +#define std_device_body_with_macros_(dtype, init, dname, stype, w, h, xdpi, ydpi, open_init, dci_macro, margins_macro)\ + std_device_part1_(dtype, init, dname, stype, open_init),\ dci_macro(),\ std_device_part2_(w, h, xdpi, ydpi),\ margins_macro(),\ std_device_part3_() -#define std_device_std_body_type(dtype, pprocs, dname, stype, w, h, xdpi, ydpi)\ - std_device_body_with_macros_(dtype, pprocs, dname, stype,\ +#define std_device_std_body_type(dtype, init, dname, stype, w, h, xdpi, ydpi)\ + std_device_body_with_macros_(dtype, init, dname, stype,\ w, h, xdpi, ydpi,\ open_init_closed, dci_black_and_white_, no_margins_) -#define std_device_std_body(dtype, pprocs, dname, w, h, xdpi, ydpi)\ - std_device_std_body_type(dtype, pprocs, dname, 0, w, h, xdpi, ydpi) +#define std_device_std_body(dtype, init, dname, w, h, xdpi, ydpi)\ + std_device_std_body_type(dtype, init, dname, 0, w, h, xdpi, ydpi) -#define std_device_std_body_type_open(dtype, pprocs, dname, stype, w, h, xdpi, ydpi)\ - std_device_body_with_macros_(dtype, pprocs, dname, stype,\ +#define std_device_std_body_type_open(dtype, init, dname, stype, w, h, xdpi, ydpi)\ + std_device_body_with_macros_(dtype, init, dname, stype,\ w, h, xdpi, ydpi,\ open_init_open, dci_black_and_white_, no_margins_) -#define std_device_std_body_open(dtype, pprocs, dname, w, h, xdpi, ydpi)\ - std_device_std_body_type_open(dtype, pprocs, dname, 0, w, h, xdpi, ydpi) +#define std_device_std_body_open(dtype, init, dname, w, h, xdpi, ydpi)\ + std_device_std_body_type_open(dtype, init, dname, 0, w, h, xdpi, ydpi) -#define std_device_full_body_type(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm)\ - std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\ +#define std_device_full_body_type(dtype, init, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm)\ + std_device_part1_(dtype, init, dname, stype, open_init_closed),\ dci_values(ncomp, depth, mg, mc, dg, dc),\ std_device_part2_(w, h, xdpi, ydpi),\ offset_margin_values(xoff, yoff, lm, bm, rm, tm),\ std_device_part3_() -#define std_device_full_body_type_extended(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, mcomp, ncomp, pol, depth, gi, mg, mc, dg, dc, ef, cn, xoff, yoff, lm, bm, rm, tm)\ - std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\ +#define std_device_full_body_type_extended(dtype, init, dname, stype, w, h, xdpi, ydpi, mcomp, ncomp, pol, depth, gi, mg, mc, dg, dc, ef, cn, xoff, yoff, lm, bm, rm, tm)\ + std_device_part1_(dtype, init, dname, stype, open_init_closed),\ dci_extended_alpha_values(mcomp, ncomp, pol, depth, gi, mg, mc, dg, dc, 1, 1, ef, cn), \ std_device_part2_(w, h, xdpi, ydpi),\ offset_margin_values(xoff, yoff, lm, bm, rm, tm),\ std_device_part3_() -#define std_device_full_body(dtype, pprocs, dname, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm)\ - std_device_full_body_type(dtype, pprocs, dname, 0, w, h, xdpi, ydpi,\ +#define std_device_full_body(dtype, init, dname, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm)\ + std_device_full_body_type(dtype, init, dname, 0, w, h, xdpi, ydpi,\ ncomp, depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm) -#define std_device_dci_alpha_type_body(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, ta, ga)\ - std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\ +#define std_device_dci_alpha_type_body(dtype, init, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, ta, ga)\ + std_device_part1_(dtype, init, dname, stype, open_init_closed),\ dci_alpha_values(ncomp, depth, mg, mc, dg, dc, ta, ga),\ std_device_part2_(w, h, xdpi, ydpi),\ offset_margin_values(0, 0, 0, 0, 0, 0),\ std_device_part3_() +#define std_device_dci_alpha_type_body_sc(dtype, init, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, ta, ga, ins, bp, ep)\ + std_device_part1_(dtype, init, dname, stype, open_init_closed),\ + dci_alpha_values(ncomp, depth, mg, mc, dg, dc, ta, ga),\ + std_device_part2_(w, h, xdpi, ydpi),\ + offset_margin_values(0, 0, 0, 0, 0, 0),\ + std_device_part3_sc(ins, bp, ep) -#define std_device_dci_type_body(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc)\ - std_device_dci_alpha_type_body(dtype, pprocs, dname, stype, w, h,\ +#define std_device_dci_type_body(dtype, init, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc)\ + std_device_dci_alpha_type_body(dtype, init, dname, stype, w, h,\ xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, 1, 1) -#define std_device_dci_body(dtype, pprocs, dname, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc)\ - std_device_dci_type_body(dtype, pprocs, dname, 0,\ +#define std_device_dci_type_body_sc(dtype, init, dname, stype, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, ins, bp, ep)\ + std_device_dci_alpha_type_body_sc(dtype, init, dname, stype, w, h,\ + xdpi, ydpi, ncomp, depth, mg, mc, dg, dc, 1, 1, ins, bp, ep) + +#define std_device_dci_body(dtype, init, dname, w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc)\ + std_device_dci_type_body(dtype, init, dname, 0,\ w, h, xdpi, ydpi, ncomp, depth, mg, mc, dg, dc) -#define std_device_color_full_body(dtype, pprocs, dname, w, h, xdpi, ydpi, depth, max_value, dither, xoff, yoff, lm, bm, rm, tm)\ - std_device_part1_(dtype, pprocs, dname, 0, open_init_closed),\ +#define std_device_color_full_body(dtype, init, dname, w, h, xdpi, ydpi, depth, max_value, dither, xoff, yoff, lm, bm, rm, tm)\ + std_device_part1_(dtype, init, dname, 0, open_init_closed),\ dci_color(depth, max_value, dither),\ std_device_part2_(w, h, xdpi, ydpi),\ offset_margin_values(xoff, yoff, lm, bm, rm, tm),\ std_device_part3_() -#define std_device_color_body(dtype, pprocs, dname, w, h, xdpi, ydpi, depth, max_value, dither)\ - std_device_color_full_body(dtype, pprocs, dname,\ +#define std_device_color_body(dtype, init, dname, w, h, xdpi, ydpi, depth, max_value, dither)\ + std_device_color_full_body(dtype, init, dname,\ w, h, xdpi, ydpi,\ depth, max_value, dither,\ 0, 0, 0, 0, 0, 0) -#define std_device_color_stype_body(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, depth, max_value, dither)\ - std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\ +#define std_device_color_stype_body(dtype, init, dname, stype, w, h, xdpi, ydpi, depth, max_value, dither)\ + std_device_part1_(dtype, init, dname, stype, open_init_closed),\ dci_color(depth, max_value, dither),\ std_device_part2_(w, h, xdpi, ydpi),\ offset_margin_values(0, 0, 0, 0, 0, 0),\ std_device_part3_() -#define std_device_std_color_full_body_type(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, depth, xoff, yoff, lm, bm, rm, tm)\ - std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\ +#define std_device_std_color_full_body_type(dtype, init, dname, stype, w, h, xdpi, ydpi, depth, xoff, yoff, lm, bm, rm, tm)\ + std_device_part1_(dtype, init, dname, stype, open_init_closed),\ dci_std_color(depth),\ std_device_part2_(w, h, xdpi, ydpi),\ offset_margin_values(xoff, yoff, lm, bm, rm, tm),\ std_device_part3_() -#define std_device_std_color_full_body(dtype, pprocs, dname, w, h, xdpi, ydpi, depth, xoff, yoff, lm, bm, rm, tm)\ - std_device_std_color_full_body_type(dtype, pprocs, dname, 0,\ +#define std_device_std_color_full_body(dtype, init, dname, w, h, xdpi, ydpi, depth, xoff, yoff, lm, bm, rm, tm)\ + std_device_std_color_full_body_type(dtype, init, dname, 0,\ w, h, xdpi, ydpi, depth, xoff, yoff, lm, bm, rm, tm) /* ---------------- Default implementations ---------------- */ @@ -250,28 +263,20 @@ dev_proc_output_page(gx_default_output_page); dev_proc_close_device(gx_default_close_device); dev_proc_map_rgb_color(gx_default_w_b_map_rgb_color); dev_proc_map_color_rgb(gx_default_w_b_map_color_rgb); +dev_proc_encode_color(gx_default_w_b_mono_encode_color); +dev_proc_decode_color(gx_default_w_b_mono_decode_color); #define gx_default_map_rgb_color gx_default_w_b_map_rgb_color #define gx_default_map_color_rgb gx_default_w_b_map_color_rgb -dev_proc_tile_rectangle(gx_default_tile_rectangle); dev_proc_copy_mono(gx_default_copy_mono); dev_proc_copy_color(gx_default_copy_color); -dev_proc_draw_line(gx_default_draw_line); -dev_proc_get_bits(gx_no_get_bits); /* gives error */ -dev_proc_get_bits(gx_default_get_bits); dev_proc_get_params(gx_default_get_params); dev_proc_put_params(gx_default_put_params); dev_proc_map_cmyk_color(gx_default_map_cmyk_color); -dev_proc_get_xfont_procs(gx_default_get_xfont_procs); -dev_proc_get_xfont_device(gx_default_get_xfont_device); -dev_proc_map_rgb_alpha_color(gx_default_map_rgb_alpha_color); dev_proc_get_page_device(gx_default_get_page_device); /* returns NULL */ dev_proc_get_page_device(gx_page_device_get_page_device); /* returns dev */ dev_proc_get_alpha_bits(gx_default_get_alpha_bits); dev_proc_copy_alpha(gx_no_copy_alpha); /* gives error */ dev_proc_copy_alpha(gx_default_copy_alpha); -dev_proc_get_band(gx_default_get_band); -dev_proc_copy_rop(gx_no_copy_rop); /* gives error */ -dev_proc_copy_rop(gx_default_copy_rop); dev_proc_fill_path(gx_default_fill_path); dev_proc_stroke_path(gx_default_stroke_path); dev_proc_fill_mask(gx_default_fill_mask); @@ -279,26 +284,20 @@ dev_proc_fill_trapezoid(gx_default_fill_trapezoid); dev_proc_fill_parallelogram(gx_default_fill_parallelogram); dev_proc_fill_triangle(gx_default_fill_triangle); dev_proc_draw_thin_line(gx_default_draw_thin_line); -dev_proc_begin_image(gx_default_begin_image); -dev_proc_image_data(gx_default_image_data); -dev_proc_end_image(gx_default_end_image); dev_proc_strip_tile_rectangle(gx_default_strip_tile_rectangle); -dev_proc_strip_copy_rop(gx_no_strip_copy_rop); /* gives error */ -dev_proc_strip_copy_rop(gx_default_strip_copy_rop); +dev_proc_strip_copy_rop2(gx_no_strip_copy_rop2); dev_proc_get_clipping_box(gx_default_get_clipping_box); 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_create_compositor(gx_no_create_compositor); +dev_proc_get_bits_rectangle(gx_default_get_bits_rectangle); /* just returns error */ +dev_proc_get_bits_rectangle(gx_blank_get_bits_rectangle); +dev_proc_composite(gx_no_composite); /* default is for ordinary "leaf" devices, null is for */ /* devices that only care about coverage and not contents. */ -dev_proc_create_compositor(gx_default_create_compositor); -dev_proc_create_compositor(gx_null_create_compositor); +dev_proc_composite(gx_default_composite); +dev_proc_composite(gx_null_composite); dev_proc_get_hardware_params(gx_default_get_hardware_params); dev_proc_text_begin(gx_default_text_begin); -dev_proc_finish_copydevice(gx_default_finish_copydevice); dev_proc_dev_spec_op(gx_default_dev_spec_op); dev_proc_fill_rectangle_hl_color(gx_default_fill_rectangle_hl_color); dev_proc_include_color_space(gx_default_include_color_space); @@ -322,23 +321,28 @@ dev_proc_end_transparency_group(gx_default_end_transparency_group); dev_proc_begin_transparency_mask(gx_default_begin_transparency_mask); dev_proc_end_transparency_mask(gx_default_end_transparency_mask); dev_proc_discard_transparency_layer(gx_default_discard_transparency_layer); -dev_proc_pattern_manage(gx_default_pattern_manage); dev_proc_push_transparency_state(gx_default_push_transparency_state); dev_proc_pop_transparency_state(gx_default_pop_transparency_state); dev_proc_put_image(gx_default_put_image); dev_proc_copy_alpha_hl_color(gx_default_no_copy_alpha_hl_color); dev_proc_copy_planes(gx_default_copy_planes); +int gx_default_initialize_device(gx_device *dev); + /* BACKWARD COMPATIBILITY */ -#define gx_non_imaging_create_compositor gx_null_create_compositor +#define gx_non_imaging_composite gx_null_composite /* Color mapping routines for black-on-white, gray scale, true RGB, */ /* true CMYK, and 1-bit CMYK color. */ dev_proc_map_rgb_color(gx_default_b_w_map_rgb_color); dev_proc_map_color_rgb(gx_default_b_w_map_color_rgb); +dev_proc_encode_color(gx_default_b_w_mono_encode_color); +dev_proc_decode_color(gx_default_b_w_mono_decode_color); dev_proc_map_rgb_color(gx_default_gray_map_rgb_color); dev_proc_map_color_rgb(gx_default_gray_map_color_rgb); dev_proc_map_color_rgb(gx_default_rgb_map_color_rgb); +dev_proc_encode_color(gx_default_gray_encode_color); +dev_proc_decode_color(gx_default_gray_decode_color); #define gx_default_cmyk_map_cmyk_color cmyk_8bit_map_cmyk_color /*see below*/ /* * The following are defined as "standard" color mapping procedures @@ -353,11 +357,13 @@ dev_proc_map_cmyk_color(cmyk_8bit_map_cmyk_color); dev_proc_map_color_rgb(cmyk_8bit_map_color_rgb); dev_proc_decode_color(cmyk_8bit_map_color_cmyk); dev_proc_map_cmyk_color(cmyk_16bit_map_cmyk_color); +dev_proc_map_color_rgb(cmyk_16bit_map_color_rgb); dev_proc_decode_color(cmyk_16bit_map_color_cmyk); dev_proc_encode_color(gx_default_8bit_map_gray_color); dev_proc_decode_color(gx_default_8bit_map_color_gray); /* Default implementations for forwarding devices */ +void gx_forward_initialize_procs(gx_device *dev); dev_proc_close_device(gx_forward_close_device); dev_proc_get_initial_matrix(gx_forward_get_initial_matrix); dev_proc_sync_output(gx_forward_sync_output); @@ -365,21 +371,14 @@ dev_proc_output_page(gx_forward_output_page); dev_proc_map_rgb_color(gx_forward_map_rgb_color); dev_proc_map_color_rgb(gx_forward_map_color_rgb); dev_proc_fill_rectangle(gx_forward_fill_rectangle); -dev_proc_tile_rectangle(gx_forward_tile_rectangle); dev_proc_copy_mono(gx_forward_copy_mono); dev_proc_copy_color(gx_forward_copy_color); -dev_proc_get_bits(gx_forward_get_bits); dev_proc_get_params(gx_forward_get_params); dev_proc_put_params(gx_forward_put_params); dev_proc_map_cmyk_color(gx_forward_map_cmyk_color); -dev_proc_get_xfont_procs(gx_forward_get_xfont_procs); -dev_proc_get_xfont_device(gx_forward_get_xfont_device); -dev_proc_map_rgb_alpha_color(gx_forward_map_rgb_alpha_color); dev_proc_get_page_device(gx_forward_get_page_device); #define gx_forward_get_alpha_bits gx_default_get_alpha_bits dev_proc_copy_alpha(gx_forward_copy_alpha); -dev_proc_get_band(gx_forward_get_band); -dev_proc_copy_rop(gx_forward_copy_rop); dev_proc_fill_path(gx_forward_fill_path); dev_proc_stroke_path(gx_forward_stroke_path); dev_proc_fill_mask(gx_forward_fill_mask); @@ -387,16 +386,11 @@ dev_proc_fill_trapezoid(gx_forward_fill_trapezoid); dev_proc_fill_parallelogram(gx_forward_fill_parallelogram); dev_proc_fill_triangle(gx_forward_fill_triangle); dev_proc_draw_thin_line(gx_forward_draw_thin_line); -dev_proc_begin_image(gx_forward_begin_image); -#define gx_forward_image_data gx_default_image_data -#define gx_forward_end_image gx_default_end_image dev_proc_strip_tile_rectangle(gx_forward_strip_tile_rectangle); -dev_proc_strip_copy_rop(gx_forward_strip_copy_rop); 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_create_compositor (see Drivers.htm). */ +/* 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); dev_proc_get_color_mapping_procs(gx_forward_get_color_mapping_procs); @@ -414,7 +408,7 @@ dev_proc_ret_devn_params(gx_forward_ret_devn_params); dev_proc_fillpage(gx_forward_fillpage); dev_proc_put_image(gx_forward_put_image); dev_proc_copy_planes(gx_forward_copy_planes); -dev_proc_create_compositor(gx_forward_create_compositor); +dev_proc_composite(gx_forward_composite); dev_proc_get_profile(gx_forward_get_profile); dev_proc_set_graphics_type_tag(gx_forward_set_graphics_type_tag); dev_proc_strip_copy_rop2(gx_forward_strip_copy_rop2); @@ -422,13 +416,11 @@ dev_proc_strip_tile_rect_devn(gx_forward_strip_tile_rect_devn); dev_proc_copy_alpha_hl_color(gx_forward_copy_alpha_hl_color); dev_proc_transform_pixel_region(gx_forward_transform_pixel_region); dev_proc_fill_stroke_path(gx_forward_fill_stroke_path); +void gx_forward_device_initialize_procs(gx_device *dev); /* ---------------- Implementation utilities ---------------- */ int gx_default_get_param(gx_device *dev, char *Param, void *list); -/* Convert the device procedures to the proper form (see above). */ -void gx_device_set_procs(gx_device *); - /* Fill in defaulted procedures in a device procedure record. */ void gx_device_fill_in_procs(gx_device *); void gx_device_forward_fill_in_procs(gx_device_forward *); @@ -669,23 +661,22 @@ void gx_device_request_leadingedge(gx_device *dev, int le_req); int gs_is_pdf14trans_compositor(const gs_composite_t * pct); #define subclass_common\ - t_dev_proc_create_compositor *saved_compositor_method;\ + t_dev_proc_composite *saved_compositor_method;\ gx_device_forward *forwarding_dev -typedef int (t_dev_proc_create_compositor) (gx_device *dev, gx_device **pcdev, const gs_composite_t *pcte, gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev); +typedef int (t_dev_proc_composite) (gx_device *dev, gx_device **pcdev, const gs_composite_t *pcte, gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev); typedef struct { - t_dev_proc_create_compositor *saved_compositor_method; + t_dev_proc_composite *saved_compositor_method; gx_device_forward *forwarding_dev; } generic_subclass_data; - -int gx_copy_device_procs(gx_device *dest, gx_device *src, gx_device *prototype); +int gx_copy_device_procs(gx_device *dest, const gx_device *src, const gx_device *prototype); int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype, unsigned int private_data_size); -int gx_device_unsubclass(gx_device *dev); +void gx_device_unsubclass(gx_device *dev); int gx_update_from_subclass(gx_device *dev); -int gx_subclass_create_compositor(gx_device *dev, gx_device **pcdev, const gs_composite_t *pcte, +int gx_subclass_composite(gx_device *dev, gx_device **pcdev, const gs_composite_t *pcte, gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev); - +void gx_subclass_fill_in_page_procs(gx_device *dev); #endif /* gxdevice_INCLUDED */ |