|
@@ -0,0 +1,42 @@
|
|
|
+#include "cdrapp.h"
|
|
|
+#include <stdio.h>
|
|
|
+
|
|
|
+#define ZERO_4PC 0, 0, 0, 0
|
|
|
+bool test(corel* cdr){
|
|
|
+ cdr->ActiveDocument->Unit = cdrMillimeter;
|
|
|
+ double x, y;
|
|
|
+
|
|
|
+// 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 );
|
|
|
+
|
|
|
+ for(auto i = 0; i < s->DisplayCurve->Nodes->Count; i++){
|
|
|
+ auto n = s->DisplayCurve->Nodes->Item[i+1];
|
|
|
+
|
|
|
+ x = n->PositionX;
|
|
|
+ y = n->PositionY;
|
|
|
+ printf("%f, %f\n", x, y);
|
|
|
+
|
|
|
+ auto sy = cdr->ActiveLayer->CreateEllipse2(x, y, 5, ZERO_4PC);
|
|
|
+ sy->Outline->Color->RGBAssign(255, 0, 0);
|
|
|
+
|
|
|
+ auto sj = cdr->ActiveLayer->CreateRectangle2(x, y, 10, 10, ZERO_4PC);
|
|
|
+ sj->Outline->Color->RGBAssign(0, 255, 0);
|
|
|
+ sj->PutCenterX(x);
|
|
|
+ sj->PutCenterY(y);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|