#include "fontcharline.h"

class PcbCamFontCharLineData : public QSharedData
{
public:
    PcbCamFontCharLineData() { }
    PcbCamFontCharLineData(const PcbCamFontCharLineData &other): QSharedData(other),
        line(other.line),
        polarity(other.polarity),
        shape(other.shape),
        width(other.width) { }
    ~PcbCamFontCharLineData() { }

    QLineF line;
    PcbCam::Polarity polarity {PcbCam::Positive};
    PcbCamFontCharLine::LineShape shape {PcbCamFontCharLine::LineShape_R};
    double width {0.0};

};


PcbCamFontCharLine::PcbCamFontCharLine() : d(new PcbCamFontCharLineData)
{

}

PcbCamFontCharLine::PcbCamFontCharLine(const PcbCamFontCharLine &rhs) : d(rhs.d)
{

}

PcbCamFontCharLine &PcbCamFontCharLine::operator=(const PcbCamFontCharLine &rhs)
{
    if (this != &rhs)
        d.operator=(rhs.d);
    return *this;
}

PcbCamFontCharLine::~PcbCamFontCharLine()
{

}

QLineF PcbCamFontCharLine::line() const
{
    return d->line;
}

void PcbCamFontCharLine::setLine(const QLineF &iLine)
{
    d->line = iLine;
}

PcbCam::Polarity PcbCamFontCharLine::polarity() const
{
    return d->polarity;
}

void PcbCamFontCharLine::setPolarity(PcbCam::Polarity iPolarity)
{
    d->polarity = iPolarity;
}

PcbCamFontCharLine::LineShape PcbCamFontCharLine::shape() const
{
    return d->shape;
}

void PcbCamFontCharLine::setShape(LineShape iShape)
{
    d->shape = iShape;
}

double PcbCamFontCharLine::width() const
{
    return d->width;
}

void PcbCamFontCharLine::setWidth(double iWidth)
{
    d->width = iWidth;
}