mirror of
https://github.com/reactos/reactos.git
synced 2025-06-06 09:50:43 +00:00
[UXTHEME] Apply Wine commit c6b4b4b by Mark Harmstone: Fix colour errors in UXTHEME_StretchBlt.
svn path=/trunk/; revision=67405
This commit is contained in:
parent
a3a21c0bcf
commit
e21ccdffe2
1 changed files with 16 additions and 5 deletions
|
@ -274,22 +274,33 @@ static inline BOOL UXTHEME_StretchBlt(HDC hdcDst, int nXOriginDst, int nYOriginD
|
|||
255, /* SourceConstantAlpha */
|
||||
AC_SRC_ALPHA /* AlphaFormat */
|
||||
};
|
||||
|
||||
BOOL ret = TRUE;
|
||||
int old_stretch_mode;
|
||||
POINT old_brush_org;
|
||||
|
||||
old_stretch_mode = SetStretchBltMode(hdcDst, HALFTONE);
|
||||
SetBrushOrgEx(hdcDst, nXOriginDst, nYOriginDst, &old_brush_org);
|
||||
|
||||
if (transparent == ALPHABLEND_BINARY) {
|
||||
/* Ensure we don't pass any negative values to TransparentBlt */
|
||||
return TransparentBlt(hdcDst, nXOriginDst, nYOriginDst, abs(nWidthDst), abs(nHeightDst),
|
||||
ret = TransparentBlt(hdcDst, nXOriginDst, nYOriginDst, abs(nWidthDst), abs(nHeightDst),
|
||||
hdcSrc, nXOriginSrc, nYOriginSrc, abs(nWidthSrc), abs(nHeightSrc),
|
||||
transcolor);
|
||||
}
|
||||
if ((transparent == ALPHABLEND_NONE) ||
|
||||
} else if ((transparent == ALPHABLEND_NONE) ||
|
||||
!AlphaBlend(hdcDst, nXOriginDst, nYOriginDst, nWidthDst, nHeightDst,
|
||||
hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc,
|
||||
blendFunc))
|
||||
{
|
||||
return StretchBlt(hdcDst, nXOriginDst, nYOriginDst, nWidthDst, nHeightDst,
|
||||
ret = StretchBlt(hdcDst, nXOriginDst, nYOriginDst, nWidthDst, nHeightDst,
|
||||
hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc,
|
||||
SRCCOPY);
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
SetBrushOrgEx(hdcDst, old_brush_org.x, old_brush_org.y, NULL);
|
||||
SetStretchBltMode(hdcDst, old_stretch_mode);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
|
Loading…
Reference in a new issue