123456789101112131415161718192021222324252627282930313233343536 |
- #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
|