mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[uxtheme]
- Use ExtCreateRegion in GetThemeBackgroundRegion as it was fixed in win32k svn path=/trunk/; revision=61649
This commit is contained in:
parent
38fea646ec
commit
356a1e3a52
1 changed files with 0 additions and 16 deletions
|
@ -1755,20 +1755,15 @@ static HBITMAP UXTHEME_DrawThemePartToDib(HTHEME hTheme, HDC hdc, int iPartId, i
|
|||
static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent, LPCRECT pRect)
|
||||
{
|
||||
int x, y, xstart;
|
||||
#ifdef EXTCREATEREGION_WORKS
|
||||
int cMaxRgnRects, cRgnDataSize, cRgnRects;
|
||||
RECT* prcCurrent;
|
||||
PRGNDATA prgnData;
|
||||
#else
|
||||
HRGN hrgnTemp;
|
||||
#endif
|
||||
ULONG clrTransparent, *pclrCurrent;
|
||||
HRGN hrgnRet;
|
||||
|
||||
pclrCurrent = (PULONG)pBuffer;
|
||||
clrTransparent = *(PULONG)pclrTransparent;
|
||||
|
||||
#ifdef EXTCREATEREGION_WORKS
|
||||
/* Create a region and pre-allocate memory enough for 3 spaces in one row*/
|
||||
cRgnRects = 0;
|
||||
cMaxRgnRects = 4* (pRect->bottom-pRect->top);
|
||||
|
@ -1778,9 +1773,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent
|
|||
prgnData = (PRGNDATA)HeapAlloc(GetProcessHeap(), 0, cRgnDataSize);
|
||||
|
||||
prcCurrent = (PRECT)prgnData->Buffer;
|
||||
#else
|
||||
hrgnRet = CreateRectRgn(0,0,0,0);
|
||||
#endif
|
||||
|
||||
/* Calculate the region rects */
|
||||
y=0;
|
||||
|
@ -1804,7 +1796,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent
|
|||
pclrCurrent++;
|
||||
}
|
||||
|
||||
#ifdef EXTCREATEREGION_WORKS
|
||||
/* Add the scaned line to the region */
|
||||
SetRect(prcCurrent, xstart, y,x,y+1);
|
||||
prcCurrent++;
|
||||
|
@ -1821,11 +1812,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent
|
|||
cRgnDataSize);
|
||||
prcCurrent = (RECT*)prgnData->Buffer + cRgnRects;
|
||||
}
|
||||
#else
|
||||
hrgnTemp = CreateRectRgn(xstart, y,x,y+1);
|
||||
CombineRgn(hrgnRet, hrgnRet, hrgnTemp, RGN_OR );
|
||||
DeleteObject(hrgnTemp);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1836,7 +1822,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent
|
|||
y++;
|
||||
}
|
||||
|
||||
#ifdef EXTCREATEREGION_WORKS
|
||||
/* Fill the region data header */
|
||||
prgnData->rdh.dwSize = sizeof(prgnData->rdh);
|
||||
prgnData->rdh.iType = RDH_RECTANGLES;
|
||||
|
@ -1849,7 +1834,6 @@ static HRGN UXTHEME_RegionFromDibBits(RGBQUAD* pBuffer, RGBQUAD* pclrTransparent
|
|||
|
||||
/* Free the region data*/
|
||||
HeapFree(GetProcessHeap(),0,prgnData);
|
||||
#endif
|
||||
|
||||
/* return the region*/
|
||||
return hrgnRet;
|
||||
|
|
Loading…
Reference in a new issue