[Win32SS]

- Remove old GDI structure and use the new one.

svn path=/trunk/; revision=75326
This commit is contained in:
James Tabor
2017-07-13 01:59:41 +00:00
parent be9a0afc1f
commit deaa7df817
18 changed files with 126 additions and 121 deletions
+1 -1
View File
@@ -212,7 +212,7 @@ IntEngAlphaBlend(
//ASSERT(pBlendObj);
/* If no clip object is given, use trivial one */
if (!pco) pco = &gxcoTrivial.ClipObj;
if (!pco) pco = (CLIPOBJ *)&gxcoTrivial;
/* Check if there is anything to draw */
if ((pco->rclBounds.left >= pco->rclBounds.right) ||
+9 -10
View File
@@ -16,16 +16,15 @@ XCLIPOBJ gxcoTrivial =
{
/* CLIPOBJ */
{
{
0, /* iUniq */
{LONG_MIN, LONG_MIN, LONG_MAX, LONG_MAX}, /* rclBounds */
DC_TRIVIAL, /* idCOmplexity */
FC_RECT, /* iFComplexity */
TC_RECTANGLES, /* iMode */
0 /* fjOptions */
},
0, /* iUniq */
{LONG_MIN, LONG_MIN, LONG_MAX, LONG_MAX}, /* rclBounds */
DC_TRIVIAL, /* idCOmplexity */
FC_RECT, /* iFComplexity */
TC_RECTANGLES, /* iMode */
0 /* fjOptions */
},
0, 0, 0
{ 0, {0,0,0,0}, 0},
0, {0,0,0,0}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
typedef BOOLEAN (APIENTRY *PBLTRECTFUNC)(SURFOBJ* OutputObj,
@@ -649,7 +648,7 @@ IntEngBitBlt(
pco = NULL;
}
else
pco = &gxcoTrivial.ClipObj;
pco = (CLIPOBJ *)&gxcoTrivial;
if (ROP4_USES_SOURCE(Rop4))
{
+24 -22
View File
@@ -157,13 +157,13 @@ VOID
FASTCALL
IntEngInitClipObj(XCLIPOBJ *Clip)
{
Clip->Rects = &Clip->ClipObj.rclBounds;
Clip->Rects = &Clip->rclBounds;
}
VOID FASTCALL
IntEngFreeClipResources(XCLIPOBJ *Clip)
{
if (Clip->Rects != &Clip->ClipObj.rclBounds)
if (Clip->Rects != &Clip->rclBounds)
EngFreeMem(Clip->Rects);
}
@@ -183,34 +183,34 @@ IntEngUpdateClipRegion(
if(NewRects != NULL)
{
Clip->RectCount = count;
Clip->EnumOrder = CD_ANY;
Clip->iDirection = CD_ANY;
RtlCopyMemory(NewRects, pRect, count * sizeof(RECTL));
Clip->ClipObj.iDComplexity = DC_COMPLEX;
Clip->ClipObj.iFComplexity = ((Clip->RectCount <= 4) ? FC_RECT4 : FC_COMPLEX);
Clip->ClipObj.iMode = TC_RECTANGLES;
Clip->ClipObj.rclBounds = *rcBounds;
Clip->iDComplexity = DC_COMPLEX;
Clip->iFComplexity = ((Clip->RectCount <= 4) ? FC_RECT4 : FC_COMPLEX);
Clip->iMode = TC_RECTANGLES;
Clip->rclBounds = *rcBounds;
if (Clip->Rects != &Clip->ClipObj.rclBounds)
if (Clip->Rects != &Clip->rclBounds)
EngFreeMem(Clip->Rects);
Clip->Rects = NewRects;
}
}
else
{
Clip->EnumOrder = CD_ANY;
Clip->iDirection = CD_ANY;
Clip->ClipObj.iDComplexity = (((rcBounds->top == rcBounds->bottom) &&
Clip->iDComplexity = (((rcBounds->top == rcBounds->bottom) &&
(rcBounds->left == rcBounds->right))
? DC_TRIVIAL : DC_RECT);
Clip->ClipObj.iFComplexity = FC_RECT;
Clip->ClipObj.iMode = TC_RECTANGLES;
Clip->ClipObj.rclBounds = *rcBounds;
Clip->iFComplexity = FC_RECT;
Clip->iMode = TC_RECTANGLES;
Clip->rclBounds = *rcBounds;
Clip->RectCount = 1;
if (Clip->Rects != &Clip->ClipObj.rclBounds)
if (Clip->Rects != &Clip->rclBounds)
EngFreeMem(Clip->Rects);
Clip->Rects = &Clip->ClipObj.rclBounds;
Clip->Rects = &Clip->rclBounds;
}
}
@@ -226,7 +226,7 @@ EngCreateClip(VOID)
{
IntEngInitClipObj(Clip);
TRACE("Created Clip Obj %p.\n", Clip);
return &Clip->ClipObj;
return (CLIPOBJ *)Clip;
}
ERR("Clip object allocation failed!\n");
@@ -241,7 +241,7 @@ APIENTRY
EngDeleteClip(
_In_ _Post_ptr_invalid_ CLIPOBJ *pco)
{
XCLIPOBJ* pxco = CONTAINING_RECORD(pco, XCLIPOBJ, ClipObj);
XCLIPOBJ* pxco = (XCLIPOBJ *)pco;
TRACE("Deleting %p.\n", pco);
IntEngFreeClipResources(pxco);
EngFreeMem(pxco);
@@ -259,13 +259,15 @@ CLIPOBJ_cEnumStart(
_In_ ULONG iDirection,
_In_ ULONG cMaxRects)
{
XCLIPOBJ* Clip = CONTAINING_RECORD(pco, XCLIPOBJ, ClipObj);
XCLIPOBJ* Clip = (XCLIPOBJ *)pco;
SORTCOMP CompareFunc;
Clip->bAll = bAll;
Clip->iType = iType;
Clip->EnumPos = 0;
Clip->EnumMax = (cMaxRects > 0) ? cMaxRects : Clip->RectCount;
if (CD_ANY != iDirection && Clip->EnumOrder != iDirection)
if (CD_ANY != iDirection && Clip->iDirection != iDirection)
{
switch (iDirection)
{
@@ -287,7 +289,7 @@ CLIPOBJ_cEnumStart(
default:
ERR("Invalid iDirection %lu\n", iDirection);
iDirection = Clip->EnumOrder;
iDirection = Clip->iDirection;
CompareFunc = NULL;
break;
}
@@ -297,7 +299,7 @@ CLIPOBJ_cEnumStart(
EngSort((PBYTE) Clip->Rects, sizeof(RECTL), Clip->RectCount, CompareFunc);
}
Clip->EnumOrder = iDirection;
Clip->iDirection = iDirection;
}
/* Return the number of rectangles enumerated */
@@ -320,7 +322,7 @@ CLIPOBJ_bEnum(
_Out_bytecap_(cj) ULONG *pulEnumRects)
{
const RECTL* src;
XCLIPOBJ* Clip = CONTAINING_RECORD(pco, XCLIPOBJ, ClipObj);
XCLIPOBJ* Clip = (XCLIPOBJ *)pco;
ULONG nCopy;
ENUMRECTS* pERects = (ENUMRECTS*)pulEnumRects;
+36 -31
View File
@@ -39,63 +39,68 @@
---------------------------------------------------------------------------*/
/* EXtended CLip and Window Region Object */
typedef struct _RWNDOBJ {
PVOID pvConsumer;
RECTL rclClient;
SURFOBJ *psoOwner;
} RWNDOBJ;
/* EXtended CLip and Window Region Objects */
#ifdef __cplusplus
typedef struct _XCLIPOBJ : _WNDOBJ
typedef struct _XCLIPOBJ : _CLIPOBJ, _RWNDOBJ
{
#else
typedef struct _XCLIPOBJ
{
WNDOBJ;
CLIPOBJ;
RWNDOBJ;
#endif
PVOID pClipRgn; /* prgnRao_ or (prgnVis_ if (prgnRao_ == z)) */
struct _REGION *pClipRgn; /* prgnRao_ or (prgnVis_ if (prgnRao_ == z)) */
//
RECTL rclClipRgn;
PVOID pscanClipRgn; /* Ptr to regions rect buffer based on iDirection. */
//PVOID pscanClipRgn; /* Ptr to regions rect buffer based on iDirection. */
RECTL* Rects;
DWORD cScan;
DWORD reserved;
ULONG ulBSize;
ULONG EnumPos;
LONG lscnSize;
ULONG ulObjSize;
ULONG EnumMax;
ULONG iDirection;
ULONG ulClipType;
ULONG iType;
DWORD reserved1;
LONG lUpDown;
DWORD reserved2;
BOOL bShouldDoAll;
DWORD nComplexity; /* count/mode based on # of rect in regions scan. */
BOOL bAll;
//
DWORD RectCount; /* count/mode based on # of rect in regions scan. */
PVOID pDDA; /* Pointer to a large drawing structure. */
} XCLIPOBJ, *PXCLIPOBJ;
/*
EngCreateClip allocates XCLIPOBJ and RGNOBJ, pco->co.pClipRgn = &pco->ro.
EngCreateClip allocates XCLIPOBJ and REGION, pco->co.pClipRgn = &pco->ro.
{
XCLIPOBJ co;
RGNOBJ ro;
REGION ro;
}
*/
typedef struct _CLIPGDI {
union
{
CLIPOBJ ClipObj;
WNDOBJ WndObj;
};
/* WNDOBJ part */
extern XCLIPOBJ gxcoTrivial;
#ifdef __cplusplus
typedef struct _EWNDOBJ : _XCLIPOBJ
{
#else
typedef struct _EWNDOBJ
{
XCLIPOBJ;
#endif
/* Extended WNDOBJ part */
HWND Hwnd;
WNDOBJCHANGEPROC ChangeProc;
FLONG Flags;
int PixelFormat;
/* CLIPOBJ part */
ULONG EnumPos;
ULONG EnumOrder;
ULONG EnumMax;
ULONG RectCount;
RECTL* Rects;
} CLIPGDI, *PCLIPGDI;
C_ASSERT(FIELD_OFFSET(CLIPGDI, ClipObj) == FIELD_OFFSET(CLIPGDI, WndObj.coClient));
} EWNDOBJ, *PEWNDOBJ;
// HACK, until we use the original structure
#define XCLIPOBJ CLIPGDI
extern XCLIPOBJ gxcoTrivial;
/*ei What is this for? */
typedef struct _DRVFUNCTIONSGDI {
+16 -16
View File
@@ -18,7 +18,7 @@ INT gcountPWO = 0;
VOID
FASTCALL
IntEngWndCallChangeProc(
_In_ XCLIPOBJ *Clip,
_In_ EWNDOBJ *Clip,
_In_ FLONG flChanged)
{
if (Clip->ChangeProc == NULL)
@@ -40,7 +40,7 @@ IntEngWndCallChangeProc(
if (flChanged == WOC_CHANGED)
Clip->ChangeProc(NULL, flChanged);
else
Clip->ChangeProc(&Clip->WndObj, flChanged);
Clip->ChangeProc((WNDOBJ *)Clip, flChanged);
}
/*
@@ -49,7 +49,7 @@ IntEngWndCallChangeProc(
BOOLEAN
FASTCALL
IntEngWndUpdateClipObj(
XCLIPOBJ* Clip,
EWNDOBJ* Clip,
PWND Window)
{
PREGION visRgn;
@@ -61,7 +61,7 @@ IntEngWndUpdateClipObj(
{
if (visRgn->rdh.nCount > 0)
{
IntEngUpdateClipRegion(Clip, visRgn->rdh.nCount, visRgn->Buffer, &visRgn->rdh.rcBound);
IntEngUpdateClipRegion((XCLIPOBJ*)Clip, visRgn->rdh.nCount, visRgn->Buffer, &visRgn->rdh.rcBound);
TRACE("Created visible region with %lu rects\n", visRgn->rdh.nCount);
TRACE(" BoundingRect: %d, %d %d, %d\n",
visRgn->rdh.rcBound.left, visRgn->rdh.rcBound.top,
@@ -81,12 +81,12 @@ IntEngWndUpdateClipObj(
else
{
/* Fall back to client rect */
IntEngUpdateClipRegion(Clip, 1, &Window->rcClient, &Window->rcClient);
IntEngUpdateClipRegion((XCLIPOBJ*)Clip, 1, &Window->rcClient, &Window->rcClient);
}
/* Update the WNDOBJ */
Clip->WndObj.rclClient = Window->rcClient;
Clip->WndObj.coClient.iUniq++;
Clip->rclClient = Window->rcClient;
Clip->iUniq++;
return TRUE;
}
@@ -100,7 +100,7 @@ IntEngWindowChanged(
_In_ PWND Window,
_In_ FLONG flChanged)
{
XCLIPOBJ *Clip;
EWNDOBJ *Clip;
ASSERT_IRQL_LESS_OR_EQUAL(PASSIVE_LEVEL);
@@ -111,7 +111,7 @@ IntEngWindowChanged(
}
ASSERT(Clip->Hwnd == Window->head.h);
// if (Clip->WndObj.pvConsumer != NULL)
// if (Clip->pvConsumer != NULL)
{
/* Update the WNDOBJ */
switch (flChanged)
@@ -149,7 +149,7 @@ EngCreateWnd(
FLONG fl,
int iPixelFormat)
{
XCLIPOBJ *Clip = NULL;
EWNDOBJ *Clip = NULL;
WNDOBJ *WndObjUser = NULL;
PWND Window;
BOOL calledFromUser;
@@ -176,13 +176,13 @@ EngCreateWnd(
}
/* Create WNDOBJ */
Clip = EngAllocMem(FL_ZERO_MEMORY, sizeof (XCLIPOBJ), GDITAG_WNDOBJ);
Clip = EngAllocMem(FL_ZERO_MEMORY, sizeof (EWNDOBJ), GDITAG_WNDOBJ);
if (Clip == NULL)
{
ERR("Failed to allocate memory for a WND structure!\n");
RETURN( NULL);
}
IntEngInitClipObj(Clip);
IntEngInitClipObj((XCLIPOBJ*)Clip);
/* Fill the clipobj */
if (!IntEngWndUpdateClipObj(Clip, Window))
@@ -192,7 +192,7 @@ EngCreateWnd(
}
/* Fill user object */
WndObjUser = &Clip->WndObj;
WndObjUser = (WNDOBJ *)Clip;
WndObjUser->psoOwner = pso;
WndObjUser->pvConsumer = NULL;
@@ -233,7 +233,7 @@ APIENTRY
EngDeleteWnd(
IN WNDOBJ *pwo)
{
XCLIPOBJ* Clip = CONTAINING_RECORD(pwo, XCLIPOBJ, WndObj);
EWNDOBJ* Clip = (EWNDOBJ *)pwo;//CONTAINING_RECORD(pwo, XCLIPOBJ, WndObj);
PWND Window;
BOOL calledFromUser;
@@ -262,7 +262,7 @@ EngDeleteWnd(
}
/* Free resources */
IntEngFreeClipResources(Clip);
IntEngFreeClipResources((XCLIPOBJ*)Clip);
EngFreeMem(Clip);
}
@@ -308,7 +308,7 @@ WNDOBJ_vSetConsumer(
IN WNDOBJ *pwo,
IN PVOID pvConsumer)
{
XCLIPOBJ* Clip = CONTAINING_RECORD(pwo, XCLIPOBJ, WndObj);
EWNDOBJ* Clip = (EWNDOBJ *)pwo;//CONTAINING_RECORD(pwo, XCLIPOBJ, WndObj);
BOOL Hack;
TRACE("WNDOBJ_vSetConsumer: pwo = 0x%p, pvConsumer = 0x%p\n", pwo, pvConsumer);
+1 -1
View File
@@ -491,7 +491,7 @@ EngGradientFill(
if (pco == NULL)
{
/* Use the trivial one instead */
pco = &gxcoTrivial.ClipObj;
pco = (CLIPOBJ *)&gxcoTrivial;//.coClient;
}
switch(ulMode)
+1 -1
View File
@@ -390,7 +390,7 @@ IntEngStretchBlt(SURFOBJ *psoDest,
//ASSERT(!RECTL_bIsEmptyRect(SourceRect)); // FIXME!
/* If no clip object is given, use trivial one */
if (!ClipRegion) ClipRegion = &gxcoTrivial.ClipObj;
if (!ClipRegion) ClipRegion = (CLIPOBJ *)&gxcoTrivial;
psurfDest = CONTAINING_RECORD(psoDest, SURFACE, SurfObj);
+1 -1
View File
@@ -232,7 +232,7 @@ IntEngTransparentBlt(
ASSERT(psurfSource);
/* If no clip object is given, use trivial one */
if (!Clip) Clip = &gxcoTrivial.ClipObj;
if (!Clip) Clip = (CLIPOBJ *)&gxcoTrivial;
InputClippedRect = *DestRect;
if (InputClippedRect.right < InputClippedRect.left)
+2 -2
View File
@@ -8,7 +8,7 @@
*/
#define PUTPIXEL(x,y,BrushInst) \
ret = ret && IntEngLineTo(&psurf->SurfObj, \
&dc->co.ClipObj, \
(CLIPOBJ *)&dc->co, \
&BrushInst.BrushObject, \
x, y, (x)+1, y, \
&RectBounds, \
@@ -16,7 +16,7 @@
#define PUTLINE(x1,y1,x2,y2,BrushInst) \
ret = ret && IntEngLineTo(&psurf->SurfObj, \
&dc->co.ClipObj, \
(CLIPOBJ *)&dc->co, \
&BrushInst.BrushObject, \
x1, y1, x2, y2, \
&RectBounds, \
+7 -8
View File
@@ -130,7 +130,7 @@ NtGdiAlphaBlend(
TRACE("Performing the alpha blend\n");
bResult = IntEngAlphaBlend(&BitmapDest->SurfObj,
&BitmapSrc->SurfObj,
&DCDest->co.ClipObj,
(CLIPOBJ *)&DCDest->co,
&exlo.xlo,
&DestRect,
&SourceRect,
@@ -295,7 +295,7 @@ NtGdiTransparentBlt(
EXLATEOBJ_vInitXlateFromDCs(&exlo, DCSrc, DCDest);
Ret = IntEngTransparentBlt(&BitmapDest->SurfObj, &BitmapSrc->SurfObj,
&DCDest->co.ClipObj, &exlo.xlo, &rcDest, &rcSrc,
(CLIPOBJ *)&DCDest->co, &exlo.xlo, &rcDest, &rcSrc,
TransparentColor, 0);
EXLATEOBJ_vCleanup(&exlo);
@@ -485,12 +485,11 @@ NtGdiMaskBlt(
XlateObj = &exlo.xlo;
}
/* Perform the bitblt operation */
Status = IntEngBitBlt(&BitmapDest->SurfObj,
BitmapSrc ? &BitmapSrc->SurfObj : NULL,
psurfMask ? &psurfMask->SurfObj : NULL,
&DCDest->co.ClipObj,
(CLIPOBJ *)&DCDest->co,
XlateObj,
&DestRect,
&SourcePoint,
@@ -708,7 +707,7 @@ GreStretchBltMask(
Status = IntEngStretchBlt(&BitmapDest->SurfObj,
BitmapSrc ? &BitmapSrc->SurfObj : NULL,
BitmapMask ? &BitmapMask->SurfObj : NULL,
&DCDest->co.ClipObj,
(CLIPOBJ *)&DCDest->co,
XlateObj,
&DCDest->dclevel.ca,
&DestRect,
@@ -848,7 +847,7 @@ IntPatBlt(
ret = IntEngBitBlt(&psurf->SurfObj,
NULL,
NULL,
&pdc->co.ClipObj,
(CLIPOBJ *)&pdc->co,
NULL,
&DestRect,
NULL,
@@ -1105,7 +1104,7 @@ IntGdiBitBltRgn(
bResult = IntEngBitBlt(&pdc->dclevel.pSurface->SurfObj,
NULL,
NULL,
&xcoClip.ClipObj,
(CLIPOBJ *)&xcoClip,
NULL,
&prgnClip->rdh.rcBound,
NULL,
@@ -1210,7 +1209,7 @@ IntGdiFillRgn(
/* Call the internal function */
bRet = IntEngPaint(&pdc->dclevel.pSurface->SurfObj,
&xcoClip.ClipObj,
(CLIPOBJ *)&xcoClip,
pbo,
&pdc->pdcattr->ptlBrushOrigin,
mix);
+2 -2
View File
@@ -635,7 +635,7 @@ NtGdiSetDIBitsToDeviceInternal(
Status = IntEngBitBlt(pDestSurf,
pSourceSurf,
pMaskSurf,
&pDC->co.ClipObj,
(CLIPOBJ *)&pDC->co,
&exlo.xlo,
&rcDest,
&ptSource,
@@ -1333,7 +1333,7 @@ NtGdiStretchDIBitsInternal(
bResult = IntEngStretchBlt(&psurfDst->SurfObj,
&psurfTmp->SurfObj,
NULL,
&pdc->co.ClipObj,
(CLIPOBJ *)&pdc->co,
&exlo.xlo,
&pdc->dclevel.ca,
&rcDst,
+1 -1
View File
@@ -1288,7 +1288,7 @@ IntFillRect( DC *dc,
&psurf->SurfObj,
NULL,
NULL,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
NULL,
&DestRect,
NULL,
+8 -8
View File
@@ -115,7 +115,7 @@ IntGdiPolygon(PDC dc,
// Points[1].x, Points[1].y );
ret = IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
Points[i].x, /* From */
Points[i].y,
@@ -129,7 +129,7 @@ IntGdiPolygon(PDC dc,
if (ret)
{
ret = IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
Points[Count-1].x, /* From */
Points[Count-1].y,
@@ -611,7 +611,7 @@ IntRectangle(PDC dc,
ret = IntEngBitBlt(&psurf->SurfObj,
NULL,
NULL,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
NULL,
&DestRect,
NULL,
@@ -630,28 +630,28 @@ IntRectangle(PDC dc,
{
Mix = ROP2_TO_MIX(pdcattr->jROP2);
ret = ret && IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
DestRect.left, DestRect.top, DestRect.right, DestRect.top,
&DestRect, // Bounding rectangle
Mix);
ret = ret && IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
DestRect.right, DestRect.top, DestRect.right, DestRect.bottom,
&DestRect, // Bounding rectangle
Mix);
ret = ret && IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
DestRect.right, DestRect.bottom, DestRect.left, DestRect.bottom,
&DestRect, // Bounding rectangle
Mix);
ret = ret && IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
DestRect.left, DestRect.bottom, DestRect.left, DestRect.top,
&DestRect, // Bounding rectangle
@@ -963,7 +963,7 @@ GreGradientFill(
EXLATEOBJ_vInitialize(&exlo, &gpalRGB, psurf->ppal, 0, 0, 0);
bRet = IntEngGradientFill(&psurf->SurfObj,
&pdc->co.ClipObj,
(CLIPOBJ *)&pdc->co,
&exlo.xlo,
pVertex,
nVertex,
+6 -6
View File
@@ -5170,7 +5170,7 @@ GreExtTextOutW(
&psurf->SurfObj,
NULL,
NULL,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
NULL,
&DestRect,
&SourcePoint,
@@ -5440,7 +5440,7 @@ GreExtTextOutW(
&psurf->SurfObj,
NULL,
NULL,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
NULL,
&DestRect,
&SourcePoint,
@@ -5576,7 +5576,7 @@ GreExtTextOutW(
&psurf->SurfObj,
NULL,
NULL,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
NULL,
&DestRect,
&SourcePoint,
@@ -5649,7 +5649,7 @@ GreExtTextOutW(
if (!IntEngMaskBlt(
SurfObj,
SourceGlyphSurf,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&exloRGB2Dst.xlo,
&exloDst2RGB.xlo,
&DestRect,
@@ -5686,7 +5686,7 @@ GreExtTextOutW(
for (i = -thickness / 2; i < -thickness / 2 + thickness; ++i)
{
EngLineTo(SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboText.BrushObject,
(TextLeft >> 6),
TextTop + yoff - position + i,
@@ -5702,7 +5702,7 @@ GreExtTextOutW(
for (i = -thickness / 2; i < -thickness / 2 + thickness; ++i)
{
EngLineTo(SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboText.BrushObject,
(TextLeft >> 6),
TextTop + yoff - (fixAscender >> 6) / 3 + i,
+2 -2
View File
@@ -202,7 +202,7 @@ IntGdiLineTo(DC *dc,
if (!(pbrLine->flAttrs & BR_IS_NULL))
{
Ret = IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
Points[0].x, Points[0].y,
Points[1].x, Points[1].y,
@@ -334,7 +334,7 @@ IntGdiPolyline(DC *dc,
}
Ret = IntEngPolyline(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
&dc->eboLine.BrushObject,
Points,
Count,
+4 -4
View File
@@ -417,7 +417,7 @@ POLYGONFILL_FillScanLineAlternate(
//DPRINT("Fill Line (%d, %d) to (%d, %d)\n",x1, ScanLine, x2, ScanLine);
IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
BrushObj,
x1,
ScanLine,
@@ -489,7 +489,7 @@ POLYGONFILL_FillScanLineWinding(
//DPRINT("Fill Line (%d, %d) to (%d, %d)\n",x1, ScanLine, x2, ScanLine);
IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
BrushObj,
x1,
ScanLine,
@@ -514,7 +514,7 @@ POLYGONFILL_FillScanLineWinding(
//DPRINT("Fill Line (%d, %d) to (%d, %d)\n",x1, ScanLine, x2, ScanLine);
IntEngLineTo(&psurf->SurfObj,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
BrushObj,
x1,
ScanLine,
@@ -641,7 +641,7 @@ IntFillPolygon(
IntEngBitBlt(&psurf->SurfObj,
NULL,
NULL,
&dc->co.ClipObj,
(CLIPOBJ *)&dc->co,
NULL,
&LineRect,
NULL,
+2 -2
View File
@@ -1863,7 +1863,7 @@ UserDrawIconEx(
/* We now have our destination surface */
psurfDest = psurfOffScreen;
#else
pdcClipObj = &pdc->co.ClipObj;
pdcClipObj = (CLIPOBJ *)&pdc->co;
/* Paint the brush */
EBRUSHOBJ_vInit(&eboFill, pbrush, psurfDest, 0x00FFFFFF, 0, NULL);
@@ -1894,7 +1894,7 @@ UserDrawIconEx(
{
/* We directly draw to the DC */
TRACE("Performing on screen rendering.\n");
pdcClipObj = &pdc->co.ClipObj;
pdcClipObj = (CLIPOBJ *)&pdc->co;
// psurfOffScreen = NULL;
}
+3 -3
View File
@@ -951,7 +951,7 @@ UserGetWindowDC(PWND Wnd)
HWND FASTCALL
UserGethWnd( HDC hdc, PWNDOBJ *pwndo)
{
XCLIPOBJ* Clip;
EWNDOBJ* Clip;
PWND Wnd;
HWND hWnd;
@@ -959,11 +959,11 @@ UserGethWnd( HDC hdc, PWNDOBJ *pwndo)
if (hWnd && (Wnd = UserGetWindowObject(hWnd)))
{
Clip = (XCLIPOBJ*)UserGetProp(Wnd, AtomWndObj, TRUE);
Clip = (EWNDOBJ*)UserGetProp(Wnd, AtomWndObj, TRUE);
if ( Clip && Clip->Hwnd == hWnd )
{
if (pwndo) *pwndo = &Clip->WndObj;
if (pwndo) *pwndo = (PWNDOBJ)Clip;
}
}
return hWnd;