35 lines
603 B
C++
35 lines
603 B
C++
#include "Label.h"
|
|
#include "TextElement.h"
|
|
|
|
Label::Label()
|
|
: Widget(),
|
|
mLabel()
|
|
{
|
|
|
|
}
|
|
|
|
std::shared_ptr<Label> Label::Create()
|
|
{
|
|
return std::make_shared<Label>();
|
|
}
|
|
|
|
void Label::SetLabel(const std::string& text)
|
|
{
|
|
mLabel = text;
|
|
}
|
|
|
|
void Label::OnPaintEvent(PaintEventPtr event)
|
|
{
|
|
mLayers.clear();
|
|
AddBackground(event);
|
|
|
|
if(!mLabel.empty())
|
|
{
|
|
auto middle = DiscretePoint(mLocation.GetX() + mWidth/2,
|
|
mLocation.GetY() + mHeight/2);
|
|
auto text = TextElement::Create(mLabel, middle);
|
|
auto textLayer = VisualLayer::Create();
|
|
textLayer->SetText(text);
|
|
mLayers.push_back(textLayer);
|
|
}
|
|
}
|