Louvre  v2.13.0-1
C++ library for Wayland compositors
Public Member Functions | List of all members
LDNDIconRole Class Reference

Drag & drop icon role for surfaces. More...

+ Inheritance diagram for LDNDIconRole:

Public Member Functions

 LDNDIconRole (const void *params) noexcept
 Constructor of the LDNDIconRole class. More...
 
 ~LDNDIconRole ()
 Destructor of the LDNDIconRole class. More...
 
const LPointhotspot () const noexcept
 Hotspot of the icon in surface coordinates. More...
 
const LPointhotspotB () const noexcept
 Hotspot of the icon in buffer coordinates. More...
 
virtual void hotspotChanged () const
 Notify a hotspot change. More...
 
virtual const LPointrolePos () const override
 Position of the surface given the role. More...
 
- Public Member Functions inherited from LBaseSurfaceRole
 LBaseSurfaceRole (LFactoryObject::Type type, LResource *resource, LSurface *surface, UInt32 roleId) noexcept
 Constructor of LBaseSurfaceRole class. More...
 
 ~LBaseSurfaceRole ()
 The LBaseSurfaceRole class destructor. More...
 
virtual LOutputexclusiveOutput () const
 The output to which the surface should be constrained. More...
 
UInt32 roleId () const noexcept
 Role ID. More...
 
LSurfacesurface () const noexcept
 Returns the surface that has acquired the role provided in the constructor. More...
 
LResourceresource () const
 Returns the Wayland resource for this role given in the constructor. More...
 
LClientclient () const noexcept
 Client owner of the surface role. More...
 
- Public Member Functions inherited from LFactoryObject
Type factoryObjectType () const noexcept
 Gets the base factory object type. More...
 
- Public Member Functions inherited from LObject
 LObject (const LObject &) noexcept
 Copy constructor. More...
 
LObjectoperator= (const LObject &) noexcept
 Assignment operator (each object has its own individual LWeak reference count). More...
 
void setUserData (UIntPtr data) const noexcept
 Store an unsigned integer value/pointer. More...
 
UIntPtr userData () const noexcept
 Retrieves the stored unsigned integer value/pointer. More...
 

Additional Inherited Members

- Public Types inherited from LBaseSurfaceRole
enum  CommitOrigin
 Commit origin. More...
 
- Public Types inherited from LFactoryObject
enum class  Type : Int32
 Base factory object types. More...
 
- Protected Member Functions inherited from LBaseSurfaceRole
virtual bool acceptCommitRequest (CommitOrigin origin)
 Asks if the surface commit should be processed. More...
 
virtual void handleSurfaceBufferAttach (wl_resource *buffer, Int32 x, Int32 y)
 Notifies a new surface buffer attachment. More...
 
virtual void handleParentCommit ()
 Notifies a parent surface commit. More...
 
virtual void handleParentMappingChange ()
 Notifies when the mapping state of the parent surface changes. More...
 
virtual void handleParentChange ()
 Notifies when the parent surface changes. More...
 
- Protected Member Functions inherited from LObject
 LObject () noexcept=default
 Constructor of the LObject class. More...
 
virtual ~LObject () noexcept
 Destructor of the LObject class. More...
 
void notifyDestruction () noexcept
 Notifies the object destruction. More...
 
- Protected Attributes inherited from LBaseSurfaceRole
LPoint m_rolePos
 Variable that stores the surface position given the role. More...
 

Detailed Description

Drag & drop icon role for surfaces.

The LDNDIconRole role is used during drag & drop sessions. See LDND::icon().

Constructor & Destructor Documentation

◆ LDNDIconRole()

LDNDIconRole ( const void *  params)
noexcept

Constructor of the LDNDIconRole class.

Parameters
paramsInternal parameters provided in LCompositor::createObjectRequest().

◆ ~LDNDIconRole()

Destructor of the LDNDIconRole class.

Invoked after LCompositor::onAnticipatedObjectDestruction().

Member Function Documentation

◆ hotspot()

const LPoint& hotspot ( ) const
inlinenoexcept

Hotspot of the icon in surface coordinates.

◆ hotspotB()

const LPoint& hotspotB ( ) const
inlinenoexcept

Hotspot of the icon in buffer coordinates.

◆ hotspotChanged()

virtual void hotspotChanged ( ) const
virtual

Notify a hotspot change.

Default implementation

{
/* No default implementation */
}
virtual void hotspotChanged() const
Notify a hotspot change.

◆ rolePos()

virtual const LPoint& rolePos ( ) const
overridevirtual

Position of the surface given the role.

The position of the icon given the role is calculated by subtracting the hotspot from LSurface::pos().

Default implementation

{
return m_rolePos;
}
LSurface * surface() const noexcept
Returns the surface that has acquired the role provided in the constructor.
Definition: LBaseSurfaceRole.h:117
LPoint m_rolePos
Variable that stores the surface position given the role.
Definition: LBaseSurfaceRole.h:144
virtual const LPoint & rolePos() const override
Position of the surface given the role.
const LPoint & hotspot() const noexcept
Hotspot of the icon in surface coordinates.
Definition: LDNDIconRole.h:41
const LPoint & pos() const noexcept
Position given by the compositor.
Definition: LSurface.cpp:321
LPointTemplate< Int32 > LPoint
2D vector of 32 bits integers
Definition: LNamespaces.h:250

Implements LBaseSurfaceRole.