#ifndef __PICTURE_H #define __PICTURE_H #include "defs.hpp" #include "pixel.hpp" #include "rect.hpp" #include "memory.hpp" #define PICTURE_NO_COLOUR_KEY 0x8000 typedef struct { Pixel* surface; Pixel** table; Pixel** pixels; Rect rect; int width; int height; int pitch; int x; int y; int lineheight; Pixel color; } Picture; void PictureCreate(Picture*, int, int, Pixel* = NULL, int = 0); void PictureDelete(Picture*); void PictureWindow(Picture*, Picture*, int, int, int, int); void PictureClear(Picture*, int); void PictureSavePPM(Picture* channel, char* filename); void PictureRead(Picture*, FILE*); void PictureWrite(Picture*, FILE*); void PictureLoad(Picture* dst, char* name); #define PICTURE_FILL 3 #define PICTURE_COPY 4 #define PICTURE_FX_OR 5 #define PICTURE_BLEND 6 #define PICTURE_ADD 7 void PictureCopy( int effect, Picture* dst, int x1, int y1, int x2, int y2, Picture* src, int u1, int v1, int u2, int v2, Picture* zb, Pixel z, Pixel); void PictureBlitRect(Picture* dst, Rect r, Pixel pixel); void PictureBlitSprite(Picture*, Picture*, int, int); void PictureArrayDelete(Picture*); Picture* PictureArrayCreate(int); Picture* PictureArrayRead(FILE*); void PictureArrayWrite(Picture*, FILE*); #endif