Changeset 391 for trunk/src/user32/new/pmwindow.cpp
- Timestamp:
- Jul 25, 1999, 11:19:22 AM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/new/pmwindow.cpp
r342 r391 1 /* $Id: pmwindow.cpp,v 1.1 3 1999-07-20 07:42:36sandervl Exp $ */1 /* $Id: pmwindow.cpp,v 1.14 1999-07-25 09:19:21 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Managment Code for OS/2 … … 29 29 HAB hab = 0; 30 30 31 RECTL desktopRectl = {0}; 32 31 33 MRESULT EXPENTRY Win32WindowProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2); 32 34 … … 76 78 } 77 79 80 WinQueryWindowRect(HWND_DESKTOP, &desktopRectl); 81 dprintf(("InitPM: Desktop (%d,%d)", desktopRectl.xRight, desktopRectl.yTop)); 78 82 return OSLibInitMsgQueue(); 79 83 } /* End of main */ … … 194 198 case WM_WINDOWPOSCHANGED: 195 199 { 196 dprintf(("OS2: WM_WINDOWPOSCHANGED %x", hwnd)); 200 PSWP pswp = (PSWP)mp1; 201 202 dprintf(("OS2: WM_WINDOWPOSCHANGED %x %x (%d,%d) (%d,%d)", hwnd, pswp->fl, pswp->x, pswp->y, pswp->cx, pswp->cy)); 197 203 goto RunDefWndProc; 198 204 } … … 220 226 SWP swp; 221 227 222 dprintf(("OS2: WM_SIZE %x", hwnd));223 228 rc = WinQueryWindowPos(hwnd, &swp); 224 229 if(rc == FALSE) { … … 226 231 break; 227 232 } 233 dprintf(("OS2: WM_SIZE %x %x (%d,%d) (%d,%d)", hwnd, swp.fl, swp.x, swp.y, swp.cx, swp.cy)); 228 234 if(win32wnd->MsgSize(SHORT1FROMMP(mp2), SHORT2FROMMP(mp2), 229 235 (swp.fl & SWP_MINIMIZE) != 0, … … 258 264 HWND hwndFocus = (HWND)mp1; 259 265 260 dprintf(("OS2: WM_SETFOCUS %x ", hwnd));266 dprintf(("OS2: WM_SETFOCUS %x %d", hwnd, mp2)); 261 267 if(WinQueryWindowULong(hwndFocus, OFFSET_WIN32PM_MAGIC) != WIN32PM_MAGIC) { 262 268 //another (non-win32) application's window … … 378 384 379 385 //OS/2 Window coordinates -> Win32 Window coordinates 386 //TODO: What do windows apps that handle this messages return? 380 387 if(!win32wnd->MsgMouseMove(keystate, SHORT1FROMMP(mp1), MapOS2ToWin32Y(win32wnd, SHORT2FROMMP(mp1)))) { 381 388 goto RunDefWndProc; … … 403 410 404 411 case WM_SYSCOMMAND: 405 dprintf(("WM_SYSCOMMAND")); 406 break; 407 412 { 413 ULONG x = 0, y = 0; 414 ULONG win32sc; 415 416 if(SHORT2FROMMP(mp2) == TRUE) {//syscommand caused by mouse action 417 POINTL pointl; 418 WinQueryPointerPos(HWND_DESKTOP, &pointl); 419 x = pointl.x; 420 y = desktopRectl.yTop - y; 421 } 422 switch(SHORT1FROMMP(mp1)) { 423 case SC_MOVE: 424 win32sc = WIN32SC_MOVE; 425 break; 426 case SC_CLOSE: 427 win32sc = WIN32SC_CLOSE; 428 break; 429 case SC_MAXIMIZE: 430 win32sc = WIN32SC_MAXIMIZE; 431 break; 432 case SC_MINIMIZE: 433 win32sc = WIN32SC_MINIMIZE; 434 break; 435 case SC_NEXTFRAME: 436 case SC_NEXTWINDOW: 437 win32sc = WIN32SC_NEXTWINDOW; 438 break; 439 case SC_RESTORE: 440 win32sc = WIN32SC_RESTORE; 441 break; 442 case SC_TASKMANAGER: 443 win32sc = WIN32SC_TASKLIST; 444 break; 445 default: 446 goto RunDefWndProc; 447 } 448 dprintf(("WM_SYSCOMMAND %x %x (%d,%d)", hwnd, win32sc, x, y)); 449 if(win32wnd->MsgSysCommand(win32sc, x, y)) { 450 goto RunDefWndProc; 451 } 452 break; 453 } 408 454 case WM_CHAR: 409 dprintf(("WM_CHAR")); 410 455 { 456 ULONG keyflags = 0, vkey = 0; 457 ULONG fl = SHORT1FROMMP(mp1); 458 459 if(!(fl & KC_CHAR)) { 460 dprintf(("WM_CHAR: no valid character code")); 461 goto RunDefWndProc; 462 } 463 if(fl & KC_VIRTUALKEY) { 464 vkey = SHORT2FROMMP(mp2); 465 } 466 if(fl & KC_KEYUP) { 467 keyflags |= KEY_UP; 468 } 469 if(fl & KC_ALT) { 470 keyflags |= KEY_ALTDOWN; 471 } 472 if(fl & KC_PREVDOWN) { 473 keyflags |= KEY_PREVDOWN; 474 } 475 if(win32wnd->MsgChar(SHORT1FROMMP(mp2), CHAR3FROMMP(mp1), CHAR4FROMMP(mp1), vkey, keyflags)) { 476 goto RunDefWndProc; 477 } 478 break; 479 } 411 480 case WM_INITMENU: 412 481 case WM_MENUSELECT:
Note:
See TracChangeset
for help on using the changeset viewer.