|
|
| version 1.7, 2004/04/05 09:45:06 | version 1.12, 2004/07/29 15:15:35 |
|---|---|
| Line 6 | Line 6 |
| #include "softkbd.h" | #include "softkbd.h" |
| #include "keystat.h" | #include "keystat.h" |
| #define SOFTKEY_MENU 0xfe | #define SOFTKEY_MENU 0xfe |
| #define SOFTKEY_NC 0xff | #define SOFTKEY_NC 0xff |
| enum { | |
| KBDDRAW_BMP = 0x01, | |
| KBDDRAW_LED = 0x02 | |
| }; | |
| typedef struct { | typedef struct { |
| UINT8 key; | UINT8 key; |
| UINT8 key2; | UINT8 key2; |
| UINT8 led; | UINT8 led; |
| UINT8 draw; | UINT8 flag; |
| void *ptr; | void *ptr; |
| CMNBMP bmp; | CMNBMP bmp; |
| CMNPAL pal[16]; | CMNPAL pal[16]; |
| Line 27 typedef struct { | Line 24 typedef struct { |
| static SOFTKBD softkbd; | static SOFTKBD softkbd; |
| #if (SUPPORT_SOFTKBD == 1) | #if (SUPPORT_SOFTKBD == 1) |
| #if defined(SIZE_QVGA) | |
| #include "softkbd1.res" | #include "softkbd1.res" |
| #elif (SUPPORT_SOFTKBD == 2) | #else |
| #include "softkbd2.res" | #include "softkbd2.res" |
| #endif | |
| #elif (SUPPORT_SOFTKBD == 2) | |
| #error not support (SUPPORT_SOFTKBD == 2) | |
| #else | #else |
| #if !defined(SUPPORT_PC9801_119) | |
| #include "softkbd.res" | #include "softkbd.res" |
| #else | |
| #include "softkbd3.res" | |
| #endif | |
| #endif | #endif |
| Line 49 static void loadbmp(const char *filename | Line 54 static void loadbmp(const char *filename |
| _MFREE(ptr); | _MFREE(ptr); |
| } | } |
| } | } |
| softkbd.draw |= KBDDRAW_BMP; | softkbd.flag |= SOFTKEY_FLAGREDRAW; |
| (void)filename; | |
| } | } |
| void softkbd_initialize(void) { | void softkbd_initialize(void) { |
| Line 84 BOOL softkbd_getsize(int *width, int *he | Line 90 BOOL softkbd_getsize(int *width, int *he |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| REG8 softkbd_process(void) { | |
| return(softkbd.flag); | |
| } | |
| BOOL softkbd_paint(CMNVRAM *vram, CMNPALCNV cnv, BOOL redraw) { | BOOL softkbd_paint(CMNVRAM *vram, CMNPALCNV cnv, BOOL redraw) { |
| UINT8 draw; | UINT8 flag; |
| BOOL ret; | BOOL ret; |
| draw = softkbd.draw; | flag = softkbd.flag; |
| softkbd.draw = 0; | softkbd.flag = 0; |
| if (redraw) { | if (redraw) { |
| draw = KBDDRAW_BMP | KBDDRAW_LED; | flag = SOFTKEY_FLAGREDRAW | SOFTKEY_FLAGDRAW; |
| } | } |
| ret = FALSE; | ret = FALSE; |
| if ((draw & KBDDRAW_BMP) && (vram) && (cnv)) { | if ((flag & SOFTKEY_FLAGREDRAW) && (vram) && (cnv)) { |
| (*cnv)(softkbd.pal, softkbd.bmp.paltbl, softkbd.bmp.pals, vram->bpp); | (*cnv)(softkbd.pal, softkbd.bmp.paltbl, softkbd.bmp.pals, vram->bpp); |
| cmndraw_bmp16(vram, softkbd.ptr, cnv, CMNBMP_LEFT | CMNBMP_TOP); | cmndraw_bmp16(vram, softkbd.ptr, cnv, CMNBMP_LEFT | CMNBMP_TOP); |
| ret = TRUE; | ret = TRUE; |
| } | } |
| if (draw & KBDDRAW_LED) { | if (flag & SOFTKEY_FLAGDRAW) { |
| TRACEOUT(("softkbd_paint")); | TRACEOUT(("softkbd_paint")); |
| ledpaint(vram); | ledpaint(vram); |
| ret = TRUE; | ret = TRUE; |
| Line 137 void softkbd_led(REG8 led) { | Line 148 void softkbd_led(REG8 led) { |
| TRACEOUT(("softkbd_led(%x)", led)); | TRACEOUT(("softkbd_led(%x)", led)); |
| if (softkbd.led != led) { | if (softkbd.led != led) { |
| softkbd.led = led; | softkbd.led = led; |
| softkbd.draw |= KBDDRAW_LED; | softkbd.flag |= SOFTKEY_FLAGDRAW; |
| } | } |
| } | } |
| #endif | #endif |