matrixion/src/ui/FloatingButton.h
2021-03-05 01:04:07 +01:00

30 lines
698 B
C++

// SPDX-FileCopyrightText: 2021 Nheko Contributors
//
// SPDX-License-Identifier: GPL-3.0-or-later
#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;
};