Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ZoneHighlighter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <phosphorzones_export.h>
7#include <QObject>
8#include <QVector>
9
10namespace PhosphorZones {
11
12class Zone;
13
20class PHOSPHORZONES_EXPORT ZoneHighlighter : public QObject
21{
22 Q_OBJECT
23
24public:
25 explicit ZoneHighlighter(QObject* parent = nullptr);
26 ~ZoneHighlighter() override = default;
27
32 Q_INVOKABLE void highlightZone(Zone* zone);
33
38 Q_INVOKABLE void highlightZones(const QVector<Zone*>& zones);
39
43 Q_INVOKABLE void clearHighlights();
44
45Q_SIGNALS:
46 void zoneHighlighted(Zone* zone);
47 void zonesHighlighted(const QVector<Zone*>& zones);
49
50private:
51 QVector<Zone*> m_highlightedZones;
52};
53
54} // namespace PhosphorZones
Manages zone highlighting state.
Definition ZoneHighlighter.h:21
void zoneHighlighted(Zone *zone)
void zonesHighlighted(const QVector< Zone * > &zones)
ZoneHighlighter(QObject *parent=nullptr)
void highlightZone(Zone *zone)
Highlight a single zone.
void clearHighlights()
Clear all highlights.
void highlightZones(const QVector< Zone * > &zones)
Highlight multiple zones.
~ZoneHighlighter() override=default
Represents a single zone within a layout.
Definition Zone.h:44
Definition IWindowTrackingService.h:22