2018-04-21 21:24:46 +08:00
|
|
|
#include "..\..\e2dshape.h"
|
2018-04-02 23:01:38 +08:00
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
e2d::RoundRectShape::RoundRectShape()
|
2018-05-09 00:34:15 +08:00
|
|
|
: _radiusX(0)
|
|
|
|
|
, _radiusY(0)
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
e2d::RoundRectShape::RoundRectShape(Size size, double radiusX, double radiusY)
|
2018-05-09 00:34:15 +08:00
|
|
|
: _radiusX(float(radiusX))
|
|
|
|
|
, _radiusY(float(radiusY))
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-17 12:22:52 +08:00
|
|
|
this->setSize(size);
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
e2d::RoundRectShape::RoundRectShape(Point topLeft, Size size, double radiusX, double radiusY)
|
2018-05-09 00:34:15 +08:00
|
|
|
: _radiusX(float(radiusX))
|
|
|
|
|
, _radiusY(float(radiusY))
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-17 12:22:52 +08:00
|
|
|
this->setPivot(0, 0);
|
|
|
|
|
this->setPos(topLeft);
|
2018-04-02 23:01:38 +08:00
|
|
|
this->setSize(size);
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
e2d::RoundRectShape::~RoundRectShape()
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
double e2d::RoundRectShape::getRadiusX() const
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
return _radiusX;
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
double e2d::RoundRectShape::getRadiusY() const
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
return _radiusY;
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
void e2d::RoundRectShape::setRadiusX(double radiusX)
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
_radiusX = float(radiusX);
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
void e2d::RoundRectShape::setRadiusY(double radiusY)
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-05-09 00:34:15 +08:00
|
|
|
_radiusY = float(radiusY);
|
2018-04-02 23:01:38 +08:00
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
void e2d::RoundRectShape::_renderLine()
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-07-03 18:16:26 +08:00
|
|
|
auto renderer = Renderer::getInstance();
|
|
|
|
|
renderer->getRenderTarget()->DrawRoundedRectangle(
|
2018-05-09 00:34:15 +08:00
|
|
|
D2D1::RoundedRect(D2D1::RectF(0, 0, _width, _height), _radiusX, _radiusY),
|
2018-07-03 18:16:26 +08:00
|
|
|
renderer->getSolidColorBrush(),
|
2018-05-24 20:10:11 +08:00
|
|
|
_strokeWidth,
|
|
|
|
|
_strokeStyle
|
2018-04-02 23:01:38 +08:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-22 22:29:42 +08:00
|
|
|
void e2d::RoundRectShape::_renderFill()
|
2018-04-02 23:01:38 +08:00
|
|
|
{
|
2018-07-03 18:16:26 +08:00
|
|
|
auto renderer = Renderer::getInstance();
|
|
|
|
|
renderer->getRenderTarget()->FillRoundedRectangle(
|
2018-05-09 00:34:15 +08:00
|
|
|
D2D1::RoundedRect(D2D1::RectF(0, 0, _width, _height), _radiusX, _radiusY),
|
2018-07-03 18:16:26 +08:00
|
|
|
renderer->getSolidColorBrush()
|
2018-04-02 23:01:38 +08:00
|
|
|
);
|
|
|
|
|
}
|