wayland/core: move to new impl (#6268)

* wayland/core/dmabuf: move to new impl

it's the final countdown
This commit is contained in:
Vaxry 2024-06-08 10:07:59 +02:00 committed by GitHub
parent c31d9ef417
commit 6967a31450
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
147 changed files with 5388 additions and 2226 deletions

View file

@ -7,22 +7,23 @@
#include "../helpers/signal/Signal.hpp"
class CIdleInhibitorResource;
class CWLSurfaceResource;
class CIdleInhibitor {
public:
CIdleInhibitor(SP<CIdleInhibitorResource> resource_, wlr_surface* surf_);
CIdleInhibitor(SP<CIdleInhibitorResource> resource_, SP<CWLSurfaceResource> surf_);
struct {
CHyprSignalListener destroy;
} listeners;
WP<CIdleInhibitorResource> resource;
wlr_surface* surface = nullptr;
WP<CWLSurfaceResource> surface;
};
class CIdleInhibitorResource {
public:
CIdleInhibitorResource(SP<CZwpIdleInhibitorV1> resource_, wlr_surface* surface_);
CIdleInhibitorResource(SP<CZwpIdleInhibitorV1> resource_, SP<CWLSurfaceResource> surface_);
~CIdleInhibitorResource();
SP<CIdleInhibitor> inhibitor;
@ -33,10 +34,12 @@ class CIdleInhibitorResource {
private:
SP<CZwpIdleInhibitorV1> resource;
wlr_surface* surface = nullptr;
WP<CWLSurfaceResource> surface;
bool destroySent = false;
DYNLISTENER(surfaceDestroy);
struct {
CHyprSignalListener destroySurface;
} listeners;
};
class CIdleInhibitProtocol : public IWaylandProtocol {
@ -51,7 +54,7 @@ class CIdleInhibitProtocol : public IWaylandProtocol {
private:
void onManagerResourceDestroy(wl_resource* res);
void onCreateInhibitor(CZwpIdleInhibitManagerV1* pMgr, uint32_t id, wlr_surface* surface);
void onCreateInhibitor(CZwpIdleInhibitManagerV1* pMgr, uint32_t id, SP<CWLSurfaceResource> surface);
void removeInhibitor(CIdleInhibitorResource*);
@ -64,4 +67,4 @@ class CIdleInhibitProtocol : public IWaylandProtocol {
namespace PROTO {
inline UP<CIdleInhibitProtocol> idleInhibit;
}
}