Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
PhosphorZones::IZoneDetector Class Referenceabstract

Abstract interface for zone detection + highlight lifecycle. More...

#include <phosphor-zones/include/PhosphorZones/IZoneDetector.h>

Inheritance diagram for PhosphorZones::IZoneDetector:
[legend]

Signals

void layoutChanged ()
 
void zoneHighlighted (Zone *zone)
 
void highlightsCleared ()
 

Public Member Functions

 IZoneDetector (QObject *parent=nullptr)
 
 ~IZoneDetector () override
 
virtual void setLayout (Layout *layout)=0
 
virtual void highlightZone (Zone *zone)=0
 
virtual void highlightZones (const QVector< Zone * > &zones)=0
 
virtual void clearHighlights ()=0
 
- Public Member Functions inherited from PhosphorZones::IZoneDetection
 IZoneDetection ()=default
 
virtual ~IZoneDetection ()
 
virtual Layoutlayout () const =0
 
virtual ZoneDetectionResult detectZone (const QPointF &cursorPos) const =0
 
virtual ZoneDetectionResult detectMultiZone (const QPointF &cursorPos) const =0
 
virtual ZonezoneAtPoint (const QPointF &point) const =0
 
virtual ZonenearestZone (const QPointF &point) const =0
 
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 raycasting algorithm as detectMultiZone and the editor).
 

Additional Inherited Members

- Protected Member Functions inherited from PhosphorZones::IZoneDetection
 IZoneDetection (const IZoneDetection &)=default
 
IZoneDetectionoperator= (const IZoneDetection &)=default
 

Detailed Description

Abstract interface for zone detection + highlight lifecycle.

Extends IZoneDetection with mutating highlight-management methods and the Qt signals that accompany them. Split is ISP-friendly — callers that only query (and don't care about highlights) take IZoneDetection*.

Constructor & Destructor Documentation

◆ IZoneDetector()

PhosphorZones::IZoneDetector::IZoneDetector ( QObject *  parent = nullptr)
inlineexplicit

◆ ~IZoneDetector()

PhosphorZones::IZoneDetector::~IZoneDetector ( )
override

Member Function Documentation

◆ clearHighlights()

virtual void PhosphorZones::IZoneDetector::clearHighlights ( )
pure virtual

Implemented in PhosphorZones::ZoneDetector.

◆ highlightsCleared

void PhosphorZones::IZoneDetector::highlightsCleared ( )
signal

◆ highlightZone()

virtual void PhosphorZones::IZoneDetector::highlightZone ( Zone zone)
pure virtual

Implemented in PhosphorZones::ZoneDetector.

◆ highlightZones()

virtual void PhosphorZones::IZoneDetector::highlightZones ( const QVector< Zone * > &  zones)
pure virtual

Implemented in PhosphorZones::ZoneDetector.

◆ layoutChanged

void PhosphorZones::IZoneDetector::layoutChanged ( )
signal

◆ setLayout()

virtual void PhosphorZones::IZoneDetector::setLayout ( Layout layout)
pure virtual

Implemented in PhosphorZones::ZoneDetector.

◆ zoneHighlighted

void PhosphorZones::IZoneDetector::zoneHighlighted ( Zone zone)
signal

The documentation for this class was generated from the following file: