51 return object.release();
69 if(this->font != font) {
88 if(scale != options.
scale) {
91 options.
scale = scale;
117 if(options.
style != style) {
121 options.
style = style;
137 if(align != textAlign) {
150 if(align != lineAlign) {
194 if(options.
fore == fore && options.
back == back) {
228 clip = bounds.
size();
242 curSeg = breakSeg = lineSeg =
nullptr;
243 textHeight += lineHeight;
244 cursor.
y += lineHeight;
245 breakIndex = lineHeight = 0;
250 curSeg = breakSeg = lineSeg = startSeg =
nullptr;
251 breakIndex = lineHeight = textHeight = ystart = 0;
259 uint32_t breakIndex{0};
266 char breakChar{
'\0'};
267 std::unique_ptr<TextObject> object;
269 bool overflow{
false};
270 mutable const Font* font{
nullptr};
271 mutable const TypeFace* typeface{
nullptr};
282 static Font* defaultFont;
311 auto pos = text.getLength();
312 stream->write(buffer, size);
313 parse(text, pos, size);
Scale scale
Definition: Asset.h:457
void moveCursor(Point offset)
Definition: TextBuilder.h:182
TextBuilder(SceneObject &scene)
Definition: TextBuilder.h:298
void parse(const TextAsset &asset, uint32_t start, size_t size)
void setForeColor(const Brush &color)
Definition: TextBuilder.h:203
Simplifies construction of TextObject instances.
Definition: TextBuilder.h:32
Definition: Libraries/Graphics/src/include/Graphics/Object.h:1015
void setLineAlign(Align align)
Definition: TextBuilder.h:148
T y
Definition: Libraries/Graphics/src/include/Graphics/Types.h:135
Align getLineAlign() const
Definition: TextBuilder.h:156
void setCursor(int16_t x, int16_t y)
Definition: TextBuilder.h:177
Definition: Libraries/Graphics/src/include/Graphics/Types.h:732
void setScale(Scale scale)
Definition: TextBuilder.h:86
const TypeFace & getTypeFace() const
void setWrap(bool wrap)
Definition: TextBuilder.h:232
A block of text consisting of zero or more segments.
Definition: Libraries/Graphics/src/include/Graphics/Object.h:902
void setScale(uint8_t sx, uint8_t sy)
Definition: TextBuilder.h:95
static void setDefaultFont(Font *font)
Definition: TextBuilder.h:59
const TextOptions & getOptions() const
Definition: TextBuilder.h:110
Definition: Libraries/Graphics/src/include/Graphics/Object.h:1032
uint16_t getTextHeight() const
Definition: TextBuilder.h:105
TextBuilder(AssetList &assets, const Rect &bounds)
Definition: TextBuilder.h:291
void setBackColor(const Brush &color)
Definition: TextBuilder.h:208
Location and size of rectangular area (x, y, w, h)
Definition: Libraries/Graphics/src/include/Graphics/Types.h:287
const Rect & getBounds() const
Definition: TextBuilder.h:40
T * addObject(T *obj)
Add a new object to the scene.
Definition: Scene.h:70
void setScale(uint8_t size)
Definition: TextBuilder.h:100
Provides formatted output to stream.
Definition: Print.h:36
Definition: Libraries/Graphics/src/include/Graphics/Object.h:989
void setColor(const Brush &fore, const Brush &back={})
Definition: TextBuilder.h:192
Base class for a loaded typeface, e.g. Sans 16pt bold.
Definition: Asset.h:505
void removeStyle(FontStyles style)
Definition: TextBuilder.h:130
bool add(ObjectType *object)
Definition: LinkedObjectList.h:134
A Scene containing multiple objects.
Definition: Scene.h:31
Simplifies construction of TextObject instances.
Definition: TextBuilder.h:288
TextParser(const Rect &bounds)
Definition: TextBuilder.h:35
Align getTextAlign() const
Definition: TextBuilder.h:143
Base class for a loaded font.
Definition: Asset.h:571
Brush back
Definition: Asset.h:456
void setFont(const Font *font)
Definition: TextBuilder.h:64
size_t write(uint8_t c) override
Writes a single character to output stream.
Definition: TextBuilder.h:304
void moveCursor(int16_t x, int16_t y)
Definition: TextBuilder.h:187
constexpr uint8_t scaleY() const
Definition: Libraries/Graphics/src/include/Graphics/Types.h:772
FontStyles style
Definition: Asset.h:458
size_t write(const uint8_t *buffer, size_t size) override
Writes characters from a buffer to output stream.
Definition: TextBuilder.h:309
TextObject * commit(SceneObject &scene)
Definition: TextBuilder.h:54
Point getCursor() const
Definition: TextBuilder.h:161
The source of colour for drawing.
Definition: Asset.h:252
Align
Definition: Libraries/Graphics/src/include/Graphics/Types.h:55
void setClip(const Rect &r)
Definition: TextBuilder.h:213
void resetClip()
Definition: TextBuilder.h:225
Size size() const
Definition: Libraries/Graphics/src/include/Graphics/Types.h:447
void setCursor(Point pt)
Set location to start new text segment.
Definition: TextBuilder.h:169
virtual size_t write(uint8_t c)=0
Writes a single character to output stream.
void setTextAlign(Align align)
Definition: TextBuilder.h:135
const Font & getFont() const
void addStyle(FontStyles style)
Definition: TextBuilder.h:125
const Rect & getClip() const
Definition: TextBuilder.h:220
void setFont(const Font &font)
Definition: TextBuilder.h:77
Rect intersect(Rect r1, const Rect &r2)
Definition: Libraries/Graphics/src/include/Graphics/Types.h:582
TextObject * release()
Definition: TextBuilder.h:45
Brush fore
Definition: Asset.h:455
Read/write stream using expandable memory buffer.
Definition: MemoryDataStream.h:26
void setStyle(FontStyles style)
Definition: TextBuilder.h:115