Add new examples for retrieving DC origin.

svn path=/trunk/; revision=33015
This commit is contained in:
James Tabor 2008-04-18 02:23:38 +00:00
parent 21a34d3ba5
commit 6449849098
2 changed files with 28 additions and 5 deletions

View file

@ -97,7 +97,7 @@ typedef struct _DC
HDC hNext;
HDC hPrev;
RECTL erclClip;
POINTL ptlSaveFillOrig;
POINTL ptlDCOrig;
RECTL erclWindow;
RECTL erclBounds;
RECTL erclBoundsApp;

View file

@ -1116,8 +1116,8 @@ IntGdiGetDCOrgEx(DC *dc, LPPOINT Point)
LONG FASTCALL
IntCalcFillOrigin(PDC pdc)
{
pdc->ptlFillOrigin.x = pdc->DcLevel.ptlBrushOrigin.x + pdc->ptlSaveFillOrig.x;
pdc->ptlFillOrigin.y = pdc->DcLevel.ptlBrushOrigin.y + pdc->ptlSaveFillOrig.y;
pdc->ptlFillOrigin.x = pdc->DcLevel.ptlBrushOrigin.x + pdc->ptlDCOrig.x;
pdc->ptlFillOrigin.y = pdc->DcLevel.ptlBrushOrigin.y + pdc->ptlDCOrig.y;
return pdc->ptlFillOrigin.y;
}
@ -1131,8 +1131,8 @@ GdiSetDCOrg(HDC hDC, LONG Left, LONG Top, PRECTL prc)
pdc = DC_LockDc(hDC);
if (!pdc) return;
pdc->ptlSaveFillOrig.x = Left;
pdc->ptlSaveFillOrig.y = Top;
pdc->ptlDCOrig.x = Left;
pdc->ptlDCOrig.y = Top;
IntCalcFillOrigin(pdc);
@ -1141,6 +1141,29 @@ GdiSetDCOrg(HDC hDC, LONG Left, LONG Top, PRECTL prc)
DC_UnlockDc(pdc);
}
BOOL FASTCALL
IntGdiGetDCOrg(PDC pDc, PPOINTL ppt)
{
*ppt = pDc->ptlDCOrig;
return TRUE;
}
BOOL STDCALL
GdiGetDCOrgEx(HDC hDC, PPOINTL ppt, PRECTL prc)
{
PDC pdc;
pdc = DC_LockDc(hDC);
if (!pdc) return FALSE;
*prc = pdc->erclWindow;
*ppt = pdc->ptlDCOrig;
DC_UnlockDc(pdc);
return TRUE;
}
BOOL FASTCALL
IntGetAspectRatioFilter(PDC pDC,
LPSIZE AspectRatio)