1 /* Copyright (C) 2001-2012 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.,  7 Mt. Lassen Drive - Suite A-134, San Rafael,
13    CA  94903, U.S.A., +1(415)492-9861, for further information.
14 */
15 
16 
17 /* Functions for masked fill optimization. */
18 
19 #ifndef gximask_INCLUDED
20 #  define gximask_INCLUDED
21 
22 #include "gxbitmap.h"
23 #include "gsropt.h"
24 
25 #ifndef gx_device_DEFINED
26 #  define gx_device_DEFINED
27 typedef struct gx_device_s gx_device;
28 #endif
29 #ifndef gx_device_color_DEFINED
30 #  define gx_device_color_DEFINED
31 typedef struct gx_device_color_s gx_device_color;
32 #endif
33 #ifndef gx_clip_path_DEFINED
34 #  define gx_clip_path_DEFINED
35 typedef struct gx_clip_path_s gx_clip_path;
36 #endif
37 
38 int gx_image_fill_masked_start(gx_device *dev, const gx_device_color *pdevc, const gx_clip_path *pcpath,
39                            gs_memory_t *mem, gx_device **cdev);
40 
41 int gx_image_fill_masked_end(gx_device *dev, gx_device *tdev, const gx_device_color *pdevc);
42 
43 int gx_image_fill_masked(gx_device *dev,
44     const byte *data, int data_x, int raster, gx_bitmap_id id,
45     int x, int y, int width, int height,
46     const gx_device_color *pdcolor, int depth,
47     gs_logical_operation_t lop, const gx_clip_path *pcpath);
48 
49 #endif /* gximask_INCLUDED */
50