summaryrefslogtreecommitdiff
path: root/src/protocols/core/Subcompositor.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/core/Subcompositor.hpp
parent9f5a57ff4569db57372bd86bd48add85a3a1a5e4 (diff)
wayland/surface: fixup self-owning surface roles
fixes #7133
Diffstat (limited to 'src/protocols/core/Subcompositor.hpp')
-rw-r--r--src/protocols/core/Subcompositor.hpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/protocols/core/Subcompositor.hpp b/src/protocols/core/Subcompositor.hpp
index 824f0ffc..2e6b10bb 100644
--- a/src/protocols/core/Subcompositor.hpp
+++ b/src/protocols/core/Subcompositor.hpp
@@ -16,15 +16,26 @@
#include "../types/SurfaceRole.hpp"
class CWLSurfaceResource;
+class CWLSubsurfaceResource;
-class CWLSubsurfaceResource : public ISurfaceRole {
+class CSubsurfaceRole : public ISurfaceRole {
+ public:
+ CSubsurfaceRole(SP<CWLSubsurfaceResource> sub);
+
+ virtual eSurfaceRole role() {
+ return SURFACE_ROLE_SUBSURFACE;
+ }
+
+ WP<CWLSubsurfaceResource> subsurface;
+};
+
+class CWLSubsurfaceResource {
public:
CWLSubsurfaceResource(SP<CWlSubsurface> resource_, SP<CWLSurfaceResource> surface_, SP<CWLSurfaceResource> parent_);
~CWLSubsurfaceResource();
Vector2D posRelativeToParent();
bool good();
- virtual eSurfaceRole role();
SP<CWLSurfaceResource> t1Parent();
bool sync = false;