From 15855fa84a09fd1fd486d357c38db0f2bd181e74 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 4 Mar 2014 23:23:45 +0000 Subject: HistoryStats compiles ok now git-svn-id: http://svn.miranda-ng.org/main/trunk@8399 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/HistoryStats/src/themeapi.cpp | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 plugins/HistoryStats/src/themeapi.cpp (limited to 'plugins/HistoryStats/src/themeapi.cpp') diff --git a/plugins/HistoryStats/src/themeapi.cpp b/plugins/HistoryStats/src/themeapi.cpp new file mode 100644 index 0000000000..a15067bc66 --- /dev/null +++ b/plugins/HistoryStats/src/themeapi.cpp @@ -0,0 +1,53 @@ +#include "_globals.h" +#include "themeapi.h" + +/* + * ThemeAPI + */ + +const mu_text* ThemeAPI::m_szThemesDll = muT("uxtheme.dll"); +HMODULE ThemeAPI::m_hThemesDll = NULL; +bool ThemeAPI::m_bUseTheme = false; + +ThemeAPI::fnCloseThemeData ThemeAPI::CloseThemeData = NULL; +ThemeAPI::fnDrawThemeBackground ThemeAPI::DrawThemeBackground = NULL; +ThemeAPI::fnIsAppThemed ThemeAPI::IsAppThemed = NULL; +ThemeAPI::fnIsThemeActive ThemeAPI::IsThemeActive = NULL; +ThemeAPI::fnOpenThemeData ThemeAPI::OpenThemeData = NULL; +#if !defined(HISTORYSTATS_THEMEAPI_MINIMAL) +ThemeAPI::fnDrawThemeIcon ThemeAPI::DrawThemeIcon = NULL; +ThemeAPI::fnEnableThemeDialogTexture ThemeAPI::EnableThemeDialogTexture = NULL; +ThemeAPI::fnGetThemePartSize ThemeAPI::GetThemePartSize = NULL; +#endif + +void ThemeAPI::init() +{ + m_hThemesDll = LoadLibrary(m_szThemesDll); + + if (m_hThemesDll) + { + CloseThemeData = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("CloseThemeData") )); + DrawThemeBackground = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("DrawThemeBackground") )); + IsAppThemed = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("IsAppThemed") )); + IsThemeActive = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("IsThemeActive") )); + OpenThemeData = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("OpenThemeData") )); +#if !defined(HISTORYSTATS_THEMEAPI_MINIMAL) + DrawThemeIcon = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("DrawThemeIcon") )); + EnableThemeDialogTexture = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("EnableThemeDialogTexture"))); + GetThemePartSize = reinterpret_cast(GetProcAddress(m_hThemesDll, muA("GetThemePartSize") )); +#endif + + m_bUseTheme = IsThemeActive && IsAppThemed; + } +} + +void ThemeAPI::uninit() +{ + if (m_hThemesDll) + { + FreeLibrary(m_hThemesDll); + + m_hThemesDll = NULL; + m_bUseTheme = false; + } +} \ No newline at end of file -- cgit v1.2.3