2 * "$Id: image.h 6649 2007-07-11 21:46:42Z mike $"
4 * Image library definitions for the Common UNIX Printing System (CUPS).
6 * Copyright 2007 by Apple Inc.
7 * Copyright 1993-2006 by Easy Software Products.
9 * These coded instructions, statements, and computer programs are the
10 * property of Apple Inc. and are protected by Federal copyright
11 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 * which should have been included with this file. If this file is
13 * file is missing or damaged, see the license at "http://www.cups.org/".
15 * This file is subject to the Apple OS-Developed Software exception.
18 #ifndef _CUPS_IMAGE_H_
19 # define _CUPS_IMAGE_H_
22 * Include necessary headers...
30 # endif /* __cplusplus */
36 typedef enum cups_icspace_e
/**** Image colorspaces ****/
38 CUPS_IMAGE_CMYK
= -4, /* Cyan, magenta, yellow, and black */
39 CUPS_IMAGE_CMY
= -3, /* Cyan, magenta, and yellow */
40 CUPS_IMAGE_BLACK
= -1, /* Black */
41 CUPS_IMAGE_WHITE
= 1, /* White (luminance) */
42 CUPS_IMAGE_RGB
= 3, /* Red, green, and blue */
43 CUPS_IMAGE_RGB_CMYK
= 4 /* Use RGB or CMYK */
48 * Types and structures...
51 typedef unsigned char cups_ib_t
; /**** Image byte ****/
54 typedef struct cups_image_s cups_image_t
;
55 /**** Image file data ****/
58 typedef struct cups_izoom_s cups_izoom_t
;
59 /**** Image zoom data ****/
66 extern void cupsImageClose(cups_image_t
*img
);
67 extern void cupsImageCMYKToBlack(const cups_ib_t
*in
,
68 cups_ib_t
*out
, int count
);
69 extern void cupsImageCMYKToCMY(const cups_ib_t
*in
,
70 cups_ib_t
*out
, int count
);
71 extern void cupsImageCMYKToCMYK(const cups_ib_t
*in
,
72 cups_ib_t
*out
, int count
);
73 extern void cupsImageCMYKToRGB(const cups_ib_t
*in
,
74 cups_ib_t
*out
, int count
);
75 extern void cupsImageCMYKToWhite(const cups_ib_t
*in
,
76 cups_ib_t
*out
, int count
);
77 extern int cupsImageGetCol(cups_image_t
*img
, int x
, int y
,
78 int height
, cups_ib_t
*pixels
);
79 extern cups_icspace_t
cupsImageGetColorSpace(cups_image_t
*img
);
80 extern int cupsImageGetDepth(cups_image_t
*img
);
81 extern unsigned cupsImageGetHeight(cups_image_t
*img
);
82 extern int cupsImageGetRow(cups_image_t
*img
, int x
, int y
,
83 int width
, cups_ib_t
*pixels
);
84 extern unsigned cupsImageGetWidth(cups_image_t
*img
);
85 extern unsigned cupsImageGetXPPI(cups_image_t
*img
);
86 extern unsigned cupsImageGetYPPI(cups_image_t
*img
);
87 extern void cupsImageLut(cups_ib_t
*pixels
, int count
,
88 const cups_ib_t
*lut
);
89 extern cups_image_t
*cupsImageOpen(const char *filename
,
90 cups_icspace_t primary
,
91 cups_icspace_t secondary
,
92 int saturation
, int hue
,
93 const cups_ib_t
*lut
);
94 extern void cupsImageRGBAdjust(cups_ib_t
*pixels
, int count
,
95 int saturation
, int hue
);
96 extern void cupsImageRGBToBlack(const cups_ib_t
*in
,
97 cups_ib_t
*out
, int count
);
98 extern void cupsImageRGBToCMY(const cups_ib_t
*in
,
99 cups_ib_t
*out
, int count
);
100 extern void cupsImageRGBToCMYK(const cups_ib_t
*in
,
101 cups_ib_t
*out
, int count
);
102 extern void cupsImageRGBToRGB(const cups_ib_t
*in
,
103 cups_ib_t
*out
, int count
);
104 extern void cupsImageRGBToWhite(const cups_ib_t
*in
,
105 cups_ib_t
*out
, int count
);
106 extern void cupsImageSetMaxTiles(cups_image_t
*img
, int max_tiles
);
107 extern void cupsImageSetProfile(float d
, float g
,
109 extern void cupsImageSetRasterColorSpace(cups_cspace_t cs
);
110 extern void cupsImageWhiteToBlack(const cups_ib_t
*in
,
111 cups_ib_t
*out
, int count
);
112 extern void cupsImageWhiteToCMY(const cups_ib_t
*in
,
113 cups_ib_t
*out
, int count
);
114 extern void cupsImageWhiteToCMYK(const cups_ib_t
*in
,
115 cups_ib_t
*out
, int count
);
116 extern void cupsImageWhiteToRGB(const cups_ib_t
*in
,
117 cups_ib_t
*out
, int count
);
118 extern void cupsImageWhiteToWhite(const cups_ib_t
*in
,
119 cups_ib_t
*out
, int count
);
124 # endif /* __cplusplus */
126 #endif /* !_CUPS_IMAGE_H_ */
129 * End of "$Id: image.h 6649 2007-07-11 21:46:42Z mike $".