#include "VisualLayer.h"

#include "GeometryElement.h"
#include "TextElement.h"

VisualLayer::VisualLayer()
    : mShape(),
      mText()
{

}

std::unique_ptr<VisualLayer> VisualLayer::Create()
{
    return std::make_unique<VisualLayer>();
}

bool VisualLayer::HasShape() const
{
    return bool(mShape);
}

bool VisualLayer::HasText() const
{
    return bool(mText);
}

GeometryElement* VisualLayer::GetShape() const
{
    return mShape.get();
}

TextElement* VisualLayer::GetText() const
{
    return mText.get();
}

void VisualLayer::SetShape(GeometryElementUPtr shape)
{
    mShape = std::move(shape);
}

void VisualLayer::SetText(TextElementUPtr text)
{
    mText = std::move(text);
}
