16 using namespace std::literals;
20 "-text"sv,
"-font"sv,
"-size"sv,
21 "-wrap"sv,
"-wrapw"sv,
"-wraprelw"sv,
29 [[nodiscard]] std::span<const std::string_view>
getProperties()
const override {
33 std::string_view name,
const TclObject& value)
override;
35 [[nodiscard]] std::string_view
getType()
const override;
38 void invalidateLocal()
override;
40 [[nodiscard]] uint8_t getFadedAlpha()
const override;
41 [[nodiscard]] std::unique_ptr<BaseImage> createSDL(
OutputSurface& output)
override;
42 [[nodiscard]] std::unique_ptr<BaseImage> createGL (
OutputSurface& output)
override;
43 template<
typename IMAGE> [[nodiscard]] std::unique_ptr<BaseImage> create(
46 template<
typename FindSplitPo
intFunc,
typename CantSplitFunc>
47 [[nodiscard]]
size_t split(
const std::string& line,
unsigned maxWidth,
48 FindSplitPointFunc findSplitPoint, CantSplitFunc cantSplit,
49 bool removeTrailingSpaces)
const;
50 [[nodiscard]]
size_t splitAtChar(
const std::string& line,
unsigned maxWidth)
const;
51 [[nodiscard]]
size_t splitAtWord(
const std::string& line,
unsigned maxWidth)
const;
52 [[nodiscard]] std::string getCharWrappedText(
const std::string& txt,
unsigned maxWidth)
const;
53 [[nodiscard]] std::string getWordWrappedText(
const std::string& txt,
unsigned maxWidth)
const;
55 [[nodiscard]]
gl::vec2 getRenderedSize()
const;
58 enum WrapMode { NONE, WORD, CHAR };
65 float wrapw, wraprelw;
Represents the output window/screen of openMSX.
static constexpr auto textProperties
OSDText(Display &display, const TclObject &name)
void getProperty(std::string_view name, TclObject &result) const override
void setProperty(Interpreter &interp, std::string_view name, const TclObject &value) override
std::string_view getType() const override
std::span< const std::string_view > getProperties() const override
A frame buffer where pixels can be written to.
This file implemented 3 utility functions:
constexpr auto concatArray(const std::array< T, X > &x, const std::array< T, Y > &y)