100 void paint(QPaintDevice *device)
override;
101 bool handleMouse(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
102 Qt::MouseButtons b, Qt::KeyboardModifiers mods)
override;
103 bool handleTouch(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
104 QEventPoint::State state, Qt::KeyboardModifiers mods)
override;
111 void loadConfiguration();
113 void updateColors(
bool isDark);
115 void updateTitlebarLayout(
const QString &layout);
118 QRectF buttonRect(
Button button)
const;
123 QColor color(ColorType type,
Button button =
None);
126 bool clickButton(Qt::MouseButtons b,
Button btn);
128 bool doubleClickButton(Qt::MouseButtons b,
const QPointF &local,
const QDateTime ¤tTime);
130 void updateButtonHoverState(
Button hoveredButton);
132 void processMouseTop(QWaylandInputDevice *inputDevice,
const QPointF &local, Qt::MouseButtons b,
133 Qt::KeyboardModifiers mods);
134 void processMouseBottom(QWaylandInputDevice *inputDevice,
const QPointF &local,
135 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
136 void processMouseLeft(QWaylandInputDevice *inputDevice,
const QPointF &local,
137 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
138 void processMouseRight(QWaylandInputDevice *inputDevice,
const QPointF &local,
139 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
142 void requestRepaint()
const;
146 Buttons m_hoveredButtons =
None;
147 QDateTime m_lastButtonClick;
148 QPointF m_lastButtonClickPosition;
151 QMap<Button, uint> m_buttons;
152 QMap<ColorType, QColor> m_colors;
153 QMap<ButtonIcon, QString> m_icons;
154 std::unique_ptr<QFont> m_font;
157 QStaticText m_windowTitle;