--- np2/generic/cmndraw.h 2003/11/21 06:51:11 1.1 +++ np2/generic/cmndraw.h 2004/03/25 10:41:13 1.5 @@ -12,6 +12,19 @@ struct _cmnpalfn { typedef struct _cmnpalfn CMNPALFN; typedef struct { + UINT8 pal8; + UINT8 padding; + UINT16 pal16; + RGB32 pal32; +} CMNPALS; + +typedef union { + RGB32 pal32; + UINT16 pal16; + UINT8 pal8; +} CMNPAL; + +typedef struct { BYTE *ptr; int width; int height; @@ -20,10 +33,13 @@ typedef struct { int bpp; } CMNVRAM; +typedef void (*CMNPALCNV)(CMNPAL *dst, RGB32 *src, UINT pals, UINT bpp); + #ifdef __cplusplus extern "C" { #endif +void cmndraw_getpals(CMNPALFN *fn, CMNPALS *pal, UINT pals); void cmndraw_makegrad(RGB32 *pal, int pals, RGB32 bg, RGB32 fg); #if defined(SUPPORT_8BPP) @@ -62,6 +78,26 @@ void cmndraw32_setpat(const CMNVRAM *vra int x, int y, RGB32 bg, RGB32 fg); #endif + +// ---- + +void cmddraw_fill(CMNVRAM *vram, int x, int y, int cx, int cy, CMNPALS *pal); +void cmddraw_text8(CMNVRAM *vram, int x, int y, const char *str, CMNPALS *pal); + + +// ---- + +enum { + CMNBMP_LEFT = 0x00, + CMNBMP_CENTER = 0x01, + CMNBMP_RIGHT = 0x02, + CMNBMP_TOP = 0x00, + CMNBMP_MIDDLE = 0x04, + CMNBMP_BOTTOM = 0x08 +}; + +void cmddraw_bmp16(CMNVRAM *vram, const void *bmp, CMNPALCNV cnv, UINT flag); + #ifdef __cplusplus } #endif