mirror of
https://github.com/MopriaAlliance/CUPS-for-Android.git
synced 2025-08-03 02:54:36 +08:00
102 lines
3.1 KiB
C
102 lines
3.1 KiB
C
/*
|
||
* Private image library definitions for CUPS.
|
||
*
|
||
* Copyright © 2007-2019 by Apple Inc.
|
||
* Copyright © 1993-2006 by Easy Software Products.
|
||
*
|
||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||
* information.
|
||
*/
|
||
|
||
#ifndef _CUPS_RASTER_PRIVATE_H_
|
||
# define _CUPS_RASTER_PRIVATE_H_
|
||
|
||
/*
|
||
* Include necessary headers...
|
||
*/
|
||
|
||
# include "raster.h"
|
||
# include <cups/cups.h>
|
||
# include <cups/debug-private.h>
|
||
# include <cups/string-private.h>
|
||
# ifdef _WIN32
|
||
# include <io.h>
|
||
# include <winsock2.h> /* for htonl() definition */
|
||
# else
|
||
# include <unistd.h>
|
||
# include <fcntl.h>
|
||
# endif /* _WIN32 */
|
||
|
||
# ifdef __cplusplus
|
||
extern "C" {
|
||
# endif /* __cplusplus */
|
||
|
||
|
||
/*
|
||
* Structure...
|
||
*/
|
||
|
||
struct _cups_raster_s /**** Raster stream data ****/
|
||
{
|
||
unsigned sync; /* Sync word from start of stream */
|
||
void *ctx; /* File descriptor */
|
||
cups_raster_iocb_t iocb; /* IO callback */
|
||
cups_mode_t mode; /* Read/write mode */
|
||
cups_page_header2_t header; /* Raster header for current page */
|
||
unsigned rowheight, /* Row height in lines */
|
||
count, /* Current row run-length count */
|
||
remaining, /* Remaining rows in page image */
|
||
bpp; /* Bytes per pixel/color */
|
||
unsigned char *pixels, /* Pixels for current row */
|
||
*pend, /* End of pixel buffer */
|
||
*pcurrent; /* Current byte in pixel buffer */
|
||
int compressed, /* Non-zero if data is compressed */
|
||
swapped; /* Non-zero if data is byte-swapped */
|
||
unsigned char *buffer, /* Read/write buffer */
|
||
*bufptr, /* Current (read) position in buffer */
|
||
*bufend; /* End of current (read) buffer */
|
||
size_t bufsize; /* Buffer size */
|
||
# ifdef DEBUG
|
||
size_t iostart, /* Start of read/write buffer */
|
||
iocount; /* Number of bytes read/written */
|
||
# endif /* DEBUG */
|
||
unsigned apple_page_count;/* Apple raster page count */
|
||
};
|
||
|
||
|
||
#if 0
|
||
/*
|
||
* min/max macros...
|
||
*/
|
||
|
||
# ifndef max
|
||
# define max(a,b) ((a) > (b) ? (a) : (b))
|
||
# endif /* !max */
|
||
# ifndef min
|
||
# define min(a,b) ((a) < (b) ? (a) : (b))
|
||
# endif /* !min */
|
||
#endif // 0
|
||
|
||
|
||
/*
|
||
* Prototypes...
|
||
*/
|
||
|
||
extern void _cupsRasterAddError(const char *f, ...) _CUPS_FORMAT(1,2) _CUPS_PRIVATE;
|
||
extern void _cupsRasterClearError(void) _CUPS_PRIVATE;
|
||
extern const char *_cupsRasterColorSpaceString(cups_cspace_t cspace) _CUPS_PRIVATE;
|
||
extern void _cupsRasterDelete(cups_raster_t *r) _CUPS_PRIVATE;
|
||
extern const char *_cupsRasterErrorString(void) _CUPS_PRIVATE;
|
||
extern int _cupsRasterInitPWGHeader(cups_page_header2_t *h, pwg_media_t *media, const char *type, int xdpi, int ydpi, const char *sides, const char *sheet_back) _CUPS_PRIVATE;
|
||
extern cups_raster_t *_cupsRasterNew(cups_raster_iocb_t iocb, void *ctx, cups_mode_t mode) _CUPS_PRIVATE;
|
||
extern unsigned _cupsRasterReadHeader(cups_raster_t *r) _CUPS_PRIVATE;
|
||
extern unsigned _cupsRasterReadPixels(cups_raster_t *r, unsigned char *p, unsigned len) _CUPS_PRIVATE;
|
||
extern unsigned _cupsRasterWriteHeader(cups_raster_t *r) _CUPS_PRIVATE;
|
||
extern unsigned _cupsRasterWritePixels(cups_raster_t *r, unsigned char *p, unsigned len) _CUPS_PRIVATE;
|
||
|
||
# ifdef __cplusplus
|
||
}
|
||
# endif /* __cplusplus */
|
||
|
||
#endif /* !_CUPS_RASTER_PRIVATE_H_ */
|