#pragma once #include "../../defines.hpp" #include #include "WLSurface.hpp" #include "View.hpp" class CSessionLockSurface; namespace Desktop::View { class CSessionLock : public IView { public: static SP create(SP resource); static SP fromView(SP); virtual ~CSessionLock(); virtual eViewType type() const; virtual bool visible() const; virtual std::optional logicalBox() const; virtual bool desktopComponent() const; virtual std::optional surfaceLogicalBox() const; PHLMONITOR monitor() const; WP m_self; private: CSessionLock(); void init(); struct { CHyprSignalListener destroy; } m_listeners; WP m_surface; }; }