From 0994fad7e9f562cb2d6895d177eb5be1d4444185 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Mon, 25 Mar 2013 18:00:53 +0200 Subject: [PATCH] Add UseD2D option to Rainmeter.ini (defaults to 0) --- Library/MeterWindow.cpp | 4 ++-- Library/Rainmeter.cpp | 3 +++ Library/Rainmeter.h | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Library/MeterWindow.cpp b/Library/MeterWindow.cpp index b35c9477..e998a0e1 100644 --- a/Library/MeterWindow.cpp +++ b/Library/MeterWindow.cpp @@ -36,8 +36,8 @@ #include "TintedImage.h" #include "MeasureScript.h" #include "../Version.h" -#include "../Common/Gfx/CanvasGDIP.h" #include "../Common/Gfx/CanvasD2D.h" +#include "../Common/Gfx/CanvasGDIP.h" using namespace Gdiplus; @@ -143,7 +143,7 @@ CMeterWindow::CMeterWindow(const std::wstring& folderPath, const std::wstring& f m_FontCollection(), m_ToolTipHidden(false) { - m_Canvas = Platform::IsAtLeastWinVista() ? + m_Canvas = (Platform::IsAtLeastWinVista() && Rainmeter->CanUseD2D()) ? (Gfx::Canvas*)new Gfx::CanvasD2D() : (Gfx::Canvas*)new Gfx::CanvasGDIP(); if (!c_DwmInstance && Platform::IsAtLeastWinVista()) diff --git a/Library/Rainmeter.cpp b/Library/Rainmeter.cpp index ed3e3e28..d18ce24e 100644 --- a/Library/Rainmeter.cpp +++ b/Library/Rainmeter.cpp @@ -688,6 +688,7 @@ void CRainmeter::Bang_Log(std::vector& args) */ CRainmeter::CRainmeter() : m_TrayWindow(), + m_UseD2D(false), m_Debug(false), m_DisableVersionCheck(false), m_NewVersion(false), @@ -2456,6 +2457,8 @@ void CRainmeter::ReadGeneralSettings(const std::wstring& iniFile) CConfigParser parser; parser.Initialize(iniFile, NULL, NULL); + m_UseD2D = 0!=parser.ReadInt(L"Rainmeter", L"UseD2D", 0); + // Read Logging settings m_Logging = 0!=parser.ReadInt(L"Rainmeter", L"Logging", 0); m_Debug = 0!=parser.ReadInt(L"Rainmeter", L"Debug", 0); diff --git a/Library/Rainmeter.h b/Library/Rainmeter.h index 07a45600..6dc72d08 100644 --- a/Library/Rainmeter.h +++ b/Library/Rainmeter.h @@ -167,6 +167,8 @@ public: HINSTANCE GetResourceInstance() { return m_ResourceInstance; } LCID GetResourceLCID() { return m_ResourceLCID; } + bool CanUseD2D() const { return m_UseD2D; } + bool GetDebug() { return m_Debug; } GlobalOptions& GetGlobalOptions() { return m_GlobalOptions; } @@ -298,6 +300,8 @@ private: std::wstring m_TrayExecuteDR; std::wstring m_TrayExecuteDM; + bool m_UseD2D; + bool m_Debug; bool m_DisableVersionCheck;