![]() |
Louvre v2.16.0-1
C++ library for Wayland compositors
|
Surface displayed during a session lock. More...
#include <LSessionLockRole.h>
Public Member Functions | |
LSessionLockRole (const void *params) noexcept | |
Constructor of the LSessionLockRole class. | |
~LSessionLockRole () | |
Destructor of the LSessionLockRole class. | |
LOutput * | exclusiveOutput () const override |
The output the surface is assigned to. | |
virtual const LPoint & | rolePos () const override |
Surface position. | |
![]() | |
LBaseSurfaceRole (LFactoryObject::Type type, LResource *resource, LSurface *surface, UInt32 roleId) noexcept | |
Constructor of LBaseSurfaceRole class. | |
~LBaseSurfaceRole () | |
The LBaseSurfaceRole class destructor. | |
UInt32 | roleId () const noexcept |
Role ID. | |
LSurface * | surface () const noexcept |
Returns the surface that has acquired the role provided in the constructor. | |
LResource * | resource () const |
Returns the Wayland resource for this role given in the constructor. | |
LClient * | client () const noexcept |
Client owner of the surface role. | |
![]() | |
Type | factoryObjectType () const noexcept |
Gets the base factory object type. | |
![]() | |
LObject (const LObject &) noexcept | |
Copy constructor. | |
LObject & | operator= (const LObject &) noexcept |
Assignment operator (each object has its own individual LWeak reference count). | |
void | setUserData (UIntPtr data) const noexcept |
Store an unsigned integer value/pointer. | |
UIntPtr | userData () const noexcept |
Retrieves the stored unsigned integer value/pointer. | |
Additional Inherited Members | |
![]() | |
enum | CommitOrigin |
Commit origin. More... | |
![]() | |
enum class | Type : Int32 |
Base factory object types. More... | |
![]() | |
virtual bool | acceptCommitRequest (CommitOrigin origin) |
Asks if the surface commit should be processed. | |
virtual void | handleSurfaceBufferAttach (wl_resource *buffer, Int32 x, Int32 y) |
Notifies a new surface buffer attachment. | |
virtual void | handleSurfaceOffset (Int32 x, Int32 y) |
Notifies a surface buffer offset change. | |
virtual void | handleParentCommit () |
Notifies a parent surface commit. | |
virtual void | handleParentMappingChange () |
Notifies when the mapping state of the parent surface changes. | |
virtual void | handleParentChange () |
Notifies when the parent surface changes. | |
![]() | |
LObject () noexcept=default | |
Constructor of the LObject class. | |
virtual | ~LObject () noexcept |
Destructor of the LObject class. | |
void | notifyDestruction () noexcept |
Notifies the object destruction. | |
![]() | |
LPoint | m_rolePos |
Variable that stores the surface position given the role. | |
Surface displayed during a session lock.
LSessionLockRole is used by session-locking clients to display arbitrary graphics while the session is locked.
When a client requests to lock a session (see LSessionLockManager::lockRequest()), it first creates an LSessionLockRole for each initialized output, sized to match each output's dimensions (the size is then automatically adjusted when output dimensions change).
All surfaces with this role start off unmapped, they only become mapped if permission to lock the session is granted to the client. Subsequently, they are unmapped again when the session is unlocked.
If the client terminates before unlocking the session (see LSessionLockManager::DeadLocked), the session must remain locked, and a fallback mechanism should be employed to authenticate the user, such as relaunching the same locking client.
|
noexcept |
Constructor of the LSessionLockRole class.
params | Internal parameters provided in LCompositor::createObjectRequest(). |
|
inline |
Destructor of the LSessionLockRole class.
Invoked after LCompositor::onAnticipatedObjectDestruction().
|
inlineoverridevirtual |
The output the surface is assigned to.
nullptr
if the output is unplugged. Reimplemented from LBaseSurfaceRole.
|
overridevirtual |
Surface position.
The default implementation returns the same position as the output it is assigned to.
Implements LBaseSurfaceRole.