|
@@ -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;
|
|
|
+}
|