Author: akhaldi
Date: Wed Nov 23 18:38:48 2016
New Revision: 73365
URL:
http://svn.reactos.org/svn/reactos?rev=73365&view=rev
Log:
[UXTHEME] Reduce difference with Wine Staging 1.9.23. CORE-12409
Modified:
trunk/reactos/dll/win32/uxtheme/buffer.c
trunk/reactos/dll/win32/uxtheme/draw.c
trunk/reactos/dll/win32/uxtheme/metric.c
trunk/reactos/dll/win32/uxtheme/system.c
trunk/reactos/dll/win32/uxtheme/uxini.c
Modified: trunk/reactos/dll/win32/uxtheme/buffer.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/buffer.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/buffer.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/buffer.c [iso-8859-1] Wed Nov 23 18:38:48 2016
@@ -67,3 +67,106 @@
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__ */
Modified: trunk/reactos/dll/win32/uxtheme/draw.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/draw.c?r…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/draw.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/draw.c [iso-8859-1] Wed Nov 23 18:38:48 2016
@@ -82,9 +82,9 @@
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 @@
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 @@
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 @@
}
oldSrc = SelectObject(hdcSrc, bmpSrc);
- CopyRect(&rcDst, pRect);
+ rcDst = *pRect;
get_transparency (hTheme, iPartId, iStateId, hasAlpha, &transparent,
&transparentcolor, FALSE);
@@ -743,7 +743,7 @@
rcSrc.right = srcSize.x;
rcSrc.bottom = srcSize.y;
}
-#endif
+#endif /* __REACTOS__ */
hdcDst = hdc;
OffsetViewportOrgEx(hdcDst, rcDst.left, rcDst.top, &org);
@@ -851,7 +851,7 @@
DeleteDC(hdcSrc);
if (bmpSrcResized) DeleteObject(bmpSrcResized);
if (hdcOrigSrc) DeleteDC(hdcOrigSrc);
- CopyRect(pRect, &rcDst);
+ *pRect = rcDst;
return hr;
}
@@ -989,7 +989,7 @@
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 @@
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 @@
FIXME("%d %d: stub\n", iPartId, iStateId);
if(!hTheme)
return E_HANDLE;
- return ERROR_CALL_NOT_IMPLEMENTED;
+ return E_NOTIMPL;
}
/***********************************************************************
@@ -1710,7 +1710,7 @@
/* 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 @@
/* 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 @@
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 @@
oldFont = SelectObject(hdc, hFont);
DrawTextW(hdc, pszText, iCharCount, &rt, dwTextFlags|DT_CALCRECT);
- CopyRect(pExtentRect, &rt);
+ *pExtentRect = rt;
if(hFont) {
SelectObject(hdc, oldFont);
Modified: trunk/reactos/dll/win32/uxtheme/metric.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/metric.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/metric.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/metric.c [iso-8859-1] Wed Nov 23 18:38:48 2016
@@ -225,3 +225,17 @@
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
Modified: trunk/reactos/dll/win32/uxtheme/system.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/system.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/system.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/system.c [iso-8859-1] Wed Nov 23 18:38:48 2016
@@ -699,8 +699,8 @@
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 @@
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 @@
PARSETHEMEINIFILEPROC callback, LPVOID lpData)
{
FIXME("%s %s: stub\n", debugstr_w(pszIniFileName),
debugstr_w(pszUnknown));
- return ERROR_CALL_NOT_IMPLEMENTED;
+ return E_NOTIMPL;
}
/**********************************************************************
Modified: trunk/reactos/dll/win32/uxtheme/uxini.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxini.c?…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxini.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/uxini.c [iso-8859-1] Wed Nov 23 18:38:48 2016
@@ -32,7 +32,7 @@
LPCWSTR lpIni;
LPCWSTR lpCurLoc;
LPCWSTR lpEnd;
-} UXINI_FILE;
+} UXINI_FILE, *PUXINI_FILE;
/***********************************************************************/