summaryrefslogtreecommitdiff
path: root/alf/alfcompat.cpp
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-18 20:44:30 +0200
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-18 20:44:30 +0200
commit7cd2534f64de622bb4bbaee35e58b83396b12f66 (patch)
treeffc6ddb2f266322661fa5df3942827aceb137a30 /alf/alfcompat.cpp
parent479d1226faaa937ef6820b14f36099ef3f575883 (diff)
notebook: draw themed background tiled like winxp does it
Diffstat (limited to 'alf/alfcompat.cpp')
-rw-r--r--alf/alfcompat.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/alf/alfcompat.cpp b/alf/alfcompat.cpp
index e3d8b15..5416d9b 100644
--- a/alf/alfcompat.cpp
+++ b/alf/alfcompat.cpp
@@ -411,6 +411,21 @@ ALF_Compat_fallbackGetThemeTransitionDuration(HTHEME hTheme,
return E_NOTIMPL;
}
+static HRESULT WINAPI
+ALF_Compat_fallbackGetThemePartSize(HTHEME hTheme,
+ HDC hdc,
+ int iPartId,
+ int iStateId,
+ RECT *prc,
+ THEMESIZE eSize,
+ SIZE *psz)
+{
+ (void)hTheme; (void)hdc; (void)iPartId; (void)iStateId; (void)prc; (void)eSize; (void)psz;
+
+ return E_NOTIMPL;
+}
+
+
#define LOAD_FUNC(dll, name) do { \
if (_alf_dll_##dll) \
*((FARPROC*)&ALF_Compat_##name) = GetProcAddress(_alf_dll_##dll, #name); \
@@ -483,6 +498,7 @@ void ALF_LoadCompatFunctions(void)
LOAD_FUNC(uxtheme, EndBufferedAnimation);
LOAD_FUNC(uxtheme, BufferedPaintRenderAnimation);
LOAD_FUNC(uxtheme, GetThemeTransitionDuration);
+ LOAD_FUNC(uxtheme, GetThemePartSize);
}
void ALF_UnloadCompatFunctions(void)
@@ -510,6 +526,7 @@ void ALF_UnloadCompatFunctions(void)
UNLOAD_FUNC(EndBufferedAnimation);
UNLOAD_FUNC(BufferedPaintRenderAnimation);
UNLOAD_FUNC(GetThemeTransitionDuration);
+ UNLOAD_FUNC(GetThemePartSize);
FreeLibrary(_alf_dll_uxtheme);
FreeLibrary(_alf_dll_user32);
@@ -537,6 +554,7 @@ HRESULT (WINAPI *ALF_Compat_GetThemeBackgroundContentRect)(HTHEME,HDC,int,int,co
HRESULT (WINAPI *ALF_Compat_GetThemeTextExtent)(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,const RECT *, RECT *) = NULL;
HRESULT (WINAPI *ALF_Compat_DrawThemeText)(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD,const RECT *) = NULL;
BOOL (WINAPI *ALF_Compat_TrackMouseEvent)(LPTRACKMOUSEEVENT tme) = NULL;
+HRESULT (WINAPI *ALF_Compat_GetThemePartSize)(HTHEME,HDC,int,int,RECT *,THEMESIZE,SIZE *) = NULL;
HRESULT (WINAPI *ALF_Compat_BufferedPaintInit)(void) = NULL;
HRESULT (WINAPI *ALF_Compat_BufferedPaintUnInit)(void) = NULL;
ALF_Compat_HANIMATIONBUFFER (WINAPI *ALF_Compat_BeginBufferedAnimation)(HWND,HDC,const RECT *,DWORD,ALF_Compat_BP_PAINTPARAMS *,ALF_Compat_BP_ANIMATIONPARAMS *,HDC *,HDC *) = NULL;