|
|
| version 1.8, 2004/04/05 09:45:07 | version 1.9, 2004/07/15 13:48:40 |
|---|---|
| Line 26 typedef struct { | Line 26 typedef struct { |
| long xalign; | long xalign; |
| long yalign; | long yalign; |
| #if defined(SUPPORT_SOFTKBD) | #if defined(SUPPORT_SOFTKBD) |
| int kbdposy; | |
| int kbdheight; | |
| int allflash; | int allflash; |
| #endif | #endif |
| } SCRNMNG; | } SCRNMNG; |
| Line 122 void scrnmng_initialize(void) { | Line 124 void scrnmng_initialize(void) { |
| BOOL scrnmng_create(HWND hWnd, LONG width, LONG height) { | BOOL scrnmng_create(HWND hWnd, LONG width, LONG height) { |
| TCHAR msg[32]; | TCHAR msg[32]; |
| #if defined(SUPPORT_SOFTKBD) | |
| int kbdheight; | |
| #endif | |
| if ((width <= 0) || (height <= 0)) { | if ((width <= 0) || (height <= 0)) { |
| return(FAILURE); | return(FAILURE); |
| Line 181 BOOL scrnmng_create(HWND hWnd, LONG widt | Line 186 BOOL scrnmng_create(HWND hWnd, LONG widt |
| scrnmng_clear(TRUE); | scrnmng_clear(TRUE); |
| #if defined(SUPPORT_SOFTKBD) | #if defined(SUPPORT_SOFTKBD) |
| softkbd_initialize(); | softkbd_initialize(); |
| if (softkbd_getsize(NULL, &kbdheight) != SUCCESS) { | |
| kbdheight = 0; | |
| } | |
| kbdheight = min(kbdheight, height); | |
| scrnmng.kbdposy = height - kbdheight; | |
| scrnmng.kbdheight = kbdheight; | |
| #endif | #endif |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| Line 318 void scrnmng_surfunlock(const SCRNSURF * | Line 329 void scrnmng_surfunlock(const SCRNSURF * |
| #if defined(SUPPORT_SOFTKBD) | #if defined(SUPPORT_SOFTKBD) |
| if (scrnmng.allflash) { | if (scrnmng.allflash) { |
| scrnmng.allflash = 0; | scrnmng.allflash = 0; |
| vram.ptr = surf->ptr + (surf->yalign * 200); | vram.ptr = surf->ptr + (scrnmng.kbdposy * surf->yalign); |
| vram.width = 320; | vram.width = scrnmng.width; |
| vram.height = 40; | vram.height = scrnmng.kbdheight; |
| vram.xalign = surf->xalign; | vram.xalign = surf->xalign; |
| vram.yalign = surf->yalign; | vram.yalign = surf->yalign; |
| vram.bpp = 16; | vram.bpp = 16; |
| Line 423 void scrnmng_keybinds(void) { | Line 434 void scrnmng_keybinds(void) { |
| BOOL scrnmng_entermenu(SCRNMENU *smenu) { | BOOL scrnmng_entermenu(SCRNMENU *smenu) { |
| VRAMHDL vram; | |
| #if defined(SUPPORT_SOFTKBD) | #if defined(SUPPORT_SOFTKBD) |
| CMNVRAM vram; | CMNVRAM kbdvram; |
| #endif | #endif |
| if (smenu == NULL) { | if (smenu == NULL) { |
| goto smem_err; | goto smem_err; |
| } | } |
| vram_destroy(scrnmng.vram); | vram_destroy(scrnmng.vram); |
| scrnmng.vram = vram_create(scrnmng.width, scrnmng.height, FALSE, 16); | vram = vram_create(scrnmng.width, scrnmng.height, FALSE, 16); |
| if (scrnmng.vram == NULL) { | scrnmng.vram = vram; |
| if (vram == NULL) { | |
| goto smem_err; | goto smem_err; |
| } | } |
| scrndraw_redraw(); | scrndraw_redraw(); |
| #if defined(SUPPORT_SOFTKBD) | #if defined(SUPPORT_SOFTKBD) |
| vram.ptr = scrnmng.vram->ptr + (640 * 200); | kbdvram.ptr = vram->ptr + (vram->yalign * scrnmng.kbdposy); |
| vram.width = 320; | kbdvram.width = vram->width; |
| vram.height = 40; | kbdvram.height = scrnmng.kbdheight; |
| vram.xalign = 2; | kbdvram.xalign = vram->xalign; |
| vram.yalign = 640; | kbdvram.yalign = vram->yalign; |
| vram.bpp = 16; | kbdvram.bpp = vram->bpp; |
| softkbd_paint(&vram, palcnv, TRUE); | softkbd_paint(&kbdvram, palcnv, TRUE); |
| #endif | #endif |
| smenu->width = scrnmng.width; | smenu->width = scrnmng.width; |
| smenu->height = scrnmng.height; | smenu->height = scrnmng.height; |
| Line 504 const BYTE *q; | Line 517 const BYTE *q; |
| GXEndDraw(); | GXEndDraw(); |
| } | } |
| // ---- | |
| #if defined(SUPPORT_SOFTKBD) | |
| BOOL scrnmng_kbdpos(LPARAM *lp) { | |
| UINT x; | |
| UINT y; | |
| x = LOWORD(*lp); | |
| y = HIWORD(*lp) - scrnmng.kbdposy; | |
| *lp = (x & 0xffff) | ((y << 16) & 0xffff0000); | |
| return(SUCCESS); | |
| } | |
| BOOL scrnmng_ismenu(LPARAM lp) { | |
| if ((LOWORD(lp) < 32) && (HIWORD(lp) >= (scrnmng.height - 32))) { | |
| return(TRUE); | |
| } | |
| else { | |
| return(FALSE); | |
| } | |
| } | |
| #endif | |