Cockatrice 2026-09-01-Development-3.1.0-beta.10
A 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 void enterEvent(QEnterEvent *event) override;
26 void leaveEvent(QEvent *) override;
27 void mouseMoveEvent(QMouseEvent *event) override;
28
29private:
30 QList<QPair<QString, int>> colors;
31 bool isHovered = false;
32 const double minRatioThreshold = 0.01; // skip tiny slices
33
34 QColor colorFromName(const QString &name) const;
35 QString tooltipForPoint(const QPoint &pt) const;
36};
37
38#endif // COLOR_PIE_H
39
40#endif // COCKATRICE_COLOR_PIE_H
QString tooltipForPoint(const QPoint &pt) const
Definition color_pie.cpp:121
bool isHovered
Definition color_pie.h:31
void enterEvent(QEnterEvent *event) override
Definition color_pie.cpp:95
QSize minimumSizeHint() const override
Definition color_pie.cpp:22
void leaveEvent(QEvent *) override
Definition color_pie.cpp:101
void setColors(const QMap< QString, int > &_colors)
Definition color_pie.cpp:16
void mouseMoveEvent(QMouseEvent *event) override
Definition color_pie.cpp:106
QList< QPair< QString, int > > colors
Definition color_pie.h:30
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:173
const double minRatioThreshold
Definition color_pie.h:32