--- np2/generic/cmndraw.h 2004/03/25 08:51:24 1.4 +++ np2/generic/cmndraw.h 2005/02/07 14:46:10 1.9 @@ -2,22 +2,6 @@ #ifndef __CMNDRAW #define __CMNDRAW - -struct _cmnpalfn { - BYTE (*get8)(struct _cmnpalfn *fn, UINT num); - UINT32 (*get32)(struct _cmnpalfn *fn, UINT num); - UINT16 (*cnv16)(struct _cmnpalfn *fn, RGB32 pal32); - long userdata; -}; -typedef struct _cmnpalfn CMNPALFN; - -typedef struct { - UINT8 pal8; - UINT8 padding; - UINT16 pal16; - RGB32 pal32; -} CMNPALS; - typedef union { RGB32 pal32; UINT16 pal16; @@ -25,7 +9,7 @@ typedef union { } CMNPAL; typedef struct { - BYTE *ptr; + UINT8 *ptr; int width; int height; int xalign; @@ -33,57 +17,45 @@ typedef struct { int bpp; } CMNVRAM; -typedef void (*CMNPALCNV)(CMNPAL *dst, RGB32 *src, UINT pals, UINT bpp); +typedef void (*CMNPALCNV)(CMNPAL *dst, const 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) -void cmndraw8_fill(const CMNVRAM *vram, int x, int y, - int cx, int cy, BYTE fg); -void cmndraw8_setfg(const CMNVRAM *vram, const BYTE *src, - int x, int y, BYTE fg); -void cmndraw8_setpat(const CMNVRAM *vram, const BYTE *src, - int x, int y, BYTE bg, BYTE fg); -#endif +void cmndraw_fill(const CMNVRAM *vram, int x, int y, + int cx, int cy, CMNPAL fg); +void cmndraw_setfg(const CMNVRAM *vram, const UINT8 *src, + int x, int y, CMNPAL fg); +void cmndraw_setpat(const CMNVRAM *vram, const UINT8 *src, + int x, int y, CMNPAL bg, CMNPAL fg); +void cmddraw_text8(CMNVRAM *vram, int x, int y, const char *str, CMNPAL fg); -#if defined(SUPPORT_16BPP) -void cmndraw16_fill(const CMNVRAM *vram, int x, int y, - int cx, int cy, UINT16 fg); -void cmndraw16_setfg(const CMNVRAM *vram, const BYTE *src, - int x, int y, UINT16 fg); -void cmndraw16_setpat(const CMNVRAM *vram, const BYTE *src, - int x, int y, UINT16 bg, UINT16 fg); -#endif -#if defined(SUPPORT_24BPP) -void cmndraw24_fill(const CMNVRAM *vram, int x, int y, - int cx, int cy, RGB32 fg); -void cmndraw24_setfg(const CMNVRAM *vram, const BYTE *src, - int x, int y, RGB32 fg); -void cmndraw24_setpat(const CMNVRAM *vram, const BYTE *src, - int x, int y, RGB32 bg, RGB32 fg); -#endif - -#if defined(SUPPORT_32BPP) -void cmndraw32_fill(const CMNVRAM *vram, int x, int y, - int cx, int cy, RGB32 fg); -void cmndraw32_setfg(const CMNVRAM *vram, const BYTE *src, - int x, int y, RGB32 fg); -void cmndraw32_setpat(const CMNVRAM *vram, const BYTE *src, - int x, int y, RGB32 bg, RGB32 fg); -#endif +// ---- +enum { + CMNBMP_LEFT = 0x00, + CMNBMP_CENTER = 0x01, + CMNBMP_RIGHT = 0x02, + CMNBMP_TOP = 0x00, + CMNBMP_MIDDLE = 0x04, + CMNBMP_BOTTOM = 0x08 +}; -// ---- +typedef struct { + UINT8 *ptr; + int width; + int height; + int align; + UINT pals; + RGB32 paltbl[16]; +} CMNBMP; -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); -void cmddraw_bmp16(CMNVRAM *vram, const void *bmp, CMNPALCNV cnv); +BOOL cmndraw_bmp4inf(CMNBMP *bmp, const void *ptr); +void cmndraw_bmp16(CMNVRAM *vram, const void *ptr, CMNPALCNV cnv, UINT flag); #ifdef __cplusplus }