24 icon(elusive_icon
const &
icon)
noexcept;
25 icon(ttauri_icon
const &
icon)
noexcept;
27 constexpr icon() noexcept : _image(std::monostate{}) {}
31 icon &operator=(
icon const &)
noexcept;
32 icon &operator=(
icon &&)
noexcept =
default;
34 [[nodiscard]]
explicit operator bool ()
const noexcept
36 return !std::holds_alternative<std::monostate>(_image);
39 [[nodiscard]]
friend bool operator==(
icon const &lhs,
icon const &rhs)
noexcept
41 return lhs._image == rhs._image;
45 [[nodiscard]]
friend bool holds_alternative(
tt::icon const &
icon)
noexcept
47 return std::holds_alternative<T>(
icon._image);
51 [[nodiscard]]
friend T
const &get(
tt::icon const &
icon)
noexcept
53 return std::get<T>(
icon._image);
59 return std::get<T>(_image);
63 using image_type = std::variant<std::monostate, font_glyph_ids, pixel_map<sfloat_rgba16>>;