summaryrefslogtreecommitdiff
path: root/src/protocols/LayerShell.hpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-08-03 17:58:06 +0200
committerVaxry <vaxry@vaxry.net>2024-08-03 17:58:06 +0200
commitae50f8614d92132d918663ea7551bd68eb13953a (patch)
tree566b716cbb4e3c56f2977c8c86dc73e6ccf50524 /src/protocols/LayerShell.hpp
parent9f5a57ff4569db57372bd86bd48add85a3a1a5e4 (diff)
wayland/surface: fixup self-owning surface roles
fixes #7133
Diffstat (limited to 'src/protocols/LayerShell.hpp')
-rw-r--r--src/protocols/LayerShell.hpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/protocols/LayerShell.hpp b/src/protocols/LayerShell.hpp
index ee0b7859..801bdfd6 100644
--- a/src/protocols/LayerShell.hpp
+++ b/src/protocols/LayerShell.hpp
@@ -12,16 +12,26 @@
class CMonitor;
class CWLSurfaceResource;
+class CLayerShellResource;
-class CLayerShellResource : public ISurfaceRole {
+class CLayerShellRole : public ISurfaceRole {
+ public:
+ CLayerShellRole(SP<CLayerShellResource> ls);
+
+ virtual eSurfaceRole role() {
+ return SURFACE_ROLE_LAYER_SHELL;
+ }
+
+ WP<CLayerShellResource> layerSurface;
+};
+class CLayerShellResource {
public:
CLayerShellResource(SP<CZwlrLayerSurfaceV1> resource_, SP<CWLSurfaceResource> surf_, std::string namespace_, CMonitor* pMonitor, zwlrLayerShellV1Layer layer);
~CLayerShellResource();
- bool good();
- void configure(const Vector2D& size);
- void sendClosed();
- virtual eSurfaceRole role();
+ bool good();
+ void configure(const Vector2D& size);
+ void sendClosed();
enum eCommittedState {
STATE_SIZE = (1 << 0),