summaryrefslogtreecommitdiff
path: root/src/protocols/LayerShell.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2024-06-08 10:07:59 +0200
committerGitHub <noreply@github.com>2024-06-08 10:07:59 +0200
commit6967a31450441fc5605c05db6f65505dace4b263 (patch)
tree255a3cff7f3e2eb8a50c952eab9b270a7937561d /src/protocols/LayerShell.hpp
parentc31d9ef4172452f6f219f91d9b87a24d91f0cf3a (diff)
wayland/core: move to new impl (#6268)
* wayland/core/dmabuf: move to new impl it's the final countdown
Diffstat (limited to 'src/protocols/LayerShell.hpp')
-rw-r--r--src/protocols/LayerShell.hpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/protocols/LayerShell.hpp b/src/protocols/LayerShell.hpp
index 9ed6bc66..f348e86b 100644
--- a/src/protocols/LayerShell.hpp
+++ b/src/protocols/LayerShell.hpp
@@ -10,10 +10,11 @@
#include "../helpers/signal/Signal.hpp"
class CMonitor;
+class CWLSurfaceResource;
class CLayerShellResource {
public:
- CLayerShellResource(SP<CZwlrLayerSurfaceV1> resource_, wlr_surface* surf_, std::string namespace_, CMonitor* pMonitor, zwlrLayerShellV1Layer layer);
+ CLayerShellResource(SP<CZwlrLayerSurfaceV1> resource_, SP<CWLSurfaceResource> surf_, std::string namespace_, CMonitor* pMonitor, zwlrLayerShellV1Layer layer);
~CLayerShellResource();
bool good();
@@ -54,18 +55,20 @@ class CLayerShellResource {
void reset();
} current, pending;
- Vector2D size;
- std::string layerNamespace;
- std::string monitor = "";
- wlr_surface* surface = nullptr;
- bool mapped = false;
- bool configured = false;
+ Vector2D size;
+ std::string layerNamespace;
+ std::string monitor = "";
+ WP<CWLSurfaceResource> surface;
+ bool mapped = false;
+ bool configured = false;
private:
SP<CZwlrLayerSurfaceV1> resource;
- DYNLISTENER(destroySurface);
- DYNLISTENER(commitSurface);
+ struct {
+ CHyprSignalListener commitSurface;
+ CHyprSignalListener destroySurface;
+ } listeners;
bool closed = false;