2017-10-26 17:17:30 +08:00
|
|
|
#include "..\egeometry.h"
|
2017-10-29 23:48:32 +08:00
|
|
|
#include "..\enodes.h"
|
2017-10-26 17:17:30 +08:00
|
|
|
#include "..\Win\winbase.h"
|
|
|
|
|
|
|
|
|
|
e2d::EEllipse::EEllipse()
|
2017-10-28 18:48:21 +08:00
|
|
|
: m_pD2dEllipse(nullptr)
|
2017-10-26 17:17:30 +08:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::EEllipse::EEllipse(EPoint center, float radiusX, float radiusY)
|
2017-10-28 18:48:21 +08:00
|
|
|
: EEllipse()
|
2017-10-26 17:17:30 +08:00
|
|
|
{
|
|
|
|
|
this->_setEllipse(center, radiusX, radiusY);
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-29 23:48:32 +08:00
|
|
|
e2d::EEllipse::EEllipse(ENode * node)
|
|
|
|
|
: EEllipse()
|
|
|
|
|
{
|
|
|
|
|
this->_setEllipse(
|
|
|
|
|
EPoint(
|
|
|
|
|
node->getWidth() / 2,
|
|
|
|
|
node->getHeight() / 2
|
|
|
|
|
),
|
|
|
|
|
node->getWidth() / 2,
|
|
|
|
|
node->getHeight() / 2
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e2d::EEllipse::~EEllipse()
|
|
|
|
|
{
|
|
|
|
|
SafeReleaseInterface(&m_pD2dEllipse);
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-26 17:17:30 +08:00
|
|
|
void e2d::EEllipse::_setEllipse(EPoint center, float radiusX, float radiusY)
|
|
|
|
|
{
|
|
|
|
|
SafeReleaseInterface(&m_pD2dEllipse);
|
|
|
|
|
|
|
|
|
|
GetFactory()->CreateEllipseGeometry(
|
|
|
|
|
D2D1::Ellipse(
|
|
|
|
|
D2D1::Point2F(
|
|
|
|
|
center.x,
|
|
|
|
|
center.y),
|
|
|
|
|
radiusX,
|
|
|
|
|
radiusY),
|
|
|
|
|
&m_pD2dEllipse
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ID2D1EllipseGeometry * e2d::EEllipse::_getD2dGeometry() const
|
|
|
|
|
{
|
|
|
|
|
return m_pD2dEllipse;
|
|
|
|
|
}
|