summaryrefslogtreecommitdiff
path: root/src/protocols/XDGShell.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/XDGShell.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/XDGShell.hpp')
-rw-r--r--src/protocols/XDGShell.hpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/protocols/XDGShell.hpp b/src/protocols/XDGShell.hpp
index 1dbeb209..fe2517a2 100644
--- a/src/protocols/XDGShell.hpp
+++ b/src/protocols/XDGShell.hpp
@@ -16,6 +16,7 @@ class CXDGSurfaceResource;
class CXDGToplevelResource;
class CXDGPopupResource;
class CSeatGrab;
+class CWLSurfaceResource;
struct SXDGPositionerState {
Vector2D requestedSize;
@@ -138,7 +139,7 @@ class CXDGToplevelResource {
class CXDGSurfaceResource {
public:
- CXDGSurfaceResource(SP<CXdgSurface> resource_, SP<CXDGWMBase> owner_, wlr_surface* surface_);
+ CXDGSurfaceResource(SP<CXdgSurface> resource_, SP<CXDGWMBase> owner_, SP<CWLSurfaceResource> surface_);
~CXDGSurfaceResource();
static SP<CXDGSurfaceResource> fromResource(wl_resource*);
@@ -146,7 +147,7 @@ class CXDGSurfaceResource {
bool good();
WP<CXDGWMBase> owner;
- wlr_surface* surface = nullptr;
+ WP<CWLSurfaceResource> surface;
WP<CXDGToplevelResource> toplevel;
WP<CXDGPopupResource> popup;
@@ -184,8 +185,10 @@ class CXDGSurfaceResource {
//
std::vector<WP<CXDGPopupResource>> popups;
- DYNLISTENER(surfaceDestroy);
- DYNLISTENER(surfaceCommit);
+ struct {
+ CHyprSignalListener surfaceDestroy;
+ CHyprSignalListener surfaceCommit;
+ } listeners;
friend class CXDGPopupResource;
friend class CXDGToplevelResource;