text wrap
This commit is contained in:
parent
d5ee272290
commit
10308bd805
2 changed files with 235 additions and 39 deletions
|
|
@ -24,9 +24,20 @@ import :Types;
|
|||
import :Font;
|
||||
|
||||
export namespace Crafter {
|
||||
enum class TextAlignment {
|
||||
Left,
|
||||
Center,
|
||||
Right
|
||||
};
|
||||
|
||||
enum class TextOverflowMode {
|
||||
Clip, // Clip text that overflows
|
||||
Wrap // Wrap text to multiple lines
|
||||
};
|
||||
|
||||
class TextElement : public RenderingElementPreScaled {
|
||||
public:
|
||||
TextElement(std::int_fast32_t anchorX = FractionalToMapped(0.5), std::int_fast32_t anchorY = FractionalToMapped(0.5), std::uint_fast32_t relativeWidth = FractionalToMapped(1), std::uint_fast32_t relativeHeight = FractionalToMapped(1), std::int_fast32_t anchorOffsetX = FractionalToMapped(0.5), std::int_fast32_t anchorOffsetY = FractionalToMapped(0.5), std::int_fast32_t z = 0, bool ignoreScaling = false);
|
||||
void RenderText(const std::string_view text, float size, Pixel_BU8_GU8_RU8_AU8 pixel, Font& font);
|
||||
void RenderText(const std::string_view text, float size, Pixel_BU8_GU8_RU8_AU8 pixel, Font& font, TextAlignment alignment = TextAlignment::Left, TextOverflowMode overflowMode = TextOverflowMode::Clip);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue