return code; } /* ---------------- Other TIFF output ---------------- */ #include "slzwx.h" #include "srlx.h" /* Device descriptors for TIFF formats other than fax. */ static dev_proc_print_page(tifflzw_print_page); static dev_proc_print_page(tiffpack_print_page); const gx_device_tfax gs_tifflzw_device = { prn_device_std_body(gx_device_tfax, gdev_tfax_std_procs, "tifflzw", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, X_DPI, Y_DPI, 0, 0, 0, 0, /* margins */ 1, tifflzw_print_page), 0 /* AdjustWidth */, 0 /* MinFeatureSize */, TIFF_DEFAULT_STRIP_SIZE /* strip size byte count */, 1 /* lowest column in the high-order bit, not used */, arch_is_big_endian /* default to native endian (i.e. use big endian iff the platform is so*/, COMPRESSION_LZW }; const gx_device_tfax gs_tiffpack_device = { prn_device_std_body(gx_device_tfax, gdev_tfax_std_procs, "tiffpack", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, X_DPI, Y_DPI, 0, 0, 0, 0, /* margins */
HANDLE win32_hdevmode; /* handle to device mode information */ HANDLE win32_hdevnames; /* handle to device names information */ DLGPROC lpfnAbortProc; DLGPROC lpfnCancelProc; HWND hDlgModeless; bool use_old_spool_name; /* user prefers old \\spool\ name */ gx_device_win_pr2* original_device; /* used to detect copies */ }; gx_device_win_pr2 far_data gs_mswinpr2_device = { prn_device_std_body(gx_device_win_pr2, win_pr2_procs, "mswinpr2", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, 72.0, 72.0, 0, 0, 0, 0, 0, win_pr2_print_page), /* depth = 0 */ 0, /* hdcprn */ 0, /* nocancel */ 0, /* doc_page_begin */ 0, /* doc_page_end */ 0, /* user_page_begin */ 0, /* user_page_end */ 1, /* user_copies */ 1, /* print_copies */ { 0.0, 0.0 }, /* user_media_size */ { 0 }, /* doc_name */ { 0 }, /* paper_name */ 0, /* user_changed_settings */ 0, /* user_paper */ 0, /* user_orient */
struct gx_device_dfax_s { gx_device_common; gx_prn_device_common; long pageno; uint iwidth; /* width of image data in pixels */ }; typedef struct gx_device_dfax_s gx_device_dfax; static gx_device_procs dfax_procs = prn_procs(dfax_prn_open, gdev_prn_output_page, gdev_prn_close); gx_device_dfax far_data gs_dfaxlow_device = { prn_device_std_body(gx_device_dfax, dfax_procs, "dfaxlow", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, X_DPI, Y_DPI/2, 0,0,0,0, /* margins */ 1, dfax_print_page) }; gx_device_dfax far_data gs_dfaxhigh_device = { prn_device_std_body(gx_device_dfax, dfax_procs, "dfaxhigh", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, X_DPI, Y_DPI, 0,0,0,0, /* margins */ 1, dfax_print_page) }; #define dfdev ((gx_device_dfax *)dev) /* Open the device, adjusting the paper size. */
gx_prn_device_common; HAB hab; HDC hdc; HPS hps; char queue_name[256]; /* OS/2 printer queue name */ int newframe; /* false before first page */ OS2QL ql; int clipbox[4]; /* llx, lly, urx, ury in pixels */ HDC hdcMem; HPS hpsMem; }; gx_device_os2prn far_data gs_os2prn_device = { prn_device_std_body(gx_device_os2prn, os2prn_procs, "os2prn", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, 72, 72, 0, 0, 0, 0, 0, os2prn_print_page), /* depth = 0 */ 0, /* hab */ 0, /* hdc */ 0, /* hps */ "" /* queue_name */ }; /* Open the os2prn driver */ static int os2prn_open(gx_device * dev) { int code; PTIB pptib; PPIB pppib; DEVOPENSTRUC dop;
static dev_proc_print_page(tiff12_print_page); static dev_proc_print_page(tiff24_print_page); static const gx_device_procs tiff12_procs = prn_color_params_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close, gx_default_rgb_map_rgb_color, gx_default_rgb_map_color_rgb, tiff_get_params, tiff_put_params); static const gx_device_procs tiff24_procs = prn_color_params_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close, gx_default_rgb_map_rgb_color, gx_default_rgb_map_color_rgb, tiff_get_params, tiff_put_params); const gx_device_tiff gs_tiff12nc_device = { prn_device_std_body(gx_device_tiff, tiff12_procs, "tiff12nc", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, X_DPI, Y_DPI, 0, 0, 0, 0, 24, tiff12_print_page), arch_is_big_endian /* default to native endian (i.e. use big endian iff the platform is so*/ }; const gx_device_tiff gs_tiff24nc_device = { prn_device_std_body(gx_device_tiff, tiff24_procs, "tiff24nc", DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, X_DPI, Y_DPI, 0, 0, 0, 0, 24, tiff24_print_page), arch_is_big_endian /* default to native endian (i.e. use big endian iff the platform is so*/ }; /* ------ Private definitions ------ */