-Text::Text() noexcept
-: tex()
-, sprite()
-, bg(1.0f, 1.0f, 1.0f, 0.0f)
-, fg(1.0f, 1.0f, 1.0f, 1.0f)
-, size(0.0f)
-, pos(0.0f)
-, grav(Gravity::NORTH_WEST)
-, pivot(Gravity::NORTH_WEST)
-, dirty(false)
-, visible(false) {
-
-}
-
-void Text::Set(const Font &font, const char *text) {
- font.Render(text, tex);
- size = font.TextSize(text);
- dirty = true;
-}
-
-void Text::Update() {
- sprite.LoadRect(size.x, size.y, align(pivot, size));
- dirty = false;
-}
-
-void Text::Render(Viewport &viewport) noexcept {
- if (dirty) {
- Update();
- }
- BlendedSprite &prog = viewport.SpriteProgram();
- viewport.SetCursor(pos, grav);
- prog.SetM(viewport.Cursor());
- prog.SetTexture(tex);
- prog.SetBG(bg);
- prog.SetFG(fg);
- sprite.Draw();
-}
-
-