23 operating_system operating_system = operating_system::windows;
25 float toolbar_height = (operating_system == operating_system::windows) ? 30.0f : 20.0f;
67 theme() noexcept = delete;
70 theme &operator=(
theme const &) noexcept = delete;
77 [[nodiscard]] tt::
color color(theme_color theme_color,
ssize_t nesting_level = 0) const noexcept;
85 [[nodiscard]]
static theme &global() noexcept;
87 [[nodiscard]] static tt::
color global(theme_color
color,
ssize_t nesting_level = 0) noexcept
89 return global().color(
color, nesting_level);
92 [[nodiscard]]
static tt::text_style const &global(theme_text_style text_style)
noexcept
94 return global().text_style(text_style);
103 [[nodiscard]]
float parse_float(datum
const &data,
char const *object_name);
104 [[nodiscard]]
bool parse_bool(datum
const &data,
char const *object_name);
105 [[nodiscard]]
std::string parse_string(datum
const &data,
char const *object_name);
106 [[nodiscard]]
tt::color parse_color_value(datum
const &data);
107 [[nodiscard]]
tt::color parse_color(datum
const &data,
char const *object_name);
109 [[nodiscard]]
tt::text_style parse_text_style_value(datum
const &data);
110 [[nodiscard]] font_weight parse_font_weight(datum
const &data,
char const *object_name);
111 [[nodiscard]]
tt::text_style parse_text_style(datum
const &data,
char const *object_name);
112 void parse(datum
const &data);
114 [[nodiscard]]
friend std::string to_string(theme
const &rhs)
noexcept {
115 return std::format(
"{}:{}", rhs.name, rhs.mode);
119 return lhs << to_string(rhs);