2018-04-21 21:24:46 +08:00
|
|
|
#include "..\..\e2dshape.h"
|
2018-04-02 23:01:38 +08:00
|
|
|
|
|
|
|
|
e2d::RoundRect::RoundRect()
|
2018-05-08 17:40:36 +08:00
|
|
|
: _fRadiusX(0)
|
|
|
|
|
, _fRadiusY(0)
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::RoundRect::RoundRect(double width, double height, double radiusX, double radiusY)
|
2018-05-08 17:40:36 +08:00
|
|
|
: _fRadiusX(static_cast<float>(radiusX))
|
|
|
|
|
, _fRadiusY(static_cast<float>(radiusY))
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
this->setSize(width, height);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::RoundRect::RoundRect(Size size, double radiusX, double radiusY)
|
2018-05-08 17:40:36 +08:00
|
|
|
: _fRadiusX(static_cast<float>(radiusX))
|
|
|
|
|
, _fRadiusY(static_cast<float>(radiusY))
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
this->setSize(size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::RoundRect::RoundRect(double top, double left, double width, double height, double radiusX, double radiusY)
|
2018-05-08 17:40:36 +08:00
|
|
|
: _fRadiusX(static_cast<float>(radiusX))
|
|
|
|
|
, _fRadiusY(static_cast<float>(radiusY))
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
this->setPivot(0, 0);
|
|
|
|
|
this->setPos(top, left);
|
|
|
|
|
this->setSize(width, height);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::RoundRect::RoundRect(Point topLeft, Size size, double radiusX, double radiusY)
|
2018-05-08 17:40:36 +08:00
|
|
|
: _fRadiusX(static_cast<float>(radiusX))
|
|
|
|
|
, _fRadiusY(static_cast<float>(radiusY))
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
this->setPivot(0, 0);
|
|
|
|
|
this->setPos(topLeft);
|
|
|
|
|
this->setSize(size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::RoundRect::~RoundRect()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double e2d::RoundRect::getRadiusX() const
|
|
|
|
|
{
|
2018-05-08 17:40:36 +08:00
|
|
|
return _fRadiusX;
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double e2d::RoundRect::getRadiusY() const
|
|
|
|
|
{
|
2018-05-08 17:40:36 +08:00
|
|
|
return _fRadiusY;
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::RoundRect::setRadiusX(double radiusX)
|
|
|
|
|
{
|
2018-05-08 17:40:36 +08:00
|
|
|
_fRadiusX = static_cast<float>(radiusX);
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::RoundRect::setRadiusY(double radiusY)
|
|
|
|
|
{
|
2018-05-08 17:40:36 +08:00
|
|
|
_fRadiusY = static_cast<float>(radiusY);
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::RoundRect::_renderLine()
|
|
|
|
|
{
|
|
|
|
|
Renderer::getRenderTarget()->DrawRoundedRectangle(
|
2018-05-08 17:40:36 +08:00
|
|
|
D2D1::RoundedRect(D2D1::RectF(0, 0, _fWidth, _fHeight), _fRadiusX, _fRadiusY),
|
2018-04-02 23:01:38 +08:00
|
|
|
Renderer::getSolidColorBrush(),
|
2018-05-08 17:40:36 +08:00
|
|
|
_fStrokeWidth
|
2018-04-02 23:01:38 +08:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void e2d::RoundRect::_renderFill()
|
|
|
|
|
{
|
|
|
|
|
Renderer::getRenderTarget()->FillRoundedRectangle(
|
2018-05-08 17:40:36 +08:00
|
|
|
D2D1::RoundedRect(D2D1::RectF(0, 0, _fWidth, _fHeight), _fRadiusX, _fRadiusY),
|
2018-04-02 23:01:38 +08:00
|
|
|
Renderer::getSolidColorBrush()
|
|
|
|
|
);
|
|
|
|
|
}
|