12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- typedef struct Rawimage Rawimage;
- struct Rawimage
- {
- Rectangle r;
- uchar *cmap;
- int cmaplen;
- int nchans;
- uchar *chans[4];
- int chandesc;
- int chanlen;
- int fields; /* defined by format */
- int gifflags; /* gif only; graphics control extension flag word */
- int gifdelay; /* gif only; graphics control extension delay in cs */
- int giftrindex; /* gif only; graphics control extension transparency index */
- int gifloopcount; /* number of times to loop in animation; 0 means forever */
- };
- enum
- {
- /* Channel descriptors */
- CRGB = 0, /* three channels, no map */
- CYCbCr = 1, /* three channels, no map, level-shifted 601 color space */
- CY = 2, /* one channel, luminance */
- CRGB1 = 3, /* one channel, map present */
- CRGBV = 4, /* one channel, map is RGBV, understood */
- CRGB24 = 5, /* one channel in correct data order for loadimage(RGB24) */
- CRGBA32 = 6, /* one channel in correct data order for loadimage(RGBA32) */
- CYA16 = 7, /* one channel in correct data order for loadimage(Grey8+Alpha8) */
- CRGBVA16= 8, /* one channel in correct data order for loadimage(CMAP8+Alpha8) */
- /* GIF flags */
- TRANSP = 1,
- INPUT = 2,
- DISPMASK = 7<<2
- };
- enum{ /* PNG flags */
- II_GAMMA = 1 << 0,
- II_COMMENT = 1 << 1,
- };
- typedef struct ImageInfo {
- ulong fields_set;
- double gamma;
- char *comment;
- } ImageInfo;
- Rawimage** readjpg(int, int);
- Rawimage** Breadjpg(Biobuf *b, int);
- Rawimage** readpng(int, int);
- Rawimage** Breadpng(Biobuf *b, int);
- Rawimage** readgif(int, int);
- Rawimage** readpixmap(int, int);
- Rawimage* torgbv(Rawimage*, int);
- Rawimage* totruecolor(Rawimage*, int);
- int writerawimage(int, Rawimage*);
- void* _remaperror(char*, ...);
- typedef struct Memimage Memimage; /* avoid necessity to include memdraw.h */
- char* startgif(Biobuf*, Image*, int);
- char* writegif(Biobuf*, Image*, char*, int, int);
- void endgif(Biobuf*);
- char* memstartgif(Biobuf*, Memimage*, int);
- char* memwritegif(Biobuf*, Memimage*, char*, int, int);
- void memendgif(Biobuf*);
- Image* onechan(Image*);
- Memimage* memonechan(Memimage*);
- char* writeppm(Biobuf*, Image*, char*);
- char* memwriteppm(Biobuf*, Memimage*, char*);
- Image* multichan(Image*);
- Memimage* memmultichan(Memimage*);
- char* memwritepng(Biobuf*, Memimage*, ImageInfo*);
|