Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add UseD2D option to Rainmeter.ini (defaults to 0)

  • Loading branch information...
commit 0994fad7e9f562cb2d6895d177eb5be1d4444185 1 parent ef1cf22
@poiru poiru authored
View
4 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())
View
3  Library/Rainmeter.cpp
@@ -688,6 +688,7 @@ void CRainmeter::Bang_Log(std::vector<std::wstring>& 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);
View
4 Library/Rainmeter.h
@@ -167,6 +167,8 @@ class CRainmeter
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 @@ class CRainmeter
std::wstring m_TrayExecuteDR;
std::wstring m_TrayExecuteDM;
+ bool m_UseD2D;
+
bool m_Debug;
bool m_DisableVersionCheck;
Please sign in to comment.
Something went wrong with that request. Please try again.