81 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
| #include "..\..\eshape.h"
 | |
| 
 | |
| e2d::RoundRect::RoundRect()
 | |
| 	: m_fRadiusX(0)
 | |
| 	, m_fRadiusY(0)
 | |
| {
 | |
| }
 | |
| 
 | |
| e2d::RoundRect::RoundRect(double width, double height, double radiusX, double radiusY)
 | |
| 	: m_fRadiusX(static_cast<float>(radiusX))
 | |
| 	, m_fRadiusY(static_cast<float>(radiusY))
 | |
| {
 | |
| 	this->setSize(width, height);
 | |
| }
 | |
| 
 | |
| e2d::RoundRect::RoundRect(Size size, double radiusX, double radiusY)
 | |
| 	: m_fRadiusX(static_cast<float>(radiusX))
 | |
| 	, m_fRadiusY(static_cast<float>(radiusY))
 | |
| {
 | |
| 	this->setSize(size);
 | |
| }
 | |
| 
 | |
| e2d::RoundRect::RoundRect(double top, double left, double width, double height, double radiusX, double radiusY)
 | |
| 	: m_fRadiusX(static_cast<float>(radiusX))
 | |
| 	, m_fRadiusY(static_cast<float>(radiusY))
 | |
| {
 | |
| 	this->setPivot(0, 0);
 | |
| 	this->setPos(top, left);
 | |
| 	this->setSize(width, height);
 | |
| }
 | |
| 
 | |
| e2d::RoundRect::RoundRect(Point topLeft, Size size, double radiusX, double radiusY)
 | |
| 	: m_fRadiusX(static_cast<float>(radiusX))
 | |
| 	, m_fRadiusY(static_cast<float>(radiusY))
 | |
| {
 | |
| 	this->setPivot(0, 0);
 | |
| 	this->setPos(topLeft);
 | |
| 	this->setSize(size);
 | |
| }
 | |
| 
 | |
| e2d::RoundRect::~RoundRect()
 | |
| {
 | |
| }
 | |
| 
 | |
| double e2d::RoundRect::getRadiusX() const
 | |
| {
 | |
| 	return m_fRadiusX;
 | |
| }
 | |
| 
 | |
| double e2d::RoundRect::getRadiusY() const
 | |
| {
 | |
| 	return m_fRadiusY;
 | |
| }
 | |
| 
 | |
| void e2d::RoundRect::setRadiusX(double radiusX)
 | |
| {
 | |
| 	m_fRadiusX = static_cast<float>(radiusX);
 | |
| }
 | |
| 
 | |
| void e2d::RoundRect::setRadiusY(double radiusY)
 | |
| {
 | |
| 	m_fRadiusY = static_cast<float>(radiusY);
 | |
| }
 | |
| 
 | |
| void e2d::RoundRect::_renderLine()
 | |
| {
 | |
| 	Renderer::getRenderTarget()->DrawRoundedRectangle(
 | |
| 		D2D1::RoundedRect(D2D1::RectF(0, 0, m_fWidth, m_fHeight), m_fRadiusX, m_fRadiusY),
 | |
| 		Renderer::getSolidColorBrush(),
 | |
| 		m_fStrokeWidth
 | |
| 	);
 | |
| }
 | |
| 
 | |
| void e2d::RoundRect::_renderFill()
 | |
| {
 | |
| 	Renderer::getRenderTarget()->FillRoundedRectangle(
 | |
| 		D2D1::RoundedRect(D2D1::RectF(0, 0, m_fWidth, m_fHeight), m_fRadiusX, m_fRadiusY),
 | |
| 		Renderer::getSolidColorBrush()
 | |
| 	);
 | |
| }
 |