]> git.ipfire.org Git - thirdparty/cups.git/blob - pstoraster/gsiparm3.h
Import cups.org releases
[thirdparty/cups.git] / pstoraster / gsiparm3.h
1 /* Copyright (C) 1997, 1998 Aladdin Enterprises. All rights reserved.
2
3 This file is part of GNU Ghostscript.
4
5 GNU Ghostscript is distributed in the hope that it will be useful, but
6 WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
7 to anyone for the consequences of using it or for whether it serves any
8 particular purpose or works at all, unless he says so in writing. Refer
9 to the GNU General Public License for full details.
10
11 Everyone is granted permission to copy, modify and redistribute GNU
12 Ghostscript, but only under the conditions described in the GNU General
13 Public License. A copy of this license is supposed to have been given
14 to you along with GNU Ghostscript so you can know your rights and
15 responsibilities. It should be in a file named COPYING. Among other
16 things, the copyright notice and this notice must be preserved on all
17 copies.
18
19 Aladdin Enterprises supports the work of the GNU Project, but is not
20 affiliated with the Free Software Foundation or the GNU Project. GNU
21 Ghostscript, as distributed by Aladdin Enterprises, does not require any
22 GNU software to build or run it.
23 */
24
25 /*$Id$ */
26 /* LanguageLevel 3 (ImageType 3 & 4) image parameter definition */
27
28 #ifndef gsiparm3_INCLUDED
29 # define gsiparm3_INCLUDED
30
31 #include "gsiparam.h"
32
33 /*
34 * See Section 4.3 of the Adobe PostScript Version 3010 Supplement
35 * for a definition of ImageType 3 and 4 images.
36 */
37
38 /*
39 * If InterleaveType is 3, the data source for the mask is provided as an
40 * additional data source *before* the data sources for the pixel data. For
41 * both InterleaveType 2 and 3, the client is responsible for always
42 * providing mask data before the pixel data that it masks. (The
43 * implementation does not currently check this, but it should.)
44 */
45 typedef enum {
46 interleave_chunky = 1,
47 interleave_scan_lines = 2,
48 interleave_separate_source = 3
49 } gs_image3_interleave_type_t;
50 typedef struct gs_image3_s {
51 gs_pixel_image_common; /* DataDict */
52 int InterleaveType;
53 gs_data_image_t MaskDict;
54 } gs_image3_t;
55
56 /* We export the GC descriptor because ImageType 4 subclasses it. */
57 #define public_st_gs_image3() /* in gximage3.c */\
58 gs_public_st_suffix_add0(st_gs_image3, gs_image3_t, "gs_image3_t",\
59 image3_enum_ptrs, image3_reloc_ptrs, st_gs_pixel_image)
60
61 /*
62 * Initialize an ImageType 3 image.
63 */
64 void gs_image3_t_init(P3(gs_image3_t * pim, const gs_color_space * color_space,
65 gs_image3_interleave_type_t interleave_type));
66
67 #endif /* gsiparm3_INCLUDED */