Changeset 4658 for trunk/src/user32/oslibmsgtranslate.cpp
- Timestamp:
- Nov 21, 2000, 12:36:09 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/oslibmsgtranslate.cpp
r4599 r4658 1 /* $Id: oslibmsgtranslate.cpp,v 1.3 8 2000-11-15 20:30:46sandervl Exp $ */1 /* $Id: oslibmsgtranslate.cpp,v 1.39 2000-11-21 11:36:08 sandervl Exp $ */ 2 2 /* 3 3 * Window message translation functions for OS/2 … … 132 132 //****************************************************************************** 133 133 //****************************************************************************** 134 BOOL OS2ToWinMsgTranslate(void *pT hdb, QMSG *os2Msg, MSG *winMsg, BOOL isUnicode, BOOL fMsgRemoved)134 BOOL OS2ToWinMsgTranslate(void *pTeb, QMSG *os2Msg, MSG *winMsg, BOOL isUnicode, BOOL fMsgRemoved) 135 135 { 136 136 Win32BaseWindow *win32wnd = 0; 137 137 OSLIBPOINT point, ClientPoint; 138 138 POSTMSG_PACKET *packet; 139 T HDB *thdb = (THDB *)pThdb;139 TEB *teb = (TEB *)pTeb; 140 140 BOOL fWasDisabled = FALSE; 141 141 int i; … … 176 176 case WM_CREATE: 177 177 { 178 if(t hdb->newWindow == 0) {178 if(teb->o.odin.newWindow == 0) { 179 179 DebugInt3(); 180 180 goto dummymessage; 181 181 } 182 182 183 win32wnd = (Win32BaseWindow *)t hdb->newWindow;183 win32wnd = (Win32BaseWindow *)teb->o.odin.newWindow; 184 184 185 185 winMsg->message = WINWM_CREATE; … … 233 233 } 234 234 if(win32wnd->getParent()) { 235 OSLibMapSWPtoWINDOWPOS(pswp, &t hdb->wp, &swpOld, win32wnd->getParent()->getWindowHeight(),235 OSLibMapSWPtoWINDOWPOS(pswp, &teb->o.odin.wp, &swpOld, win32wnd->getParent()->getWindowHeight(), 236 236 win32wnd->getParent()->getClientRectPtr()->left, 237 237 win32wnd->getParent()->getClientRectPtr()->top, 238 238 win32wnd->getOS2WindowHandle()); 239 239 } 240 else OSLibMapSWPtoWINDOWPOS(pswp, &t hdb->wp, &swpOld, OSLibQueryScreenHeight(), 0, 0, win32wnd->getOS2WindowHandle());240 else OSLibMapSWPtoWINDOWPOS(pswp, &teb->o.odin.wp, &swpOld, OSLibQueryScreenHeight(), 0, 0, win32wnd->getOS2WindowHandle()); 241 241 242 242 if (!win32wnd->CanReceiveSizeMsgs()) goto dummymessage; … … 246 246 ///// win32wnd->setClientRect(swpOld.x, swpOld.y, swpOld.x + swpOld.cx, swpOld.y + swpOld.cy); 247 247 248 t hdb->wp.hwnd = win32wnd->getWindowHandle();248 teb->o.odin.wp.hwnd = win32wnd->getWindowHandle(); 249 249 if ((pswp->fl & SWP_ZORDER) && (pswp->hwndInsertBehind > HWND_BOTTOM)) 250 250 { 251 251 Win32BaseWindow *wndAfter = Win32BaseWindow::GetWindowFromOS2Handle(pswp->hwndInsertBehind); 252 252 if(wndAfter) 253 t hdb->wp.hwndInsertAfter = wndAfter->getWindowHandle();254 else t hdb->wp.hwndInsertAfter = HWND_TOP_W;253 teb->o.odin.wp.hwndInsertAfter = wndAfter->getWindowHandle(); 254 else teb->o.odin.wp.hwndInsertAfter = HWND_TOP_W; 255 255 } 256 256 } 257 257 winMsg->message = WINWM_WINDOWPOSCHANGED; 258 winMsg->lParam = (LPARAM)&t hdb->wp;258 winMsg->lParam = (LPARAM)&teb->o.odin.wp; 259 259 break; 260 260 } … … 496 496 char c; 497 497 498 t hdb->fTranslated = FALSE;498 teb->o.odin.fTranslated = FALSE; 499 499 repeatCount = CHAR3FROMMP(os2Msg->mp1); 500 500 scanCode = CHAR4FROMMP(os2Msg->mp1); … … 694 694 case WM_RENDERALLFMTS: 695 695 winMsg->message = WINWM_RENDERALLFORMATS; 696 break; 697 698 case WM_DESTROYCLIPBOARD: 699 winMsg->message = WINWM_DESTROYCLIPBOARD; 696 700 break; 697 701 … … 733 737 BOOL OSLibWinTranslateMessage(MSG *msg) 734 738 { 735 T HDB *thdb;736 737 t hdb = GetThreadTHDB();738 if(!t hdb) {739 TEB *teb; 740 741 teb = GetThreadTEB(); 742 if(!teb) { 739 743 return FALSE; 740 744 } 741 745 //NOTE: These actually need to be posted so that the next message retrieved by GetMessage contains 742 746 // the newly generated WM_CHAR message. 743 if(!t hdb->fTranslated && thdb->os2msg.msg == WM_CHAR && !((SHORT1FROMMP(thdb->os2msg.mp1) & KC_KEYUP) == KC_KEYUP))747 if(!teb->o.odin.fTranslated && teb->o.odin.os2msg.msg == WM_CHAR && !((SHORT1FROMMP(teb->o.odin.os2msg.mp1) & KC_KEYUP) == KC_KEYUP)) 744 748 {//TranslatedMessage was called before DispatchMessage, so queue WM_CHAR message 745 ULONG fl = SHORT1FROMMP(t hdb->os2msg.mp1);749 ULONG fl = SHORT1FROMMP(teb->o.odin.os2msg.mp1); 746 750 MSG extramsg; 747 751 748 752 memcpy(&extramsg, msg, sizeof(MSG)); 749 extramsg.wParam = SHORT1FROMMP(t hdb->os2msg.mp2);753 extramsg.wParam = SHORT1FROMMP(teb->o.odin.os2msg.mp2); 750 754 extramsg.lParam = 0; 751 755 … … 757 761 if(msg->wParam) 758 762 extramsg.wParam = msg->wParam; 759 else extramsg.wParam = SHORT2FROMMP(t hdb->os2msg.mp2);763 else extramsg.wParam = SHORT2FROMMP(teb->o.odin.os2msg.mp2); 760 764 } 761 765 … … 778 782 extramsg.lParam |= (1<<31); 779 783 780 t hdb->fTranslated = TRUE;781 memcpy(&t hdb->msgWCHAR, &extramsg, sizeof(MSG));784 teb->o.odin.fTranslated = TRUE; 785 memcpy(&teb->o.odin.msgWCHAR, &extramsg, sizeof(MSG)); 782 786 return TRUE; 783 787 }
Note:
See TracChangeset
for help on using the changeset viewer.