[UXTHEME] Reduce difference with Wine Staging 1.9.23. CORE-12409
authorAmine Khaldi <amine.khaldi@reactos.org>
Wed, 23 Nov 2016 18:38:48 +0000 (18:38 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Wed, 23 Nov 2016 18:38:48 +0000 (18:38 +0000)
svn path=/trunk/; revision=73365

reactos/dll/win32/uxtheme/buffer.c
reactos/dll/win32/uxtheme/draw.c
reactos/dll/win32/uxtheme/metric.c
reactos/dll/win32/uxtheme/system.c
reactos/dll/win32/uxtheme/uxini.c

index afe749e..bd5ba34 100644 (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__ */
index ab005fc..2863d17 100644 (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);
index 77deddb..f2bf936 100644 (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
index cb0ca8d..9624b33 100644 (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;
 }
 
 /**********************************************************************
index 9779aba..42088e4 100644 (file)
@@ -32,7 +32,7 @@ typedef struct _UXINI_FILE {
     LPCWSTR lpIni;
     LPCWSTR lpCurLoc;
     LPCWSTR lpEnd;
-} UXINI_FILE;
+} UXINI_FILE, *PUXINI_FILE;
 
 /***********************************************************************/