1 /* Copyright (C) 2001-2019 Artifex Software, Inc. 2 All Rights Reserved. 3 4 This software is provided AS-IS with no warranty, either express or 5 implied. 6 7 This software is distributed under license and may not be copied, 8 modified or distributed except as expressly authorized under the terms 9 of the license contained in the file LICENSE in this distribution. 10 11 Refer to licensing information at http://www.artifex.com or contact 12 Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, 13 CA 94945, U.S.A., +1(415)492-9861, for further information. 14 */ 15 16 17 /* geneic overprint fill rectangle interface */ 18 19 #ifndef gxoprect_INCLUDED 20 #define gxoprect_INCLUDED 21 22 #include "gxdevcli.h" 23 24 /* 25 * Perform the fill rectangle operation for a non-separable color encoding 26 * that requires overprint support. 27 * 28 * Returns 0 on success, < 0 in the event of an error. 29 */ 30 extern int gx_overprint_generic_fill_rectangle( 31 gx_device * tdev, 32 gx_color_index drawn_comps, 33 int x, 34 int y, 35 int w, 36 int h, 37 gx_color_index color, 38 gs_memory_t * mem ); 39 40 /* 41 * Perform the fill rectangle operation of a separable color encoding. 42 * There are two versions of this routine: ..._1 for cases in which the 43 * color depth is a divisor of 8 * sizeof(mono_fill_chunk), and ..._2 if 44 * this is not the case (most typically if the depth == 24). 45 * 46 * For both cases, the color and retain_mask values passed to this 47 * procedure are expected to be already swapped as required for a byte- 48 * oriented bitmap. This consideration affects only little-endian 49 * machines. For those machines, if depth > 9 the color passed to these 50 * two procedures will not be the same as that passed to 51 * gx_overprint_generic_fill_rectangle. 52 * 53 * Returns 0 on success, < 0 in the event of an error. 54 */ 55 extern int gx_overprint_sep_fill_rectangle_1( 56 gx_device * tdev, 57 gx_color_index retain_mask, /* already swapped */ 58 int x, 59 int y, 60 int w, 61 int h, 62 gx_color_index color, /* already swapped */ 63 gs_memory_t * mem ); 64 65 extern int gx_overprint_sep_fill_rectangle_2( 66 gx_device * tdev, 67 gx_color_index retain_mask, /* already swapped */ 68 int x, 69 int y, 70 int w, 71 int h, 72 gx_color_index color, /* already swapped */ 73 gs_memory_t * mem ); 74 75 #endif /* gxoprect_INCLUDED */ 76