config: add vrr per-display

This commit is contained in:
vaxerski
2023-08-11 17:37:52 +02:00
parent 8a7ce59ad4
commit 3f7f4207a6
4 changed files with 28 additions and 17 deletions

View File

@@ -9,8 +9,21 @@
#include <xf86drmMode.h>
#include "Timer.hpp"
#include "Region.hpp"
#include <optional>
struct SMonitorRule;
struct SMonitorRule {
std::string name = "";
Vector2D resolution = Vector2D(1280, 720);
Vector2D offset = Vector2D(0, 0);
float scale = 1;
float refreshRate = 60;
bool disabled = false;
wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL;
std::string mirrorOf = "";
bool enable10bit = false;
drmModeModeInfo drmMode = {};
std::optional<int> vrr;
};
class CMonitor {
public:
@@ -58,6 +71,8 @@ class CMonitor {
bool RATScheduled = false;
CTimer lastPresentationTimer;
SMonitorRule activeMonitorRule;
// mirroring
CMonitor* pMirrorOf = nullptr;
std::vector<CMonitor*> mirrors;