protocols: Add support for hyprland-ctm-control-v1 (#8023)

* initial ctm support

* flake.lock: update

* Meson: bump required versions and add ctm proto

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
This commit is contained in:
Vaxry
2024-10-08 16:59:15 +01:00
committed by GitHub
parent e0cfbec66b
commit 1bf63dfdcd
10 changed files with 174 additions and 22 deletions

View File

@@ -131,6 +131,10 @@ class CMonitor {
CMonitor* pMirrorOf = nullptr;
std::vector<CMonitor*> mirrors;
// ctm
Mat3x3 ctm = Mat3x3::identity();
bool ctmUpdated = false;
// for tearing
PHLWINDOWREF solitaryClient;
@@ -179,6 +183,7 @@ class CMonitor {
CBox logicalBox();
void scheduleDone();
bool attemptDirectScanout();
void setCTM(const Mat3x3& ctm);
bool m_bEnabled = false;
bool m_bRenderingInitPassed = false;