Author: jimtabor Date: Mon Jun 2 12:53:53 2008 New Revision: 33828
URL: http://svn.reactos.org/svn/reactos?rev=33828&view=rev Log: Stefan Ginsberg <stefan__100__ at hotmail.com> - Remove old DCOrg and replace it with ptlDCOrig.
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h trunk/reactos/subsystems/win32/win32k/include/intgdi.h trunk/reactos/subsystems/win32/win32k/ntuser/windc.c trunk/reactos/subsystems/win32/win32k/objects/bitblt.c trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c trunk/reactos/subsystems/win32/win32k/objects/dc.c trunk/reactos/subsystems/win32/win32k/objects/fillshap.c trunk/reactos/subsystems/win32/win32k/objects/line.c trunk/reactos/subsystems/win32/win32k/objects/region.c trunk/reactos/subsystems/win32/win32k/objects/text.c
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/dc.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/dc.h [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -64,11 +64,7 @@ GdiPath path; /* #endif */
- RECT totalExtent; BYTE bitsPerPixel; - - INT DCOrgX; /* DC origin */ - INT DCOrgY;
XFORM xformWorld2Wnd; /* World-to-window transformation */ XFORM xformWorld2Vport; /* World-to-viewport transformation */
Modified: trunk/reactos/subsystems/win32/win32k/include/intgdi.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/intgdi.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/intgdi.h [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -135,7 +135,7 @@ /* DC functions */
BOOL FASTCALL -IntGdiGetDCOrgEx(DC *dc, LPPOINT Point); +IntGdiGetDCOrg(PDC pDC, PPOINTL pPointl);
INT FASTCALL IntGdiGetObject(HANDLE handle, INT count, LPVOID buffer);
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/windc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/windc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/windc.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -167,21 +167,21 @@
if (Window == NULL) { - dc->w.DCOrgX = 0; - dc->w.DCOrgY = 0; + dc->ptlDCOrig.x = 0; + dc->ptlDCOrig.y = 0; } else { Wnd = Window->Wnd; if (Flags & DCX_WINDOW) { - dc->w.DCOrgX = Wnd->WindowRect.left; - dc->w.DCOrgY = Wnd->WindowRect.top; + dc->ptlDCOrig.x = Wnd->WindowRect.left; + dc->ptlDCOrig.y = Wnd->WindowRect.top; } else { - dc->w.DCOrgX = Wnd->ClientRect.left; - dc->w.DCOrgY = Wnd->ClientRect.top; + dc->ptlDCOrig.x = Wnd->ClientRect.left; + dc->ptlDCOrig.y = Wnd->ClientRect.top; } } DC_UnlockDc(dc); @@ -726,17 +726,17 @@ { if (pDCE->DCXFlags & DCX_WINDOW) { - DeltaX = CurrentWindow->Wnd->WindowRect.left - dc->w.DCOrgX; - DeltaY = CurrentWindow->Wnd->WindowRect.top - dc->w.DCOrgY; - dc->w.DCOrgX = CurrentWindow->Wnd->WindowRect.left; - dc->w.DCOrgY = CurrentWindow->Wnd->WindowRect.top; + DeltaX = CurrentWindow->Wnd->WindowRect.left - dc->ptlDCOrig.x; + DeltaY = CurrentWindow->Wnd->WindowRect.top - dc->ptlDCOrig.y; + dc->ptlDCOrig.x = CurrentWindow->Wnd->WindowRect.left; + dc->ptlDCOrig.y = CurrentWindow->Wnd->WindowRect.top; } else { - DeltaX = CurrentWindow->Wnd->ClientRect.left - dc->w.DCOrgX; - DeltaY = CurrentWindow->Wnd->ClientRect.top - dc->w.DCOrgY; - dc->w.DCOrgX = CurrentWindow->Wnd->ClientRect.left; - dc->w.DCOrgY = CurrentWindow->Wnd->ClientRect.top; + DeltaX = CurrentWindow->Wnd->ClientRect.left - dc->ptlDCOrig.x; + DeltaY = CurrentWindow->Wnd->ClientRect.top - dc->ptlDCOrig.y; + dc->ptlDCOrig.x = CurrentWindow->Wnd->ClientRect.left; + dc->ptlDCOrig.y = CurrentWindow->Wnd->ClientRect.top; } if (NULL != dc->w.hClipRgn) {
Modified: trunk/reactos/subsystems/win32/win32k/objects/bitblt.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -87,10 +87,10 @@ }
/* Offset the destination and source by the origin of their DCs. */ - XOriginDest += DCDest->w.DCOrgX; - YOriginDest += DCDest->w.DCOrgY; - XOriginSrc += DCSrc->w.DCOrgX; - YOriginSrc += DCSrc->w.DCOrgY; + XOriginDest += DCDest->ptlDCOrig.x; + YOriginDest += DCDest->ptlDCOrig.y; + XOriginSrc += DCSrc->ptlDCOrig.x; + YOriginSrc += DCSrc->ptlDCOrig.y;
DestRect.left = XOriginDest; DestRect.top = YOriginDest; @@ -228,12 +228,12 @@ if (!Dc_Attr) Dc_Attr = &DCDest->Dc_Attr;
/* Offset the destination and source by the origin of their DCs. */ - XDest += DCDest->w.DCOrgX; - YDest += DCDest->w.DCOrgY; + XDest += DCDest->ptlDCOrig.x; + YDest += DCDest->ptlDCOrig.y; if (UsesSource) { - XSrc += DCSrc->w.DCOrgX; - YSrc += DCSrc->w.DCOrgY; + XSrc += DCSrc->ptlDCOrig.x; + YSrc += DCSrc->ptlDCOrig.y; }
DestRect.left = XDest; @@ -392,10 +392,10 @@ }
/* Offset positions */ - xDst += DCDest->w.DCOrgX; - yDst += DCDest->w.DCOrgY; - xSrc += DCSrc->w.DCOrgX; - ySrc += DCSrc->w.DCOrgY; + xDst += DCDest->ptlDCOrig.x; + yDst += DCDest->ptlDCOrig.y; + xSrc += DCSrc->ptlDCOrig.x; + ySrc += DCSrc->ptlDCOrig.y;
BitmapDest = BITMAPOBJ_LockBitmap(DCDest->w.hBitmap); if (!BitmapDest) @@ -796,13 +796,13 @@ }
/* Offset the destination and source by the origin of their DCs. */ - // FIXME: DCOrg is in device coordinates! - XOriginDest += DCDest->w.DCOrgX; - YOriginDest += DCDest->w.DCOrgY; + // FIXME: ptlDCOrig is in device coordinates! + XOriginDest += DCDest->ptlDCOrig.x; + YOriginDest += DCDest->ptlDCOrig.y; if (UsesSource) { - XOriginSrc += DCSrc->w.DCOrgX; - YOriginSrc += DCSrc->w.DCOrgY; + XOriginSrc += DCSrc->ptlDCOrig.x; + YOriginSrc += DCSrc->ptlDCOrig.y; }
DestRect.left = XOriginDest; @@ -964,30 +964,30 @@ { if (Width > 0) { - DestRect.left = XLeft + dc->w.DCOrgX; - DestRect.right = XLeft + Width + dc->w.DCOrgX; + DestRect.left = XLeft + dc->ptlDCOrig.x; + DestRect.right = XLeft + Width + dc->ptlDCOrig.x; } else { - DestRect.left = XLeft + Width + 1 + dc->w.DCOrgX; - DestRect.right = XLeft + dc->w.DCOrgX + 1; + DestRect.left = XLeft + Width + 1 + dc->ptlDCOrig.x; + DestRect.right = XLeft + dc->ptlDCOrig.x + 1; }
if (Height > 0) { - DestRect.top = YLeft + dc->w.DCOrgY; - DestRect.bottom = YLeft + Height + dc->w.DCOrgY; + DestRect.top = YLeft + dc->ptlDCOrig.y; + DestRect.bottom = YLeft + Height + dc->ptlDCOrig.y; } else { - DestRect.top = YLeft + Height + dc->w.DCOrgY + 1; - DestRect.bottom = YLeft + dc->w.DCOrgY + 1; + DestRect.top = YLeft + Height + dc->ptlDCOrig.y + 1; + DestRect.bottom = YLeft + dc->ptlDCOrig.y + 1; }
IntLPtoDP(dc, (LPPOINT)&DestRect, 2);
- BrushOrigin.x = BrushObj->ptOrigin.x + dc->w.DCOrgX; - BrushOrigin.y = BrushObj->ptOrigin.y + dc->w.DCOrgY; + BrushOrigin.x = BrushObj->ptOrigin.x + dc->ptlDCOrig.x; + BrushOrigin.y = BrushObj->ptOrigin.y + dc->ptlDCOrig.y;
IntGdiInitBrushInstance(&BrushInst, BrushObj, dc->XlateBrush);
Modified: trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -256,8 +256,8 @@ DC_UnlockDc(dc); return Result; } - XPos += dc->w.DCOrgX; - YPos += dc->w.DCOrgY; + XPos += dc->ptlDCOrig.x; + YPos += dc->ptlDCOrig.y; if ( IN_RECT(dc->CombinedClip->rclBounds,XPos,YPos) ) { bInRect = TRUE;
Modified: trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/cliprgn.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -34,7 +34,7 @@ NtGdiCombineRgn(Dc->w.hGCClipRgn, Dc->w.hVisRgn, 0, RGN_COPY); else NtGdiCombineRgn(Dc->w.hGCClipRgn, Dc->w.hClipRgn, Dc->w.hVisRgn, RGN_AND); - NtGdiOffsetRgn(Dc->w.hGCClipRgn, Dc->w.DCOrgX, Dc->w.DCOrgY); + NtGdiOffsetRgn(Dc->w.hGCClipRgn, Dc->ptlDCOrig.x, Dc->ptlDCOrig.y);
if((CombinedRegion = REGION_LockRgn(Dc->w.hGCClipRgn))) { @@ -55,7 +55,7 @@ return ERROR; }
- return NtGdiOffsetRgn(Dc->w.hGCClipRgn, -Dc->w.DCOrgX, -Dc->w.DCOrgY); + return NtGdiOffsetRgn(Dc->w.hGCClipRgn, -Dc->ptlDCOrig.x, -Dc->ptlDCOrig.y); }
INT FASTCALL @@ -86,7 +86,7 @@ retval = NtGdiCombineRgn(dc->w.hVisRgn, hrgn, 0, RGN_COPY); if ( retval != ERROR ) { - NtGdiOffsetRgn(dc->w.hVisRgn, -dc->w.DCOrgX, -dc->w.DCOrgY); + NtGdiOffsetRgn(dc->w.hVisRgn, -dc->ptlDCOrig.x, -dc->ptlDCOrig.y); CLIPPING_UpdateGCRegion(dc); } DC_UnlockDc(dc);
Modified: trunk/reactos/subsystems/win32/win32k/objects/dc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dc.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -1134,15 +1134,6 @@ return SelObject; }
-BOOL FASTCALL -IntGdiGetDCOrgEx(DC *dc, LPPOINT Point) -{ - Point->x = dc->w.DCOrgX; - Point->y = dc->w.DCOrgY; - - return TRUE; -} - LONG FASTCALL IntCalcFillOrigin(PDC pdc) { @@ -1261,7 +1252,7 @@ IntGetWindowOrgEx(dc, &SafePoint); break; case GdiGetDCOrg: - Ret = IntGdiGetDCOrgEx(dc, &SafePoint); + Ret = IntGdiGetDCOrg(dc, &SafePoint); break; case GdiGetAspectRatioFilter: Ret = IntGetAspectRatioFilter(dc, &Size); @@ -1319,7 +1310,6 @@ nDc_Attr->hlfntNew = Dc_Attr->hlfntNew; newdc->w.hBitmap = dc->w.hBitmap; newdc->DcLevel.hpal = dc->DcLevel.hpal; - newdc->w.totalExtent = dc->w.totalExtent; newdc->w.bitsPerPixel = dc->w.bitsPerPixel; nDc_Attr->jROP2 = Dc_Attr->jROP2; nDc_Attr->jFillMode = Dc_Attr->jFillMode; @@ -1340,8 +1330,8 @@ nDc_Attr->iGraphicsMode = Dc_Attr->iGraphicsMode; #if 0 /* Apparently, the DC origin is not changed by [GS]etDCState */ - newdc->w.DCOrgX = dc->w.DCOrgX; - newdc->w.DCOrgY = dc->w.DCOrgY; + newdc->ptlDCOrig.x = dc->ptlDCOrig.x; + newdc->ptlDCOrig.y = dc->ptlDCOrig.y; #endif nDc_Attr->ptlCurrent = Dc_Attr->ptlCurrent; nDc_Attr->ptfxCurrent = Dc_Attr->ptfxCurrent; @@ -1387,7 +1377,6 @@ dc->DcLevel.flPath = dcs->DcLevel.flPath & ~DCPATH_SAVE;
Dc_Attr->dwLayout = sDc_Attr->dwLayout; - dc->w.totalExtent = dcs->w.totalExtent; Dc_Attr->jROP2 = sDc_Attr->jROP2; Dc_Attr->jFillMode = sDc_Attr->jFillMode; Dc_Attr->jStretchBltMode = sDc_Attr->jStretchBltMode; @@ -1408,8 +1397,8 @@ Dc_Attr->iGraphicsMode = sDc_Attr->iGraphicsMode; #if 0 /* Apparently, the DC origin is not changed by [GS]etDCState */ - dc->w.DCOrgX = dcs->w.DCOrgX; - dc->w.DCOrgY = dcs->w.DCOrgY; + dc->ptlDCOrig.x = dcs->ptlDCOrig.x; + dc->ptlDCOrig.y = dcs->ptlDCOrig.y; #endif Dc_Attr->ptlCurrent = sDc_Attr->ptlCurrent; Dc_Attr->ptfxCurrent = sDc_Attr->ptfxCurrent;
Modified: trunk/reactos/subsystems/win32/win32k/objects/fillshap.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/fillshap.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/fillshap.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -73,8 +73,8 @@ IntLPtoDP(dc, UnsafePoints, Count); for (CurrentPoint = 0; CurrentPoint < Count; CurrentPoint++) { - UnsafePoints[CurrentPoint].x += dc->w.DCOrgX; - UnsafePoints[CurrentPoint].y += dc->w.DCOrgY; + UnsafePoints[CurrentPoint].x += dc->ptlDCOrig.x; + UnsafePoints[CurrentPoint].y += dc->ptlDCOrig.y; }
if (PATH_IsPathOpen(dc->w.path)) @@ -273,10 +273,10 @@
IntLPtoDP(dc, (LPPOINT)&RectBounds, 2);
- RectBounds.left += dc->w.DCOrgX; - RectBounds.right += dc->w.DCOrgX; - RectBounds.top += dc->w.DCOrgY; - RectBounds.bottom += dc->w.DCOrgY; + RectBounds.left += dc->ptlDCOrig.x; + RectBounds.right += dc->ptlDCOrig.x; + RectBounds.top += dc->ptlDCOrig.y; + RectBounds.bottom += dc->ptlDCOrig.y;
RadiusX = max((RectBounds.right - RectBounds.left) >> 1, 1); RadiusY = max((RectBounds.bottom - RectBounds.top) >> 1, 1); @@ -683,14 +683,14 @@ return FALSE; }
- Left += dc->w.DCOrgX; - Right += dc->w.DCOrgX; - Top += dc->w.DCOrgY; - Bottom += dc->w.DCOrgY; - XRadialStart += dc->w.DCOrgX; - YRadialStart += dc->w.DCOrgY; - XRadialEnd += dc->w.DCOrgX; - YRadialEnd += dc->w.DCOrgY; + Left += dc->ptlDCOrig.x; + Right += dc->ptlDCOrig.x; + Top += dc->ptlDCOrig.y; + Bottom += dc->ptlDCOrig.y; + XRadialStart += dc->ptlDCOrig.x; + YRadialStart += dc->ptlDCOrig.y; + XRadialEnd += dc->ptlDCOrig.x; + YRadialEnd += dc->ptlDCOrig.y;
RectBounds.left = Left; RectBounds.right = Right; @@ -1047,10 +1047,10 @@ } else { - LeftRect += dc->w.DCOrgX; - RightRect += dc->w.DCOrgX - 1; - TopRect += dc->w.DCOrgY; - BottomRect += dc->w.DCOrgY - 1; + LeftRect += dc->ptlDCOrig.x; + RightRect += dc->ptlDCOrig.x - 1; + TopRect += dc->ptlDCOrig.y; + BottomRect += dc->ptlDCOrig.y - 1;
DestRect.left = LeftRect; DestRect.right = RightRect; @@ -1207,10 +1207,10 @@ xradius = xCurveDiameter >> 1; yradius = yCurveDiameter >> 1;
- left += dc->w.DCOrgX; - right += dc->w.DCOrgX; - top += dc->w.DCOrgY; - bottom += dc->w.DCOrgY; + left += dc->ptlDCOrig.x; + right += dc->ptlDCOrig.x; + top += dc->ptlDCOrig.y; + bottom += dc->ptlDCOrig.y;
RectBounds.left = left; RectBounds.right = right; @@ -1540,8 +1540,8 @@ Extent.bottom = max(Extent.bottom, (pVertex + i)->y); }
- DitherOrg.x = dc->w.DCOrgX; - DitherOrg.y = dc->w.DCOrgY; + DitherOrg.x = dc->ptlDCOrig.x; + DitherOrg.y = dc->ptlDCOrig.y; Extent.left += DitherOrg.x; Extent.right += DitherOrg.x; Extent.top += DitherOrg.y;
Modified: trunk/reactos/subsystems/win32/win32k/objects/line.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/line.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/line.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -130,10 +130,10 @@ IntLPtoDP(dc, Points, 2);
/* The DCOrg is in device coordinates */ - Points[0].x += dc->w.DCOrgX; - Points[0].y += dc->w.DCOrgY; - Points[1].x += dc->w.DCOrgX; - Points[1].y += dc->w.DCOrgY; + Points[0].x += dc->ptlDCOrig.x; + Points[0].y += dc->ptlDCOrig.y; + Points[1].x += dc->ptlDCOrig.x; + Points[1].y += dc->ptlDCOrig.y;
Bounds.left = min(Points[0].x, Points[1].x); Bounds.top = min(Points[0].y, Points[1].y); @@ -281,8 +281,8 @@ /* Offset the array of point by the dc->w.DCOrg */ for (i = 0; i < Count; i++) { - Points[i].x += dc->w.DCOrgX; - Points[i].y += dc->w.DCOrgY; + Points[i].x += dc->ptlDCOrig.x; + Points[i].y += dc->ptlDCOrig.y; }
IntGdiInitBrushInstance(&PenBrushInst, PenBrushObj, dc->XlatePen);
Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -2645,7 +2645,7 @@ } if (iCode == SYSRGN) { - IntGdiGetDCOrgEx(pDC, &org); + IntGdiGetDCOrg(pDC, &org); NtGdiOffsetRgn(hDest, org.x, org.y ); }
@@ -2828,7 +2828,7 @@
/* ei enable later // Transform region into device co-ords - if (!REGION_LPTODP(hDC, tmpVisRgn, hRgn) || NtGdiOffsetRgn(tmpVisRgn, dc->w.DCOrgX, dc->w.DCOrgY) == ERROR) + if (!REGION_LPTODP(hDC, tmpVisRgn, hRgn) || NtGdiOffsetRgn(tmpVisRgn, dc->ptlDCOrig.x, dc->ptlDCOrig.y) == ERROR) { NtGdiDeleteObject(tmpVisRgn); DC_UnlockDc(dc);
Modified: trunk/reactos/subsystems/win32/win32k/objects/text.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/text.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/text.c [iso-8859-1] Mon Jun 2 12:53:53 2008 @@ -1626,8 +1626,8 @@ Start.x = XStart; Start.y = YStart; IntLPtoDP(dc, &Start, 1);
- RealXStart = (Start.x + dc->w.DCOrgX) << 6; - YStart = Start.y + dc->w.DCOrgY; + RealXStart = (Start.x + dc->ptlDCOrig.x) << 6; + YStart = Start.y + dc->ptlDCOrig.y;
/* Create the brushes */ hDestPalette = BitmapObj->hDIBPalette; @@ -1685,10 +1685,10 @@
if ((fuOptions & ETO_OPAQUE) && lprc) { - DestRect.left = SpecifiedDestRect.left + dc->w.DCOrgX; - DestRect.top = SpecifiedDestRect.top + dc->w.DCOrgY; - DestRect.right = SpecifiedDestRect.right + dc->w.DCOrgX; - DestRect.bottom = SpecifiedDestRect.bottom + dc->w.DCOrgY; + DestRect.left = SpecifiedDestRect.left + dc->ptlDCOrig.x; + DestRect.top = SpecifiedDestRect.top + dc->ptlDCOrig.y; + DestRect.right = SpecifiedDestRect.right + dc->ptlDCOrig.x; + DestRect.bottom = SpecifiedDestRect.bottom + dc->ptlDCOrig.y; IntLPtoDP(dc, (LPPOINT)&DestRect, 2); IntEngBitBlt( &BitmapObj->SurfObj, @@ -1956,12 +1956,6 @@ DestRect.top = TextTop + yoff - realglyph2->top; DestRect.bottom = DestRect.top + realglyph2->bitmap.rows;
-// DbgPrint("lrtb %d %d %d %d\n", DestRect.left, DestRect.right, -// DestRect.top, DestRect.bottom); -// DbgPrint("specified lrtb %d %d %d %d\n", SpecifiedDestRect.left, SpecifiedDestRect.right, -// SpecifiedDestRect.top, SpecifiedDestRect.bottom); -// DbgPrint ("dc->w.DCOrgX: %d\n", dc->w.DCOrgX); - bitSize.cx = realglyph2->bitmap.width; bitSize.cy = realglyph2->bitmap.rows; MaskRect.right = realglyph2->bitmap.width; @@ -2005,12 +1999,12 @@
if (lprc && (fuOptions & ETO_CLIPPED) && - DestRect.right >= SpecifiedDestRect.right + dc->w.DCOrgX) + DestRect.right >= SpecifiedDestRect.right + dc->ptlDCOrig.x) { // We do the check '>=' instead of '>' to possibly save an iteration // through this loop, since it's breaking after the drawing is done, // and x is always incremented. - DestRect.right = SpecifiedDestRect.right + dc->w.DCOrgX; + DestRect.right = SpecifiedDestRect.right + dc->ptlDCOrig.x; DoBreak = TRUE; }