| 
									
										
										
										
											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
										 |  |  | 
 | 
					
						
							|  |  |  | 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-12-15 21:51:07 +08:00
										 |  |  | 	: m_pD2dEllipse(nullptr) | 
					
						
							| 
									
										
										
										
											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) | 
					
						
							| 
									
										
										
										
											2017-12-15 21:51:07 +08:00
										 |  |  | 	: m_pD2dEllipse(nullptr) | 
					
						
							| 
									
										
										
										
											2017-10-29 23:48:32 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	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); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-30 16:45:38 +08:00
										 |  |  | 	ERenderer::getID2D1Factory()->CreateEllipseGeometry( | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  | 		D2D1::Ellipse( | 
					
						
							|  |  |  | 			D2D1::Point2F( | 
					
						
							|  |  |  | 				center.x, | 
					
						
							|  |  |  | 				center.y), | 
					
						
							|  |  |  | 			radiusX, | 
					
						
							|  |  |  | 			radiusY), | 
					
						
							|  |  |  | 		&m_pD2dEllipse | 
					
						
							|  |  |  | 	); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ID2D1EllipseGeometry * e2d::EEllipse::_getD2dGeometry() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return m_pD2dEllipse; | 
					
						
							|  |  |  | } |