Start adding grid

This commit is contained in:
James Grogan 2022-11-17 17:33:48 +00:00
parent 9301769d58
commit f04d86e0ad
37 changed files with 709 additions and 211 deletions

View file

@ -78,6 +78,23 @@ void TextNode::setContent(const std::string& content)
}
}
SceneItem* TextNode::getSceneItem(std::size_t idx) const
{
if (idx == 0)
{
return mTextItem.get();
}
else
{
return 0;
}
}
unsigned TextNode::getNumSceneItems() const
{
return 1;
}
void TextNode::updateLines(FontsManager* fontsManager)
{
auto original_count = mTextData.mLines.size();
@ -116,10 +133,10 @@ void TextNode::updateLines(FontsManager* fontsManager)
void TextNode::update(FontsManager* fontsManager)
{
if (!mSceneItem)
if (!mTextItem)
{
mSceneItem = std::make_unique<SceneText>();
mSceneItem->setName(mName + "_SceneText");
mTextItem = std::make_unique<SceneText>();
mTextItem->setName(mName + "_SceneText");
}
if (mTransformIsDirty || mContentIsDirty)
@ -129,20 +146,20 @@ void TextNode::update(FontsManager* fontsManager)
if (mContentIsDirty || mLinesAreDirty)
{
dynamic_cast<SceneText*>(mSceneItem.get())->setTextData(mTextData);
dynamic_cast<SceneText*>(mTextItem.get())->setTextData(mTextData);
mContentIsDirty = false;
mLinesAreDirty = false;
}
if (mTransformIsDirty)
{
mSceneItem->updateTransform({mLocation});
mTextItem->updateTransform({mLocation});
mTransformIsDirty = false;
}
if (mMaterialIsDirty)
{
mSceneItem->updateUniformColor(mFillColor);
mTextItem->updateUniformColor(mFillColor);
mMaterialIsDirty = false;
}
}