102 void paint(QPaintDevice *device)
override;
103 bool handleMouse(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
104 Qt::MouseButtons b, Qt::KeyboardModifiers mods)
override;
105 bool handleTouch(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
106 QEventPoint::State state, Qt::KeyboardModifiers mods)
override;
113 void loadConfiguration();
115 void updateColors(
bool isDark);
117 void updateTitlebarLayout(
const QString &layout);
120 QRectF buttonRect(
Button button)
const;
125 QColor color(ColorType type,
Button button =
None);
128 bool clickButton(Qt::MouseButtons b,
Button btn);
130 bool doubleClickButton(Qt::MouseButtons b,
const QPointF &local,
const QDateTime ¤tTime);
132 void updateButtonHoverState(
Button hoveredButton);
134 void processMouseTop(QWaylandInputDevice *inputDevice,
const QPointF &local, Qt::MouseButtons b,
135 Qt::KeyboardModifiers mods);
136 void processMouseBottom(QWaylandInputDevice *inputDevice,
const QPointF &local,
137 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
138 void processMouseLeft(QWaylandInputDevice *inputDevice,
const QPointF &local,
139 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
140 void processMouseRight(QWaylandInputDevice *inputDevice,
const QPointF &local,
141 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
144 void requestRepaint()
const;
148 Buttons m_hoveredButtons =
None;
149 QDateTime m_lastButtonClick;
150 QPointF m_lastButtonClickPosition;
153 QMap<Button, uint> m_buttons;
154 QMap<ColorType, QColor> m_colors;
155 QMap<ButtonIcon, QString> m_icons;
156 std::unique_ptr<QFont> m_font;
159 QStaticText m_windowTitle;