mirror-chatterino2/fontmanager.h

56 lines
948 B
C
Raw Normal View History

2017-04-12 17:46:44 +02:00
#ifndef FONTS_H
#define FONTS_H
#include <QFont>
#include <QFontMetrics>
2017-04-14 17:52:22 +02:00
namespace chatterino {
2017-04-12 17:46:44 +02:00
class FontManager
{
public:
enum Type : char { Medium, MediumBold, MediumItalic, Small, Large, VeryLarge };
static FontManager &getInstance()
{
return instance;
}
QFont &getFont(Type type);
QFontMetrics &getFontMetrics(Type type);
int getGeneration()
{
return _generation;
}
void incGeneration()
{
_generation++;
}
private:
static FontManager instance;
FontManager();
QFont *_medium;
QFont *_mediumBold;
QFont *_mediumItalic;
QFont *_small;
QFont *_large;
QFont *_veryLarge;
QFontMetrics *_metricsMedium;
QFontMetrics *_metricsMediumBold;
QFontMetrics *_metricsMediumItalic;
QFontMetrics *_metricsSmall;
QFontMetrics *_metricsLarge;
QFontMetrics *_metricsVeryLarge;
int _generation;
};
}
#endif // FONTS_H