summary refs log tree commit diff
path: root/include/ui/FloatingButton.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ui/FloatingButton.h')
-rw-r--r--include/ui/FloatingButton.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/ui/FloatingButton.h b/include/ui/FloatingButton.h
new file mode 100644

index 00000000..91e99ebb --- /dev/null +++ b/include/ui/FloatingButton.h
@@ -0,0 +1,26 @@ +#pragma once + +#include "RaisedButton.h" + +constexpr int DIAMETER = 40; +constexpr int ICON_SIZE = 18; + +constexpr int OFFSET_X = 30; +constexpr int OFFSET_Y = 20; + +class FloatingButton : public RaisedButton +{ + Q_OBJECT + +public: + FloatingButton(const QIcon &icon, QWidget *parent = nullptr); + + QSize sizeHint() const override { return QSize(DIAMETER, DIAMETER); }; + QRect buttonGeometry() const; + +protected: + bool event(QEvent *event) override; + bool eventFilter(QObject *obj, QEvent *event) override; + + void paintEvent(QPaintEvent *event) override; +};