diff options
| author | UjinT34 <41110182+UjinT34@users.noreply.github.com> | 2025-08-29 14:31:07 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-29 13:31:07 +0200 |
| commit | 05a1c0aa7395d19213e587c83089ecbd7b92085c (patch) | |
| tree | 32a26c919feddafaf9e91c1c6274515622be39d3 /src/protocols/core/Compositor.cpp | |
| parent | 790e544689e7f7a906ee291a6715bc6833b15606 (diff) | |
renderer: Fix CM for DS and SDR passthrough (#11503)
Diffstat (limited to 'src/protocols/core/Compositor.cpp')
| -rw-r--r-- | src/protocols/core/Compositor.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp index a859148f..484df21f 100644 --- a/src/protocols/core/Compositor.cpp +++ b/src/protocols/core/Compositor.cpp @@ -423,6 +423,10 @@ SP<CWLSurfaceResource> CWLSurfaceResource::findFirstPreorder(std::function<bool( return findFirstPreorderHelper(m_self.lock(), fn); } +SP<CWLSurfaceResource> CWLSurfaceResource::findWithCM() { + return findFirstPreorder([this](SP<CWLSurfaceResource> surf) { return surf->m_colorManagement.valid() && surf->extends() == extends(); }); +} + std::pair<SP<CWLSurfaceResource>, Vector2D> CWLSurfaceResource::at(const Vector2D& localCoords, bool allowsInput) { std::vector<std::pair<SP<CWLSurfaceResource>, Vector2D>> surfs; breadthfirst([&surfs](SP<CWLSurfaceResource> surf, const Vector2D& offset, void* data) { surfs.emplace_back(std::make_pair<>(surf, offset)); }, &surfs); |
