| 
									
										
										
										
											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() | 
					
						
							|  |  |  | 	); | 
					
						
							|  |  |  | } |