mirror of
https://github.com/reactos/reactos.git
synced 2025-07-23 12:54:02 +00:00
Use IntLPtoDP instead of NtGdiLPtoDP since kernel addresses are passed
svn path=/trunk/; revision=7559
This commit is contained in:
parent
449966544c
commit
ad5496bb9b
1 changed files with 20 additions and 5 deletions
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Id: painting.c,v 1.57 2003/12/30 18:19:20 weiden Exp $
|
* $Id: painting.c,v 1.58 2004/01/10 21:59:05 gvg Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -798,6 +798,7 @@ NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* lPs)
|
||||||
RECT ClientRect;
|
RECT ClientRect;
|
||||||
RECT ClipRect;
|
RECT ClipRect;
|
||||||
INT DcxFlags;
|
INT DcxFlags;
|
||||||
|
PDC DC;
|
||||||
|
|
||||||
if (!(Window = IntGetWindowObject(hWnd)))
|
if (!(Window = IntGetWindowObject(hWnd)))
|
||||||
{
|
{
|
||||||
|
@ -838,7 +839,14 @@ NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* lPs)
|
||||||
|
|
||||||
IntGetClientRect(Window, &ClientRect);
|
IntGetClientRect(Window, &ClientRect);
|
||||||
IntGdiGetClipBox(lPs->hdc, &ClipRect);
|
IntGdiGetClipBox(lPs->hdc, &ClipRect);
|
||||||
NtGdiLPtoDP(lPs->hdc, (LPPOINT)&ClipRect, 2);
|
DC = DC_LockDc(lPs->hdc);
|
||||||
|
if (NULL == DC)
|
||||||
|
{
|
||||||
|
IntReleaseWindowObject(Window);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
IntLPtoDP(DC, (LPPOINT)&ClipRect, 2);
|
||||||
|
DC_UnlockDc(lPs->hdc);
|
||||||
NtGdiIntersectRect(&lPs->rcPaint, &ClientRect, &ClipRect);
|
NtGdiIntersectRect(&lPs->rcPaint, &ClientRect, &ClipRect);
|
||||||
NtGdiDPtoLP(lPs->hdc, (LPPOINT)&lPs->rcPaint, 2);
|
NtGdiDPtoLP(lPs->hdc, (LPPOINT)&lPs->rcPaint, 2);
|
||||||
|
|
||||||
|
@ -1049,30 +1057,37 @@ NtUserScrollDC(HDC hDC, INT dx, INT dy, const RECT *lprcScroll,
|
||||||
const RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate)
|
const RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate)
|
||||||
{
|
{
|
||||||
RECT rSrc, rClipped_src, rClip, rDst, offset;
|
RECT rSrc, rClipped_src, rClip, rDst, offset;
|
||||||
|
PDC DC;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute device clipping region (in device coordinates).
|
* Compute device clipping region (in device coordinates).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
DC = DC_LockDc(hDC);
|
||||||
|
if (NULL == DC)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
if (lprcScroll)
|
if (lprcScroll)
|
||||||
rSrc = *lprcScroll;
|
rSrc = *lprcScroll;
|
||||||
else
|
else
|
||||||
IntGdiGetClipBox(hDC, &rSrc);
|
IntGdiGetClipBox(hDC, &rSrc);
|
||||||
NtGdiLPtoDP(hDC, (LPPOINT)&rSrc, 2);
|
IntLPtoDP(DC, (LPPOINT)&rSrc, 2);
|
||||||
|
|
||||||
if (lprcClip)
|
if (lprcClip)
|
||||||
rClip = *lprcClip;
|
rClip = *lprcClip;
|
||||||
else
|
else
|
||||||
IntGdiGetClipBox(hDC, &rClip);
|
IntGdiGetClipBox(hDC, &rClip);
|
||||||
NtGdiLPtoDP(hDC, (LPPOINT)&rClip, 2);
|
IntLPtoDP(DC, (LPPOINT)&rClip, 2);
|
||||||
|
|
||||||
NtGdiIntersectRect(&rClipped_src, &rSrc, &rClip);
|
NtGdiIntersectRect(&rClipped_src, &rSrc, &rClip);
|
||||||
|
|
||||||
rDst = rClipped_src;
|
rDst = rClipped_src;
|
||||||
NtGdiSetRect(&offset, 0, 0, dx, dy);
|
NtGdiSetRect(&offset, 0, 0, dx, dy);
|
||||||
NtGdiLPtoDP(hDC, (LPPOINT)&offset, 2);
|
IntLPtoDP(DC, (LPPOINT)&offset, 2);
|
||||||
NtGdiOffsetRect(&rDst, offset.right - offset.left, offset.bottom - offset.top);
|
NtGdiOffsetRect(&rDst, offset.right - offset.left, offset.bottom - offset.top);
|
||||||
NtGdiIntersectRect(&rDst, &rDst, &rClip);
|
NtGdiIntersectRect(&rDst, &rDst, &rClip);
|
||||||
|
DC_UnlockDc(hDC);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copy bits, if possible.
|
* Copy bits, if possible.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue