|
|
| version 1.1, 2004/03/25 08:51:24 | version 1.5, 2004/04/06 18:41:00 |
|---|---|
| Line 416 typedef struct { | Line 416 typedef struct { |
| HWND hwnd; | HWND hwnd; |
| WINLOCEX wlex; | WINLOCEX wlex; |
| DD2HDL dd2hdl; | DD2HDL dd2hdl; |
| int width; | |
| int height; | |
| } SKBDWIN; | } SKBDWIN; |
| typedef struct { | typedef struct { |
| Line 435 static const INITBL np2skini[] = { | Line 437 static const INITBL np2skini[] = { |
| {"WindposY", INITYPE_SINT32, &skbdcfg.posy, 0}, | {"WindposY", INITYPE_SINT32, &skbdcfg.posy, 0}, |
| {"windtype", INITYPE_BOOL, &skbdcfg.type, 0}}; | {"windtype", INITYPE_BOOL, &skbdcfg.type, 0}}; |
| static void skpalcnv(CMNPAL *dst, RGB32 *src, UINT pals, UINT bpp) { | static void skpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { |
| UINT i; | UINT i; |
| switch(bpp) { | switch(bpp) { |
| #if defined(SUPPORT_8BPP) | |
| case 8: | |
| break; | |
| #endif | |
| #if defined(SUPPORT_16BPP) | |
| case 16: | |
| for (i=0; i<pals; i++) { | |
| dst[i].pal16 = dd2_get16pal(skbdwin.dd2hdl, src[i]); | |
| } | |
| break; | |
| #endif | |
| #if defined(SUPPORT_24BPP) | |
| case 24: | |
| #endif | |
| #if defined(SUPPORT_32BPP) | |
| case 32: | case 32: |
| #endif | |
| #if defined(SUPPORT_24BPP) || defined(SUPPORT_32BPP) | |
| for (i=0; i<pals; i++) { | for (i=0; i<pals; i++) { |
| dst[i].pal32.d = src[i].d; | dst[i].pal32.d = src[i].d; |
| } | } |
| break; | break; |
| #endif | |
| } | } |
| } | } |
| Line 460 static void skpaintmsg(HWND hWnd) { | Line 480 static void skpaintmsg(HWND hWnd) { |
| GetClientRect(hWnd, &rect); | GetClientRect(hWnd, &rect); |
| draw.left = 0; | draw.left = 0; |
| draw.top = 0; | draw.top = 0; |
| draw.right = min(SOFTKBD_WIDTH, rect.right - rect.left); | draw.right = min(skbdwin.width, rect.right - rect.left); |
| draw.bottom = min(SOFTKBD_HEIGHT, rect.bottom - rect.top); | draw.bottom = min(skbdwin.height, rect.bottom - rect.top); |
| hdc = BeginPaint(hWnd, &ps); | hdc = BeginPaint(hWnd, &ps); |
| vram = dd2_bsurflock(skbdwin.dd2hdl); | vram = dd2_bsurflock(skbdwin.dd2hdl); |
| if (vram) { | if (vram) { |
| softkbd_paint(vram, skpalcnv); | softkbd_paint(vram, skpalcnv, TRUE); |
| dd2_bsurfunlock(skbdwin.dd2hdl); | dd2_bsurfunlock(skbdwin.dd2hdl); |
| dd2_blt(skbdwin.dd2hdl, NULL, &draw); | dd2_blt(skbdwin.dd2hdl, NULL, &draw); |
| } | } |
| Line 477 static LRESULT CALLBACK skproc(HWND hWnd | Line 497 static LRESULT CALLBACK skproc(HWND hWnd |
| switch(msg) { | switch(msg) { |
| case WM_CREATE: | case WM_CREATE: |
| np2class_wmcreate(hWnd); | np2class_wmcreate(hWnd); |
| winloc_setclientsize(hWnd, SOFTKBD_WIDTH, SOFTKBD_HEIGHT); | winloc_setclientsize(hWnd, skbdwin.width, skbdwin.height); |
| np2class_windowtype(hWnd, (skbdcfg.type & 1) + 1); | np2class_windowtype(hWnd, (skbdcfg.type & 1) + 1); |
| break; | break; |
| Line 583 BOOL skbdwin_initialize(HINSTANCE hPreIn | Line 603 BOOL skbdwin_initialize(HINSTANCE hPreIn |
| return(FAILURE); | return(FAILURE); |
| } | } |
| } | } |
| softkbd_initialize(); | |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| void skbdwin_deinitialize(void) { | |
| softkbd_deinitialize(); | |
| } | |
| void skbdwin_create(void) { | void skbdwin_create(void) { |
| HWND hwnd; | HWND hwnd; |
| Line 594 void skbdwin_create(void) { | Line 620 void skbdwin_create(void) { |
| return; | return; |
| } | } |
| ZeroMemory(&skbdwin, sizeof(skbdwin)); | ZeroMemory(&skbdwin, sizeof(skbdwin)); |
| if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) { | |
| return; | |
| } | |
| hwnd = CreateWindow(np2skclass, np2skcaption, | hwnd = CreateWindow(np2skclass, np2skcaption, |
| WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | |
| WS_MINIMIZEBOX, | WS_MINIMIZEBOX, |
| skbdcfg.posx, skbdcfg.posy, | skbdcfg.posx, skbdcfg.posy, |
| SOFTKBD_WIDTH, SOFTKBD_HEIGHT, | skbdwin.width, skbdwin.height, |
| NULL, NULL, hInst, NULL); | NULL, NULL, hInst, NULL); |
| skbdwin.hwnd = hwnd; | skbdwin.hwnd = hwnd; |
| if (hwnd == NULL) { | if (hwnd == NULL) { |
| Line 606 void skbdwin_create(void) { | Line 635 void skbdwin_create(void) { |
| } | } |
| ShowWindow(hwnd, SW_SHOWNOACTIVATE); | ShowWindow(hwnd, SW_SHOWNOACTIVATE); |
| UpdateWindow(hwnd); | UpdateWindow(hwnd); |
| skbdwin.dd2hdl = dd2_create(hwnd, SOFTKBD_WIDTH, SOFTKBD_HEIGHT); | skbdwin.dd2hdl = dd2_create(hwnd, skbdwin.width, skbdwin.height); |
| if (skbdwin.dd2hdl == NULL) { | if (skbdwin.dd2hdl == NULL) { |
| goto skcre_err2; | goto skcre_err2; |
| } | } |