Commit 2771fd97 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

comctl32: Improve DrawShadowText().

parent 57271ca1
...@@ -1592,12 +1592,33 @@ LRESULT WINAPI SetPathWordBreakProc(HWND hwnd, BOOL bSet) ...@@ -1592,12 +1592,33 @@ LRESULT WINAPI SetPathWordBreakProc(HWND hwnd, BOOL bSet)
* *
* Draw text with shadow. * Draw text with shadow.
*/ */
int WINAPI DrawShadowText(HDC hdc, LPCWSTR pszText, UINT cch, RECT *rect, DWORD dwFlags, int WINAPI DrawShadowText(HDC hdc, LPCWSTR text, UINT length, RECT *rect, DWORD flags,
COLORREF crText, COLORREF crShadow, int ixOffset, int iyOffset) COLORREF crText, COLORREF crShadow, int offset_x, int offset_y)
{ {
FIXME("(%p, %s, %d, %p, %d, 0x%08x, 0x%08x, %d, %d): stub\n", hdc, debugstr_w(pszText), cch, rect, dwFlags, int bkmode, ret;
crText, crShadow, ixOffset, iyOffset); COLORREF clr;
return DrawTextW(hdc, pszText, cch, rect, DT_LEFT); RECT r;
FIXME("(%p, %s, %d, %p, 0x%08x, 0x%08x, 0x%08x, %d, %d): semi-stub\n", hdc, debugstr_w(text),
length, rect, flags, crText, crShadow, offset_x, offset_y);
bkmode = SetBkMode(hdc, TRANSPARENT);
clr = SetTextColor(hdc, crShadow);
/* FIXME: for shadow we need to render normally, blur it, and blend with current background. */
r = *rect;
OffsetRect(&r, 1, 1);
DrawTextW(hdc, text, length, &r, flags);
SetTextColor(hdc, crText);
/* with text color on top of a shadow */
ret = DrawTextW(hdc, text, length, rect, flags);
SetTextColor(hdc, clr);
SetBkMode(hdc, bkmode);
return ret;
} }
/*********************************************************************** /***********************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment