[UXTHEME] Reduce difference with Wine Staging 1.9.23. CORE-12409

svn path=/trunk/; revision=73365
This commit is contained in:
Amine Khaldi 2016-11-23 18:38:48 +00:00
parent 46fc7b685b
commit 8eb8e09554
5 changed files with 137 additions and 20 deletions

View file

@ -67,3 +67,106 @@ HRESULT WINAPI EndBufferedPaint(HPAINTBUFFER hPaintBuffer, BOOL fUpdateTarget)
FIXME("Stub (%p %d)\n", hPaintBuffer, fUpdateTarget);
return S_OK;
}
#ifndef __REACTOS__
/***********************************************************************
* BufferedPaintClear (UXTHEME.@)
*/
HRESULT WINAPI BufferedPaintClear(HPAINTBUFFER hBufferedPaint, const RECT *prc)
{
FIXME("Stub (%p %p)\n", hBufferedPaint, prc);
return E_NOTIMPL;
}
/***********************************************************************
* BufferedPaintSetAlpha (UXTHEME.@)
*/
HRESULT WINAPI BufferedPaintSetAlpha(HPAINTBUFFER hBufferedPaint, const RECT *prc, BYTE alpha)
{
FIXME("Stub (%p %p %u)\n", hBufferedPaint, prc, alpha);
return E_NOTIMPL;
}
/***********************************************************************
* GetBufferedPaintBits (UXTHEME.@)
*/
HRESULT WINAPI GetBufferedPaintBits(HPAINTBUFFER hBufferedPaint, RGBQUAD **ppbBuffer,
int *pcxRow)
{
FIXME("Stub (%p %p %p)\n", hBufferedPaint, ppbBuffer, pcxRow);
return E_NOTIMPL;
}
/***********************************************************************
* GetBufferedPaintDC (UXTHEME.@)
*/
HDC WINAPI GetBufferedPaintDC(HPAINTBUFFER hBufferedPaint)
{
FIXME("Stub (%p)\n", hBufferedPaint);
return NULL;
}
/***********************************************************************
* GetBufferedPaintTargetDC (UXTHEME.@)
*/
HDC WINAPI GetBufferedPaintTargetDC(HPAINTBUFFER hBufferedPaint)
{
FIXME("Stub (%p)\n", hBufferedPaint);
return NULL;
}
/***********************************************************************
* GetBufferedPaintTargetRect (UXTHEME.@)
*/
HRESULT WINAPI GetBufferedPaintTargetRect(HPAINTBUFFER hBufferedPaint, RECT *prc)
{
FIXME("Stub (%p %p)\n", hBufferedPaint, prc);
return E_NOTIMPL;
}
/***********************************************************************
* BeginBufferedAnimation (UXTHEME.@)
*/
HANIMATIONBUFFER WINAPI BeginBufferedAnimation(HWND hwnd, HDC hdcTarget, const RECT *rcTarget,
BP_BUFFERFORMAT dwFormat, BP_PAINTPARAMS *pPaintParams,
BP_ANIMATIONPARAMS *pAnimationParams, HDC *phdcFrom,
HDC *phdcTo)
{
FIXME("Stub (%p %p %p %u %p %p %p %p)\n", hwnd, hdcTarget, rcTarget, dwFormat,
pPaintParams, pAnimationParams, phdcFrom, phdcTo);
return NULL;
}
/***********************************************************************
* BufferedPaintRenderAnimation (UXTHEME.@)
*/
BOOL WINAPI BufferedPaintRenderAnimation(HWND hwnd, HDC hdcTarget)
{
FIXME("Stub (%p %p)\n", hwnd, hdcTarget);
return FALSE;
}
/***********************************************************************
* BufferedPaintStopAllAnimations (UXTHEME.@)
*/
HRESULT WINAPI BufferedPaintStopAllAnimations(HWND hwnd)
{
FIXME("Stub (%p)\n", hwnd);
return E_NOTIMPL;
}
/***********************************************************************
* EndBufferedAnimation (UXTHEME.@)
*/
HRESULT WINAPI EndBufferedAnimation(HANIMATIONBUFFER hbpAnimation, BOOL fUpdateTarget)
{
FIXME("Stub (%p %u)\n", hbpAnimation, fUpdateTarget);
return E_NOTIMPL;
}
#endif /* __REACTOS__ */

View file

@ -82,9 +82,9 @@ HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
if(!hParent)
hParent = hwnd;
if(prc) {
CopyRect(&rt, prc);
rt = *prc;
MapWindowPoints(hwnd, hParent, (LPPOINT)&rt, 2);
clip = CreateRectRgn(0,0,1,1);
hasClip = GetClipRgn(hdc, clip);
if(hasClip == -1)
@ -126,7 +126,7 @@ HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId,
opts.dwFlags = 0;
if(pClipRect) {
opts.dwFlags |= DTBG_CLIPRECT;
CopyRect(&opts.rcClip, pClipRect);
opts.rcClip = *pClipRect;
}
return DrawThemeBackgroundEx(hTheme, hdc, iPartId, iStateId, pRect, &opts);
}
@ -562,7 +562,7 @@ static HRESULT get_image_part_size (HTHEME hTheme, HDC hdc, int iPartId,
int sizingtype = ST_STRETCH;
BOOL uniformsizing = FALSE;
CopyRect(&rcDst, prc);
rcDst = *prc;
dstSize.x = rcDst.right-rcDst.left;
dstSize.y = rcDst.bottom-rcDst.top;
@ -670,7 +670,7 @@ static HRESULT UXTHEME_DrawImageBackground(HTHEME hTheme, HDC hdc, int iPartId,
}
oldSrc = SelectObject(hdcSrc, bmpSrc);
CopyRect(&rcDst, pRect);
rcDst = *pRect;
get_transparency (hTheme, iPartId, iStateId, hasAlpha, &transparent,
&transparentcolor, FALSE);
@ -743,7 +743,7 @@ static HRESULT UXTHEME_DrawImageBackground(HTHEME hTheme, HDC hdc, int iPartId,
rcSrc.right = srcSize.x;
rcSrc.bottom = srcSize.y;
}
#endif
#endif /* __REACTOS__ */
hdcDst = hdc;
OffsetViewportOrgEx(hdcDst, rcDst.left, rcDst.top, &org);
@ -851,7 +851,7 @@ draw_error:
DeleteDC(hdcSrc);
if (bmpSrcResized) DeleteObject(bmpSrcResized);
if (hdcOrigSrc) DeleteDC(hdcOrigSrc);
CopyRect(pRect, &rcDst);
*pRect = rcDst;
return hr;
}
@ -989,7 +989,7 @@ static HRESULT UXTHEME_DrawBorderBackground(HTHEME hTheme, HDC hdc, int iPartId,
HRESULT hr;
RECT rt;
CopyRect(&rt, pRect);
rt = *pRect;
hr = UXTHEME_DrawBorderRectangle(hTheme, hdc, iPartId, iStateId, &rt, pOptions);
if(FAILED(hr))
@ -1031,7 +1031,7 @@ HRESULT WINAPI DrawThemeBackgroundEx(HTHEME hTheme, HDC hdc, int iPartId,
else
IntersectClipRect(hdc, opts->rcClip.left, opts->rcClip.top, opts->rcClip.right, opts->rcClip.bottom);
}
CopyRect(&rt, pRect);
rt = *pRect;
if(bgtype == BT_IMAGEFILE)
hr = UXTHEME_DrawImageBackground(hTheme, hdc, iPartId, iStateId, &rt, opts);
@ -1614,7 +1614,7 @@ HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
FIXME("%d %d: stub\n", iPartId, iStateId);
if(!hTheme)
return E_HANDLE;
return ERROR_CALL_NOT_IMPLEMENTED;
return E_NOTIMPL;
}
/***********************************************************************
@ -1710,7 +1710,7 @@ HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME hTheme, HDC hdc, int iPartId
/* If nothing was found, leave unchanged */
}
TRACE("left:%d,top:%d,right:%d,bottom:%d\n", pContentRect->left, pContentRect->top, pContentRect->right, pContentRect->bottom);
TRACE("%s\n", wine_dbgstr_rect(pContentRect));
return S_OK;
}
@ -1758,7 +1758,7 @@ HRESULT WINAPI GetThemeBackgroundExtent(HTHEME hTheme, HDC hdc, int iPartId,
/* If nothing was found, leave unchanged */
}
TRACE("left:%d,top:%d,right:%d,bottom:%d\n", pExtentRect->left, pExtentRect->top, pExtentRect->right, pExtentRect->bottom);
TRACE("%s\n", wine_dbgstr_rect(pExtentRect));
return S_OK;
}
@ -2015,8 +2015,8 @@ HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId,
return E_HANDLE;
if(pBoundingRect)
CopyRect(&rt, pBoundingRect);
rt = *pBoundingRect;
hr = GetThemeFont(hTheme, hdc, iPartId, iStateId, TMT_FONT, &logfont);
if(SUCCEEDED(hr)) {
hFont = CreateFontIndirectW(&logfont);
@ -2027,7 +2027,7 @@ HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId,
oldFont = SelectObject(hdc, hFont);
DrawTextW(hdc, pszText, iCharCount, &rt, dwTextFlags|DT_CALCRECT);
CopyRect(pExtentRect, &rt);
*pExtentRect = rt;
if(hFont) {
SelectObject(hdc, oldFont);

View file

@ -225,3 +225,17 @@ HRESULT WINAPI GetThemeSysString(HTHEME hTheme, int iStringID,
return MSSTYLES_GetPropertyString(tp, pszStringBuff, cchMaxStringChars);
return E_PROP_ID_UNSUPPORTED;
}
#ifndef __REACTOS__
/***********************************************************************
* GetThemeTransitionDuration (UXTHEME.@)
*/
HRESULT WINAPI GetThemeTransitionDuration(HTHEME hTheme, int iPartId, int iStateIdFrom,
int iStateIdTo, int iPropId, DWORD *pdwDuration)
{
FIXME("(%p, %u, %u, %u, %u, %p) stub\n", hTheme, iPartId, iStateIdFrom, iStateIdTo,
iPropId, pdwDuration);
return E_NOTIMPL;
}
#endif

View file

@ -699,8 +699,8 @@ OpenThemeDataInternal(PTHEME_FILE ThemeFile, HWND hwnd, LPCWSTR pszClassList, DW
LPCWSTR pszAppName;
LPCWSTR pszUseClassList;
HTHEME hTheme = NULL;
TRACE("(%p,%s)\n", hwnd, debugstr_w(pszClassList));
TRACE("(%p,%s, %x)\n", hwnd, debugstr_w(pszClassList), flags);
if(!pszClassList)
{
SetLastError(E_POINTER);
@ -894,7 +894,7 @@ HRESULT WINAPI HitTestThemeBackground(HTHEME hTheme, HDC hdc, int iPartId,
FIXME("%d %d 0x%08x: stub\n", iPartId, iStateId, dwOptions);
if(!hTheme)
return E_HANDLE;
return ERROR_CALL_NOT_IMPLEMENTED;
return E_NOTIMPL;
}
/***********************************************************************
@ -1320,7 +1320,7 @@ HRESULT WINAPI ParseThemeIniFile(LPCWSTR pszIniFileName, LPWSTR pszUnknown,
PARSETHEMEINIFILEPROC callback, LPVOID lpData)
{
FIXME("%s %s: stub\n", debugstr_w(pszIniFileName), debugstr_w(pszUnknown));
return ERROR_CALL_NOT_IMPLEMENTED;
return E_NOTIMPL;
}
/**********************************************************************

View file

@ -32,7 +32,7 @@ typedef struct _UXINI_FILE {
LPCWSTR lpIni;
LPCWSTR lpCurLoc;
LPCWSTR lpEnd;
} UXINI_FILE;
} UXINI_FILE, *PUXINI_FILE;
/***********************************************************************/