mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
don't use the window region when minimized
svn path=/trunk/; revision=8850
This commit is contained in:
parent
4e955d6423
commit
4a2de9a81c
4 changed files with 21 additions and 20 deletions
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: painting.c,v 1.78 2004/03/23 11:20:58 gvg Exp $
|
||||
* $Id: painting.c,v 1.79 2004/03/23 18:08:07 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -213,7 +213,7 @@ IntInvalidateWindows(PWINDOW_OBJECT Window, HRGN hRgn, ULONG Flags)
|
|||
*/
|
||||
|
||||
IntLockWindowUpdate(Window);
|
||||
if (!Window->WindowRegion)
|
||||
if (!Window->WindowRegion || (Window->Style & WS_MINIMIZE))
|
||||
{
|
||||
HRGN hRgnWindow;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: vis.c,v 1.24 2004/03/23 16:32:20 weiden Exp $
|
||||
* $Id: vis.c,v 1.25 2004/03/23 18:08:07 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -104,7 +104,7 @@ VIS_ComputeVisibleRegion(
|
|||
{
|
||||
ClipRgn = UnsafeIntCreateRectRgnIndirect(&CurrentSibling->WindowRect);
|
||||
/* Combine it with the window region if available */
|
||||
if(CurrentSibling->WindowRegion)
|
||||
if(CurrentSibling->WindowRegion && !(CurrentSibling->Style & WS_MINIMIZE))
|
||||
{
|
||||
NtGdiOffsetRgn(ClipRgn, -CurrentSibling->WindowRect.left, -CurrentSibling->WindowRect.top);
|
||||
NtGdiCombineRgn(ClipRgn, ClipRgn, CurrentSibling->WindowRegion, RGN_AND);
|
||||
|
@ -133,7 +133,7 @@ VIS_ComputeVisibleRegion(
|
|||
{
|
||||
ClipRgn = UnsafeIntCreateRectRgnIndirect(&CurrentWindow->WindowRect);
|
||||
/* Combine it with the window region if available */
|
||||
if(CurrentWindow->WindowRegion)
|
||||
if(CurrentWindow->WindowRegion && !(CurrentWindow->Style & WS_MINIMIZE))
|
||||
{
|
||||
NtGdiOffsetRgn(ClipRgn, -CurrentWindow->WindowRect.left, -CurrentWindow->WindowRect.top);
|
||||
NtGdiCombineRgn(ClipRgn, ClipRgn, CurrentWindow->WindowRegion, RGN_AND);
|
||||
|
@ -147,7 +147,7 @@ VIS_ComputeVisibleRegion(
|
|||
IntUnLockRelatives(Window);
|
||||
}
|
||||
|
||||
if(Window->WindowRegion)
|
||||
if(Window->WindowRegion && !(Window->Style & WS_MINIMIZE))
|
||||
{
|
||||
NtGdiOffsetRgn(VisRgn, -LeftOffset, -TopOffset);
|
||||
NtGdiCombineRgn(VisRgn, VisRgn, Window->WindowRegion, RGN_AND);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: windc.c,v 1.60 2004/03/23 16:32:20 weiden Exp $
|
||||
/* $Id: windc.c,v 1.61 2004/03/23 18:08:07 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -485,7 +485,7 @@ NtUserGetDCEx(HWND hWnd, HANDLE ClipRegion, ULONG Flags)
|
|||
if (Dce->hClipRgn && Window->UpdateRegion)
|
||||
{
|
||||
NtGdiCombineRgn(Dce->hClipRgn, Window->UpdateRegion, NULL, RGN_COPY);
|
||||
if(Window->WindowRegion)
|
||||
if(Window->WindowRegion && !(Window->Style & WS_MINIMIZE))
|
||||
NtGdiCombineRgn(Dce->hClipRgn, Dce->hClipRgn, Window->WindowRegion, RGN_AND);
|
||||
if (!(Flags & DCX_WINDOW))
|
||||
{
|
||||
|
@ -502,24 +502,24 @@ NtUserGetDCEx(HWND hWnd, HANDLE ClipRegion, ULONG Flags)
|
|||
if (!(Flags & DCX_WINDOW))
|
||||
{
|
||||
Dce->hClipRgn = UnsafeIntCreateRectRgnIndirect(&Window->ClientRect);
|
||||
if(Window->WindowRegion)
|
||||
if(!Window->WindowRegion || (Window->Style & WS_MINIMIZE))
|
||||
{
|
||||
NtGdiOffsetRgn(Dce->hClipRgn, -Window->ClientRect.left, -Window->ClientRect.top);
|
||||
}
|
||||
else
|
||||
{
|
||||
NtGdiOffsetRgn(Dce->hClipRgn, -Window->WindowRect.left, -Window->WindowRect.top);
|
||||
NtGdiCombineRgn(Dce->hClipRgn, Dce->hClipRgn, Window->WindowRegion, RGN_AND);
|
||||
NtGdiOffsetRgn(Dce->hClipRgn, -(Window->ClientRect.left - Window->WindowRect.left),
|
||||
-(Window->ClientRect.top - Window->WindowRect.top));
|
||||
}
|
||||
else
|
||||
{
|
||||
NtGdiOffsetRgn(Dce->hClipRgn, -Window->ClientRect.left, -Window->ClientRect.top);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Dce->hClipRgn = UnsafeIntCreateRectRgnIndirect(&Window->WindowRect);
|
||||
NtGdiOffsetRgn(Dce->hClipRgn, -Window->WindowRect.left,
|
||||
-Window->WindowRect.top);
|
||||
if(Window->WindowRegion)
|
||||
if(Window->WindowRegion && !(Window->Style & WS_MINIMIZE))
|
||||
NtGdiCombineRgn(Dce->hClipRgn, Dce->hClipRgn, Window->WindowRegion, RGN_AND);
|
||||
}
|
||||
}
|
||||
|
@ -528,10 +528,10 @@ NtUserGetDCEx(HWND hWnd, HANDLE ClipRegion, ULONG Flags)
|
|||
Dce->hClipRgn = NtGdiCreateRectRgn(0, 0, 0, 0);
|
||||
if (Dce->hClipRgn)
|
||||
{
|
||||
if(Window->WindowRegion)
|
||||
NtGdiCombineRgn(Dce->hClipRgn, ClipRegion, Window->WindowRegion, RGN_AND);
|
||||
else
|
||||
if(!Window->WindowRegion || (Window->Style & WS_MINIMIZE))
|
||||
NtGdiCombineRgn(Dce->hClipRgn, ClipRegion, NULL, RGN_COPY);
|
||||
else
|
||||
NtGdiCombineRgn(Dce->hClipRgn, ClipRegion, Window->WindowRegion, RGN_AND);
|
||||
}
|
||||
NtGdiDeleteObject(ClipRegion);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: winpos.c,v 1.103 2004/03/23 16:32:20 weiden Exp $
|
||||
/* $Id: winpos.c,v 1.104 2004/03/23 18:08:07 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -1338,8 +1338,9 @@ WinPosSearchChildren(PWINDOW_OBJECT ScopeWin, BOOL SendHitTestMessage, POINT *Po
|
|||
Point->x < Current->WindowRect.right &&
|
||||
Point->y >= Current->WindowRect.top &&
|
||||
Point->y < Current->WindowRect.bottom) &&
|
||||
(!Current->WindowRegion || NtGdiPtInRegion(Current->WindowRegion,
|
||||
(INT)(Point->x - Current->WindowRect.left), (INT)(Point->y - Current->WindowRect.top)))
|
||||
(!Current->WindowRegion || (Current->Style & WS_MINIMIZE) ||
|
||||
NtGdiPtInRegion(Current->WindowRegion, (INT)(Point->x - Current->WindowRect.left),
|
||||
(INT)(Point->y - Current->WindowRect.top)))
|
||||
)
|
||||
{
|
||||
if(*Window)
|
||||
|
|
Loading…
Reference in a new issue