Narrow interface for zone-adjacency queries used by snap navigation. More...
#include <phosphor-snap-engine/include/PhosphorSnapEngine/IZoneAdjacencyResolver.h>
Public Member Functions | |
| IZoneAdjacencyResolver ()=default | |
| virtual | ~IZoneAdjacencyResolver () |
| virtual QString | getAdjacentZone (const QString ¤tZoneId, const QString &direction, const QString &screenId) const =0 |
Find the zone adjacent to currentZoneId in direction. | |
| virtual QString | getFirstZoneInDirection (const QString &direction, const QString &screenId) const =0 |
Find the edge zone in direction when no current zone exists. | |
| IZoneAdjacencyResolver (const IZoneAdjacencyResolver &)=delete | |
| IZoneAdjacencyResolver & | operator= (const IZoneAdjacencyResolver &)=delete |
Narrow interface for zone-adjacency queries used by snap navigation.
SnapNavigationTargetResolver needs two directional zone lookups that live on the daemon's ZoneDetectionAdaptor:
Rather than holding an opaque QObject* and dispatching through QMetaObject::invokeMethod, the resolver now depends on this typed interface. The daemon's ZoneDetectionAdaptor must implement (or wrap) IZoneAdjacencyResolver so that the engine receives a typed pointer.
Not a QObject — pure data queries with no lifecycle signals.
|
default |
|
virtual |
|
delete |
|
pure virtual |
Find the zone adjacent to currentZoneId in direction.
| currentZoneId | Zone the window is currently snapped to |
| direction | "left", "right", "up", or "down" |
| screenId | Screen context for multi-monitor layouts |
|
pure virtual |
Find the edge zone in direction when no current zone exists.
Used when a window is not yet snapped and the user presses a navigation key. Returns the zone at the layout edge in the given direction (e.g. leftmost zone for "left").
| direction | "left", "right", "up", or "down" |
| screenId | Screen context for multi-monitor layouts |
|
delete |