14#include <phosphorzones_export.h>
33 Zone* primaryZone =
nullptr;
38 bool isMultiZone =
false;
Pure-query subset of zone detection — read-only geometry lookup.
Definition IZoneDetector.h:54
virtual Zone * nearestZone(const QPointF &point) const =0
IZoneDetection & operator=(const IZoneDetection &)=default
virtual ZoneDetectionResult detectZone(const QPointF &cursorPos) const =0
virtual Layout * layout() const =0
virtual Zone * zoneAtPoint(const QPointF &point) const =0
virtual ~IZoneDetection()
virtual QVector< Zone * > expandPaintedZonesToRect(const QVector< Zone * > &seedZones) const =0
Paint-to-snap: expand painted zones to include all zones intersecting the bounding rect (same raycast...
virtual ZoneDetectionResult detectMultiZone(const QPointF &cursorPos) const =0
IZoneDetection(const IZoneDetection &)=default
Abstract interface for zone detection + highlight lifecycle.
Definition IZoneDetector.h:84
~IZoneDetector() override
virtual void highlightZones(const QVector< Zone * > &zones)=0
IZoneDetector(QObject *parent=nullptr)
Definition IZoneDetector.h:88
virtual void setLayout(Layout *layout)=0
virtual void clearHighlights()=0
virtual void highlightZone(Zone *zone)=0
void zoneHighlighted(Zone *zone)
Represents a collection of zones that form a layout.
Definition Layout.h:74
Represents a single zone within a layout.
Definition Zone.h:44
Definition IWindowTrackingService.h:22
Result of zone detection.
Definition IZoneDetector.h:32
QVector< Zone * > adjacentZones
Definition IZoneDetector.h:34
QRectF snapGeometry
Definition IZoneDetector.h:36
QVector< Zone * > overlappingZones
Definition IZoneDetector.h:35