Something went wrong. Try again.
A fork of https://github.com/crosspoint-reader/crosspoint-reader
Something went wrong. Try again.
1.1 kB · 34 lines
C
at master
1234567891011121314151617181920212223242526272829303132333435#pragma once
#include <functional>#include <memory>
#include "CrossPointSettings.h"#include "components/themes/BaseTheme.h"
class UITheme { // Static instance static UITheme instance;
public: UITheme(); static UITheme& getInstance() { return instance; }
const ThemeMetrics& getMetrics() const { return *currentMetrics; } const BaseTheme& getTheme() const { return *currentTheme; } void reload(); void setTheme(CrossPointSettings::UI_THEME type); static int getNumberOfItemsPerPage(const GfxRenderer& renderer, bool hasHeader, bool hasTabBar, bool hasButtonHints, bool hasSubtitle, int extraReservedHeight = 0); static std::string getCoverThumbPath(std::string coverBmpPath, int coverHeight); static UIIcon getFileIcon(const std::string& filename); static int getStatusBarHeight(); static int getProgressBarHeight();
private: const ThemeMetrics* currentMetrics; std::unique_ptr<BaseTheme> currentTheme;};
// Helper macro to access current theme#define GUI UITheme::getInstance().getTheme()