Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
color_pie.h
Go to the documentation of this file.
1#ifndef COCKATRICE_COLOR_PIE_H
2#define COCKATRICE_COLOR_PIE_H
3
4#ifndef COLOR_PIE_H
5#define COLOR_PIE_H
6
7#include <QMap>
8#include <QString>
9#include <QWidget>
10
11class ColorPie : public QWidget
12{
13 Q_OBJECT
14
15public:
16 explicit ColorPie(const QMap<QString, int> &_colors = {}, QWidget *parent = nullptr);
17
18 void setColors(const QMap<QString, int> &_colors);
19
20 QSize minimumSizeHint() const override;
21
22protected:
23 void paintEvent(QPaintEvent *) override;
24
25#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
26 void enterEvent(QEnterEvent *event) override;
27#else
28 void enterEvent(QEvent *event) override;
29#endif
30 void leaveEvent(QEvent *) override;
31 void mouseMoveEvent(QMouseEvent *event) override;
32
33private:
34 QList<QPair<QString, int>> colors;
35 bool isHovered = false;
36 const double minRatioThreshold = 0.01; // skip tiny slices
37
38 QColor colorFromName(const QString &name) const;
39 QString tooltipForPoint(const QPoint &pt) const;
40};
41
42#endif // COLOR_PIE_H
43
44#endif // COCKATRICE_COLOR_PIE_H
QString tooltipForPoint(const QPoint &pt) const
Definition color_pie.cpp:138
bool isHovered
Definition color_pie.h:35
void enterEvent(QEnterEvent *event) override
Definition color_pie.cpp:100
QSize minimumSizeHint() const override
Definition color_pie.cpp:22
void leaveEvent(QEvent *) override
Definition color_pie.cpp:113
void setColors(const QMap< QString, int > &_colors)
Definition color_pie.cpp:16
void mouseMoveEvent(QMouseEvent *event) override
Definition color_pie.cpp:118
QList< QPair< QString, int > > colors
Definition color_pie.h:34
ColorPie(const QMap< QString, int > &_colors={}, QWidget *parent=nullptr)
Definition color_pie.cpp:10
void paintEvent(QPaintEvent *) override
Definition color_pie.cpp:27
QColor colorFromName(const QString &name) const
Definition color_pie.cpp:189
const double minRatioThreshold
Definition color_pie.h:36