KWayland::Server::LockedPointerInterface

Search for usage in LXR

KWayland::Server::LockedPointerInterface Class Reference

#include <pointerconstraints_interface.h>

Inheritance diagram for KWayland::Server::LockedPointerInterface:

Public Types

enum  LifeTime { OneShot, Persistent }
 

Signals

void cursorPositionHintChanged ()
 
void lockedChanged ()
 
void regionChanged ()
 
- Signals inherited from KWayland::Server::Resource
void aboutToBeUnbound ()
 
void unbound ()
 

Public Member Functions

QPointF cursorPositionHint () const
 
PointerConstraintsInterfaceVersion interfaceVersion () const
 
bool isLocked () const
 
LifeTime lifeTime () const
 
QRegion region () const
 
void setLocked (bool locked)
 
- Public Member Functions inherited from KWayland::Server::Resource
ClientConnectionclient ()
 
void create (ClientConnection *client, quint32 version, quint32 id)
 
Globalglobal ()
 
quint32 id () const
 
wl_resource * parentResource () const
 
wl_resource * resource ()
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Member Functions

 LockedPointerInterface (Private *p, QObject *parent=nullptr)
 
- Protected Member Functions inherited from KWayland::Server::Resource
 Resource (Private *d, QObject *parent=nullptr)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Attributes inherited from KWayland::Server::Resource
QScopedPointer< Private > d
 

Detailed Description

The LockedPointerInterface lets the client request to disable movements of the virtual pointer (i.e.

the cursor), effectively locking the pointer to a position.

It is up to the compositor whether the lock gets activated. To activate it needs to use LockedPointerInterface::setLocked. The compositor needs to ensure that the SurfaceInterface has pointer focus and that the pointer is inside the LockedPointerInterface::region when it activates the lock.

While the lock is active the PointerInterface does no longer emit pointer motion events, but still emits relative pointer motion events.

Since
5.29

Definition at line 80 of file pointerconstraints_interface.h.

Member Function Documentation

◆ cursorPositionHint()

QPointF KWayland::Server::LockedPointerInterface::cursorPositionHint ( ) const

Indicates where the mouse cursor should be positioned after it has been unlocked again.

The compositor can warp the cursor at this moment to the position. For that it will not emit any relative motion events. The hint is relative to the top-left corner of the surface the lock was applied to. Only non-negative x and y values are allowed. Otherwise the hint is invalid and should be ignored by the compositor.

In case the client never set the hint, an invalid one will be returned.

This function should be called when the compositor decides to break the lock or the client unbinds the resource. To set the position in this case the compositor should call this function when the aboutToBeUnbound signal has been emitted.

See also
cursorPositionHintChanged
Since
5.49

Definition at line 105 of file pointerconstraints_interface.cpp.

◆ cursorPositionHintChanged

void KWayland::Server::LockedPointerInterface::cursorPositionHintChanged ( )
signal

Emitted whenever the cursor position hint changes.

This happens when the parent SurfaceInterface gets committed

See also
cursorPositionHint
Since
5.49

◆ interfaceVersion()

PointerConstraintsInterfaceVersion KWayland::Server::LockedPointerInterface::interfaceVersion ( ) const
Returns
The interface version used by this LockedPointerInterface

Definition at line 87 of file pointerconstraints_interface.cpp.

◆ isLocked()

bool KWayland::Server::LockedPointerInterface::isLocked ( ) const

Whether the Compositor set this pointer lock to be active.

See also
setLocked
lockedChanged

Definition at line 111 of file pointerconstraints_interface.cpp.

◆ lockedChanged

void KWayland::Server::LockedPointerInterface::lockedChanged ( )
signal

Emitted whenever the isLocked state changes.

See also
isLocked
setLocked

◆ region()

QRegion KWayland::Server::LockedPointerInterface::region ( ) const

The intersection of this region and the input region of the SurfaceInterface is used to determine where the pointer must be in order for the lock to activate.

It is up to the compositor whether to warp the pointer or require some kind of user interaction for the lock to activate.

If the region is empty the SurfaceInterface input region is used.

See also
regionChanged
SurfaceInterface::input

Definition at line 99 of file pointerconstraints_interface.cpp.

◆ regionChanged

void KWayland::Server::LockedPointerInterface::regionChanged ( )
signal

Emitted whenever the region changes.

This happens when the parent SurfaceInterface gets committed

See also
region

◆ setLocked()

void KWayland::Server::LockedPointerInterface::setLocked ( bool  locked)

Activates or deactivates the lock.

A pointer lock can only be activated if the SurfaceInterface this LockedPointerInterface was created for has pointer focus and the pointer is inside the region.

Unlocking resets the cursor position hint.

Parameters
lockedWhether the lock should be active
See also
isLocked
lockedChanged

Definition at line 117 of file pointerconstraints_interface.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Sep 25 2023 03:47:38 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.