]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | /* |
bc44d920 | 2 | * "$Id: image.h 6649 2007-07-11 21:46:42Z mike $" |
ef416fc2 | 3 | * |
4 | * Image library definitions for the Common UNIX Printing System (CUPS). | |
5 | * | |
bc44d920 | 6 | * Copyright 2007 by Apple Inc. |
b423cd4c | 7 | * Copyright 1993-2006 by Easy Software Products. |
ef416fc2 | 8 | * |
9 | * These coded instructions, statements, and computer programs are the | |
bc44d920 | 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/". | |
ef416fc2 | 14 | * |
15 | * This file is subject to the Apple OS-Developed Software exception. | |
16 | */ | |
17 | ||
18 | #ifndef _CUPS_IMAGE_H_ | |
19 | # define _CUPS_IMAGE_H_ | |
20 | ||
21 | /* | |
22 | * Include necessary headers... | |
23 | */ | |
24 | ||
25 | # include <stdio.h> | |
26 | # include "raster.h" | |
27 | ||
28 | # ifdef __cplusplus | |
29 | extern "C" { | |
30 | # endif /* __cplusplus */ | |
31 | ||
32 | /* | |
33 | * Constants... | |
34 | */ | |
35 | ||
36 | typedef enum cups_icspace_e /**** Image colorspaces ****/ | |
37 | { | |
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 */ | |
44 | } cups_icspace_t; | |
45 | ||
ef416fc2 | 46 | |
47 | /* | |
48 | * Types and structures... | |
49 | */ | |
50 | ||
51 | typedef unsigned char cups_ib_t; /**** Image byte ****/ | |
52 | ||
53 | struct cups_image_s; | |
54 | typedef struct cups_image_s cups_image_t; | |
55 | /**** Image file data ****/ | |
56 | ||
57 | struct cups_izoom_s; | |
58 | typedef struct cups_izoom_s cups_izoom_t; | |
59 | /**** Image zoom data ****/ | |
60 | ||
61 | ||
62 | /* | |
63 | * Prototypes... | |
64 | */ | |
65 | ||
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, | |
108 | float matrix[3][3]); | |
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); | |
ef416fc2 | 120 | |
121 | ||
122 | # ifdef __cplusplus | |
123 | } | |
124 | # endif /* __cplusplus */ | |
125 | ||
126 | #endif /* !_CUPS_IMAGE_H_ */ | |
127 | ||
128 | /* | |
bc44d920 | 129 | * End of "$Id: image.h 6649 2007-07-11 21:46:42Z mike $". |
ef416fc2 | 130 | */ |