#ifndef _CUPS_IMAGE_H_
# define _CUPS_IMAGE_H_
# include <stdio.h>
# include "raster.h"
# ifdef __cplusplus
extern "C" {
# endif
typedef enum cups_icspace_e
{
CUPS_IMAGE_CMYK = -4,
CUPS_IMAGE_CMY = -3,
CUPS_IMAGE_BLACK = -1,
CUPS_IMAGE_WHITE = 1,
CUPS_IMAGE_RGB = 3,
CUPS_IMAGE_RGB_CMYK = 4
} cups_icspace_t;
typedef unsigned char cups_ib_t;
struct cups_image_s;
typedef struct cups_image_s cups_image_t;
struct cups_izoom_s;
typedef struct cups_izoom_s cups_izoom_t;
extern void cupsImageClose(cups_image_t *img);
extern void cupsImageCMYKToBlack(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageCMYKToCMY(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageCMYKToCMYK(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageCMYKToRGB(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageCMYKToWhite(const cups_ib_t *in,
cups_ib_t *out, int count);
extern int cupsImageGetCol(cups_image_t *img, int x, int y,
int height, cups_ib_t *pixels);
extern cups_icspace_t cupsImageGetColorSpace(cups_image_t *img);
extern int cupsImageGetDepth(cups_image_t *img);
extern unsigned cupsImageGetHeight(cups_image_t *img);
extern int cupsImageGetRow(cups_image_t *img, int x, int y,
int width, cups_ib_t *pixels);
extern unsigned cupsImageGetWidth(cups_image_t *img);
extern unsigned cupsImageGetXPPI(cups_image_t *img);
extern unsigned cupsImageGetYPPI(cups_image_t *img);
extern void cupsImageLut(cups_ib_t *pixels, int count,
const cups_ib_t *lut);
extern cups_image_t *cupsImageOpen(const char *filename,
cups_icspace_t primary,
cups_icspace_t secondary,
int saturation, int hue,
const cups_ib_t *lut);
extern void cupsImageRGBAdjust(cups_ib_t *pixels, int count,
int saturation, int hue);
extern void cupsImageRGBToBlack(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageRGBToCMY(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageRGBToCMYK(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageRGBToRGB(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageRGBToWhite(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageSetMaxTiles(cups_image_t *img, int max_tiles);
extern void cupsImageSetProfile(float d, float g,
float matrix[3][3]);
extern void cupsImageSetRasterColorSpace(cups_cspace_t cs);
extern void cupsImageWhiteToBlack(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageWhiteToCMY(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageWhiteToCMYK(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageWhiteToRGB(const cups_ib_t *in,
cups_ib_t *out, int count);
extern void cupsImageWhiteToWhite(const cups_ib_t *in,
cups_ib_t *out, int count);
# ifdef __cplusplus
}
# endif
#endif