Module: wine Branch: master Commit: 97546cfbb7abc63fe75048f82da5a63cdba3d9cf URL: http://source.winehq.org/git/wine.git/?a=commit;h=97546cfbb7abc63fe75048f82d...
Author: Huw Davies huw@codeweavers.com Date: Tue Jun 27 16:40:37 2017 +0100
winemac: Use logical co-ords to call GdiAlphaBlend().
Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Ken Thomases ken@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winemac.drv/window.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index bdd623d..2e24405 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -1837,7 +1837,7 @@ BOOL CDECL macdrv_UpdateLayeredWindow(HWND hwnd, const UPDATELAYEREDWINDOWINFO * char buffer[FIELD_OFFSET(BITMAPINFO, bmiColors[256])]; BITMAPINFO *bmi = (BITMAPINFO *)buffer; void *src_bits, *dst_bits; - RECT rect; + RECT rect, src_rect; HDC hdc = 0; HBITMAP dib; BOOL ret = FALSE; @@ -1899,11 +1899,13 @@ BOOL CDECL macdrv_UpdateLayeredWindow(HWND hwnd, const UPDATELAYEREDWINDOWINFO * surface->funcs->unlock(surface); PatBlt(hdc, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, BLACKNESS); } + src_rect = rect; + if (info->pptSrc) OffsetRect( &src_rect, info->pptSrc->x, info->pptSrc->y ); + DPtoLP( info->hdcSrc, (POINT *)&src_rect, 2 ); + if (!(ret = GdiAlphaBlend(hdc, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, - info->hdcSrc, - rect.left + (info->pptSrc ? info->pptSrc->x : 0), - rect.top + (info->pptSrc ? info->pptSrc->y : 0), - rect.right - rect.left, rect.bottom - rect.top, + info->hdcSrc, src_rect.left, src_rect.top, + src_rect.right - src_rect.left, src_rect.bottom - src_rect.top, blend))) goto done;