wayland/surface: fixup self-owning surface roles

fixes #7133
This commit is contained in:
Vaxry
2024-08-03 17:58:06 +02:00
parent 9f5a57ff45
commit ae50f8614d
7 changed files with 61 additions and 31 deletions

View File

@@ -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;