Changeset 5655 for trunk/src/user32/win32wbasepos.cpp
- Timestamp:
- May 4, 2001, 7:02:52 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/win32wbasepos.cpp
r5258 r5655 1 /* $Id: win32wbasepos.cpp,v 1.2 2 2001-02-23 14:52:42 sandervl Exp $ */1 /* $Id: win32wbasepos.cpp,v 1.23 2001-05-04 17:02:52 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 (nonclient/position methods) … … 153 153 154 154 /* Send WM_NCCALCSIZE message to get new client area */ 155 if((winpos->flags & (SWP_FRAMECHANGED | SWP_NOSIZE)) != SWP_NOSIZE ) 155 params.rgrc[0] = *newWindowRect; 156 if(calcValidRect) 156 157 { 157 params.rgrc[0] = *newWindowRect; 158 if(calcValidRect) 159 { 160 winposCopy = *winpos; 161 params.rgrc[1] = *oldWindowRect; 162 params.rgrc[2] = *oldClientRect; 163 //client rectangel must be in parent coordinates 164 OffsetRect(¶ms.rgrc[2], rectWindow.left, rectWindow.top); 165 166 params.lppos = &winposCopy; 167 } 168 result = SendInternalMessageA(WM_NCCALCSIZE, calcValidRect, (LPARAM)¶ms ); 169 170 /* If the application send back garbage, ignore it */ 171 if(params.rgrc[0].left <= params.rgrc[0].right && params.rgrc[0].top <= params.rgrc[0].bottom) 172 { 173 *newClientRect = params.rgrc[0]; 174 //client rectangle now in parent coordinates; convert to 'frame' coordinates 175 OffsetRect(newClientRect, -rectWindow.left, -rectWindow.top); 176 } 177 178 /* FIXME: WVR_ALIGNxxx */ 179 if(newClientRect->left != rectClient.left || newClientRect->top != rectClient.top) 180 winpos->flags &= ~SWP_NOCLIENTMOVE; 181 182 if((newClientRect->right - newClientRect->left != rectClient.right - rectClient.left) || 183 (newClientRect->bottom - newClientRect->top != rectClient.bottom - rectClient.top)) 184 winpos->flags &= ~SWP_NOCLIENTSIZE; 185 158 winposCopy = *winpos; 159 params.rgrc[1] = *oldWindowRect; 160 params.rgrc[2] = *oldClientRect; 161 //client rectangel must be in parent coordinates 162 OffsetRect(¶ms.rgrc[2], rectWindow.left, rectWindow.top); 163 164 params.lppos = &winposCopy; 186 165 } 187 else 188 if(!(winpos->flags & SWP_NOMOVE) && 189 (newClientRect->left != rectClient.left || newClientRect->top != rectClient.top)) { 190 winpos->flags &= ~SWP_NOCLIENTMOVE; 166 result = SendInternalMessageA(WM_NCCALCSIZE, calcValidRect, (LPARAM)¶ms ); 167 168 /* If the application send back garbage, ignore it */ 169 if(params.rgrc[0].left <= params.rgrc[0].right && params.rgrc[0].top <= params.rgrc[0].bottom) 170 { 171 *newClientRect = params.rgrc[0]; 172 //client rectangle now in parent coordinates; convert to 'frame' coordinates 173 OffsetRect(newClientRect, -rectWindow.left, -rectWindow.top); 191 174 } 175 176 /* FIXME: WVR_ALIGNxxx */ 177 if(newClientRect->left != rectClient.left || newClientRect->top != rectClient.top) 178 winpos->flags &= ~SWP_NOCLIENTMOVE; 179 180 if((newClientRect->right - newClientRect->left != rectClient.right - rectClient.left) || 181 (newClientRect->bottom - newClientRect->top != rectClient.bottom - rectClient.top)) 182 winpos->flags &= ~SWP_NOCLIENTSIZE; 183 192 184 return result; 193 185 }
Note:
See TracChangeset
for help on using the changeset viewer.