90 void paint(QPaintDevice *device)
override;
91 bool handleMouse(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
92 Qt::MouseButtons b, Qt::KeyboardModifiers mods)
override;
93 bool handleTouch(QWaylandInputDevice *inputDevice,
const QPointF &local,
const QPointF &global,
94 QEventPoint::State state, Qt::KeyboardModifiers mods)
override;
101 void loadConfiguration();
103 void updateColors(
bool isDark);
105 void updateTitlebarLayout(
const QString &layout);
108 QRectF buttonRect(
Button button)
const;
113 QColor color(ColorType type,
Button button =
None);
116 bool clickButton(Qt::MouseButtons b,
Button btn);
118 bool doubleClickButton(Qt::MouseButtons b,
const QPointF &local,
const QDateTime ¤tTime);
120 void updateButtonHoverState(
Button hoveredButton);
122 void processMouseTop(QWaylandInputDevice *inputDevice,
const QPointF &local, Qt::MouseButtons b,
123 Qt::KeyboardModifiers mods);
124 void processMouseBottom(QWaylandInputDevice *inputDevice,
const QPointF &local,
125 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
126 void processMouseLeft(QWaylandInputDevice *inputDevice,
const QPointF &local,
127 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
128 void processMouseRight(QWaylandInputDevice *inputDevice,
const QPointF &local,
129 Qt::MouseButtons b, Qt::KeyboardModifiers mods);
132 void requestRepaint()
const;
136 Buttons m_hoveredButtons =
None;
137 QDateTime m_lastButtonClick;
138 QPointF m_lastButtonClickPosition;
141 QMap<Button, uint> m_buttons;
142 QMap<ColorType, QColor> m_colors;
143 QMap<ButtonIcon, QString> m_icons;
144 std::unique_ptr<QFont> m_font;
147 QStaticText m_windowTitle;