| 
					
				 | 
			
			
				@@ -2,20 +2,19 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <stdio.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #define ZERO_4PC 0, 0, 0, 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-bool test(corel* cdr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeEllipse(corel* cdr, double x, double y, double r); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeEllipse(corel* cdr, IVGShapePtr s, double r); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeRectangle(corel* cdr, double x, double y, double w, double h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeRectangle(corel* cdr, IVGShapePtr s, double w, double h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+bool polygon_gravity_dot(corel* cdr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdr->ActiveDocument->Unit = cdrMillimeter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     double x, y; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//  IVGShapePtr ActiveShape; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//  IVGShapePtr ActiveShape;    // 获取当前选中的图形 函数原型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     auto s = cdr->ActiveShape; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//  建立矩形和圆形函数原型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//  IVGShapePtr IVGLayer::CreateRectangle2 ( double x, double y, double Width, double Height,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                      double RadiusUL, double RadiusUR, double RadiusLR, double RadiusLL ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//  IVGShapePtr IVGLayer::CreateEllipse2 ( double CenterX, double CenterY, double Radius1,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                   double Radius2, double StartAngle, double EndAngle, VARIANT_BOOL Pie ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  获取节点函数原型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  IVGNodePtr IVGNodes::GetItem ( long Index ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  IVGNodePtr IVGNodeRange::GetItem ( long Index ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27,16 +26,47 @@ bool test(corel* cdr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         y = n->PositionY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         printf("%f, %f\n", x, y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        auto sy = cdr->ActiveLayer->CreateEllipse2(x, y, 5, ZERO_4PC);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        auto sy = MakeEllipse(cdr, x, y, 5);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sy->Outline->Color->RGBAssign(255, 0, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        auto sj = cdr->ActiveLayer->CreateRectangle2(x, y, 10, 10, ZERO_4PC);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        auto sj = MakeRectangle(cdr, x, y, 10, 10);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sj->Outline->Color->RGBAssign(0, 255, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sj->PutCenterX(x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sj->PutCenterY(y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//  建立矩形和圆形函数原型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//  IVGShapePtr IVGLayer::CreateRectangle2 ( double x, double y, double Width, double Height,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                      double RadiusUL, double RadiusUR, double RadiusLR, double RadiusLL ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//  IVGShapePtr IVGLayer::CreateEllipse2 ( double CenterX, double CenterY, double Radius1,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                   double Radius2, double StartAngle, double EndAngle, VARIANT_BOOL Pie ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeEllipse(corel* cdr, double x, double y, double r){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return  cdr->ActiveLayer->CreateEllipse2(x, y, r, ZERO_4PC);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeEllipse(corel* cdr, IVGShapePtr s, double r){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    double x, y; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    x = s->CenterX;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    y = s->CenterY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return  cdr->ActiveLayer->CreateEllipse2(x, y, r, ZERO_4PC);    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeRectangle(corel* cdr, double x, double y, double w, double h){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    auto sj = cdr->ActiveLayer->CreateRectangle2(x, y, w, h, ZERO_4PC);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sj->PutCenterX(x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sj->PutCenterY(y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return  sj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IVGShapePtr MakeRectangle(corel* cdr, IVGShapePtr s, double w, double h){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    double x, y; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    x = s->CenterX;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    y = s->CenterY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    auto sj = cdr->ActiveLayer->CreateRectangle2(x, y, w, h, ZERO_4PC);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sj->PutCenterX(x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sj->PutCenterY(y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return  sj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |