101 void paint(QPaintDevice *device)
override;
102 bool handleMouse(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
103 Qt::MouseButtons b, Qt::KeyboardModifiers mods)
override;
104 bool handleTouch(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
105 QEventPoint::State state, Qt::KeyboardModifiers mods)
override;
112 void loadConfiguration();
114 void updateColors(
bool isDark);
116 void updateTitlebarLayout(
const QString &layout);
119 QRectF buttonRect(
Button button)
const;
124 QColor color(ColorType type,
Button button =
None);
127 bool clickButton(Qt::MouseButtons b,
Button btn);
129 bool doubleClickButton(Qt::MouseButtons b,
const QPointF &local,
const QDateTime ¤tTime);
131 void updateButtonHoverState(
Button hoveredButton);
133 void processMouseTop(QWaylandInputDevice *inputDevice,
const QPointF &local, Qt::MouseButtons b,
134 Qt::KeyboardModifiers mods);
135 void processMouseBottom(QWaylandInputDevice *inputDevice,
const QPointF &local,
136 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
137 void processMouseLeft(QWaylandInputDevice *inputDevice,
const QPointF &local,
138 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
139 void processMouseRight(QWaylandInputDevice *inputDevice,
const QPointF &local,
140 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
143 void requestRepaint()
const;
147 Buttons m_hoveredButtons =
None;
148 QDateTime m_lastButtonClick;
149 QPointF m_lastButtonClickPosition;
152 QMap<Button, uint> m_buttons;
153 QMap<ColorType, QColor> m_colors;
154 QMap<ButtonIcon, QString> m_icons;
155 std::unique_ptr<QFont> m_font;
158 QStaticText m_windowTitle;