Update text rendering.

This commit is contained in:
jmsgrogan 2023-01-18 17:31:16 +00:00
parent 8536908eab
commit 8130308f7f
27 changed files with 503 additions and 77 deletions

View file

@ -161,7 +161,7 @@ void TextNode::update(SceneInfo* sceneInfo)
if (mContentIsDirty || mLinesAreDirty)
{
dynamic_cast<SceneText*>(mTextItem.get())->setTextData(mTextData);
mTextItem->setTextData(mTextData);
mContentIsDirty = false;
mLinesAreDirty = false;
}
@ -169,6 +169,8 @@ void TextNode::update(SceneInfo* sceneInfo)
if (mTransformIsDirty)
{
mTextItem->updateTransform({mLocation});
mTextItem->setTextWidth(mWidth);
mTextItem->setTextHeight(mHeight);
mTransformIsDirty = false;
}

View file

@ -4,6 +4,8 @@
#include "FontItem.h"
#include "TextData.h"
#include "Bounds.h"
#include "SceneText.h"
#include <memory>
#include <string>
@ -47,7 +49,7 @@ private:
double mWidth{1};
double mHeight{1};
std::unique_ptr<SceneItem> mTextItem;
std::unique_ptr<SceneText> mTextItem;
};
using TextNodetr = std::unique_ptr<TextNode>;