summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-17 16:56:33 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-17 16:56:33 +0100
commitd6c2553af2fc42b3ea61a1bd5f6e2cc395deccbe (patch)
treee690297fd4f953824129dd148bcec66a63a86957 /src/config/ConfigManager.hpp
parentcf51ab71a25cbb60ebcf13edd4b7413c23264128 (diff)
start handling monitors
Diffstat (limited to 'src/config/ConfigManager.hpp')
-rw-r--r--src/config/ConfigManager.hpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp
index 5e58173a..eda06044 100644
--- a/src/config/ConfigManager.hpp
+++ b/src/config/ConfigManager.hpp
@@ -5,6 +5,7 @@
#include <unordered_map>
#include "../defines.hpp"
#include <vector>
+#include <deque>
struct SConfigValue {
int64_t intValue = -1;
@@ -12,6 +13,14 @@ struct SConfigValue {
std::string strValue = "";
};
+struct SMonitorRule {
+ std::string name = "";
+ Vector2D resolution = Vector2D(1280,720);
+ Vector2D offset = Vector2D(0,0);
+ float mfact = 0.5;
+ float scale = 1;
+};
+
class CConfigManager {
public:
CConfigManager();
@@ -22,6 +31,8 @@ public:
float getFloat(std::string);
std::string getString(std::string);
+ SMonitorRule getMonitorRuleFor(std::string);
+
private:
std::unordered_map<std::string, SConfigValue> configValues;
time_t lastModifyTime = 0; // for reloading the config if changed
@@ -32,12 +43,15 @@ private:
bool isFirstLaunch = true; // For exec-once
+ std::deque<SMonitorRule> m_dMonitorRules;
+
// internal methods
void loadConfigLoadVars();
SConfigValue getConfigValueSafe(std::string);
void parseLine(std::string&);
void configSetValueSafe(const std::string&, const std::string&);
void handleRawExec(const std::string&, const std::string&);
+ void handleMonitor(const std::string&, const std::string&);
};
inline std::unique_ptr<CConfigManager> g_pConfigManager; \ No newline at end of file