Magic_Game/core/Node/Shape/Circle.cpp

68 lines
1.1 KiB
C++
Raw Normal View History

2018-04-21 21:24:46 +08:00
#include "..\..\e2dshape.h"
e2d::Circle::Circle()
: _radius(0)
{
this->setPivot(0.5, 0.5);
}
e2d::Circle::Circle(double radius)
{
this->setRadius(radius);
this->setPivot(0.5, 0.5);
}
e2d::Circle::Circle(Point center, double radius)
{
this->setRadius(radius);
this->setPos(center);
this->setPivot(0.5, 0.5);
}
2018-05-17 12:22:52 +08:00
e2d::Circle * e2d::Circle::create()
{
2018-05-17 12:22:52 +08:00
return Create<Circle>();
}
e2d::Circle * e2d::Circle::create(double radius)
{
return Create<Circle>(radius);
}
e2d::Circle * e2d::Circle::create(Point center, double radius)
{
return Create<Circle>(center, radius);
}
e2d::Circle::~Circle()
{
}
double e2d::Circle::getRadius() const
{
return _radius;
}
void e2d::Circle::setRadius(double radius)
{
_radius = float(radius);
Node::setSize(radius * 2, radius * 2);
}
void e2d::Circle::_renderLine()
{
Renderer::getRenderTarget()->DrawEllipse(
D2D1::Ellipse(D2D1::Point2F(_radius, _radius), _radius, _radius),
Renderer::getSolidColorBrush(),
_strokeWidth
);
}
void e2d::Circle::_renderFill()
{
Renderer::getRenderTarget()->FillEllipse(
D2D1::Ellipse(D2D1::Point2F(_radius, _radius), _radius, _radius),
Renderer::getSolidColorBrush()
);
}