2018-04-21 21:24:46 +08:00
|
|
|
#include "..\..\e2dshape.h"
|
2018-04-02 23:01:38 +08:00
|
|
|
|
|
|
|
|
e2d::Ellipse::Ellipse()
|
2018-05-09 00:34:15 +08:00
|
|
|
: _radiusX(0)
|
|
|
|
|
, _radiusY(0)
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
this->setPivot(0.5, 0.5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::Ellipse::Ellipse(double radiusX, double radiusY)
|
|
|
|
|
{
|
|
|
|
|
this->setRadiusX(radiusX);
|
|
|
|
|
this->setRadiusY(radiusY);
|
|
|
|
|
this->setPivot(0.5, 0.5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::Ellipse::Ellipse(Point center, double radiusX, double radiusY)
|
|
|
|
|
{
|
|
|
|
|
this->setRadiusX(radiusX);
|
|
|
|
|
this->setRadiusY(radiusY);
|
|
|
|
|
this->setPos(center);
|
|
|
|
|
this->setPivot(0.5, 0.5);
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-17 12:22:52 +08:00
|
|
|
e2d::Ellipse * e2d::Ellipse::create()
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-17 12:22:52 +08:00
|
|
|
return Create<Ellipse>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::Ellipse * e2d::Ellipse::create(double radiusX, double radiusY)
|
|
|
|
|
{
|
|
|
|
|
return Create<Ellipse>(radiusX, radiusY);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::Ellipse * e2d::Ellipse::create(Point center, double radiusX, double radiusY)
|
|
|
|
|
{
|
|
|
|
|
return Create<Ellipse>(center, radiusX, radiusY);
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::Ellipse::~Ellipse()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double e2d::Ellipse::getRadiusX() const
|
|
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
return _radiusX;
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double e2d::Ellipse::getRadiusY() const
|
|
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
return _radiusY;
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::Ellipse::setRadiusX(double radiusX)
|
|
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
_radiusX = float(radiusX);
|
2018-04-02 23:01:38 +08:00
|
|
|
Node::setWidth(radiusX * 2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::Ellipse::setRadiusY(double radiusY)
|
|
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
_radiusY = float(radiusY);
|
2018-04-02 23:01:38 +08:00
|
|
|
Node::setHeight(radiusY * 2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::Ellipse::_renderLine()
|
|
|
|
|
{
|
|
|
|
|
Renderer::getRenderTarget()->DrawEllipse(
|
2018-05-09 00:34:15 +08:00
|
|
|
D2D1::Ellipse(D2D1::Point2F(_radiusX, _radiusY), _radiusX, _radiusY),
|
2018-04-02 23:01:38 +08:00
|
|
|
Renderer::getSolidColorBrush(),
|
2018-05-09 00:34:15 +08:00
|
|
|
_strokeWidth
|
2018-04-02 23:01:38 +08:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::Ellipse::_renderFill()
|
|
|
|
|
{
|
|
|
|
|
Renderer::getRenderTarget()->FillEllipse(
|
2018-05-09 00:34:15 +08:00
|
|
|
D2D1::Ellipse(D2D1::Point2F(_radiusX, _radiusY), _radiusX, _radiusY),
|
2018-04-02 23:01:38 +08:00
|
|
|
Renderer::getSolidColorBrush()
|
|
|
|
|
);
|
|
|
|
|
}
|