bsnes/hiro/core/font.hpp

36 lines
921 B
C++

#if defined(Hiro_Font)
struct Font {
using type = Font;
Font(const string& family = "", float size = 0.0);
explicit operator bool() const;
auto operator==(const Font& source) const -> bool;
auto operator!=(const Font& source) const -> bool;
auto bold() const -> bool;
auto family() const -> string;
auto italic() const -> bool;
auto reset() -> type&;
auto setBold(bool bold = true) -> type&;
auto setFamily(const string& family = "") -> type&;
auto setItalic(bool italic = true) -> type&;
auto setSize(float size = 0.0) -> type&;
auto size() const -> float;
auto size(const string& text) const -> Size;
static const string Sans;
static const string Serif;
static const string Mono;
//private:
//sizeof(Font) == 32
struct State {
string family; //24
float size = 0.0; //4
char bold = false; //1+
char italic = false; //1=4
} state;
};
#endif