+ UIElement poolNative(Canvas c);\r
+ }\r
+ }\r
+\r
+ public partial class Group : Internal.PrimitiveFigure\r
+ {\r
+ System.Collections.Generic.List<Figure> list;\r
+ System.Windows.Controls.Canvas cnvs;\r
+ System.Windows.Media.TransformGroup trans;\r
+ System.Windows.Media.TransformCollection transF;\r
+ System.Windows.Media.RotateTransform rotateF;\r
+ SimpleProcedure setRotation_;\r
+ System.Windows.Media.ScaleTransform scaleF;\r
+ SimpleProcedure setScaling_;\r
+ System.Windows.Media.TranslateTransform translateF;\r
+\r
+ bool AsyncBool;\r
+ double rotation_;\r
+ public double rotation\r
+ {\r
+ get { return rotation_; }\r
+ set { rotation_ = value; rotateF.Dispatcher.BeginInvoke(setRotation_); }\r
+ } \r
+ public Point axis\r
+ {\r
+ get;\r
+ set;\r
+ }\r
+ Point scaling_;\r
+ public Point scaling\r
+ {\r
+ get { return scaling_; }\r
+ set { scaling_ = value; scaleF.Dispatcher.BeginInvoke(setScaling_); }\r
+ }\r
+\r
+ AppendFunc1 append_;\r
+\r
+ public Group()\r
+ {\r
+ setRotation_ = new SimpleProcedure(setRotation__);\r
+ setScaling_ = new SimpleProcedure(setScaling__);\r
+ append_ = new AppendFunc1(append__);\r
+ list = new System.Collections.Generic.List<Figure>();\r
+ AsyncBool = false;\r
+ initialize__();\r
+ while (!AsyncBool) { }\r
+ }\r
+\r
+ public Group append(Internal.PrimitiveFigure fig)\r
+ {\r
+ list.Add(fig);\r
+ cnvs.Dispatcher.BeginInvoke(append_, fig);\r
+ return this;\r
+ }\r
+\r
+ public Point datum { get; set; }\r
+ public Figure shift(Point p)\r
+ {\r
+ datum = datum + p;\r
+ return this;\r
+ }\r
+ public Figure centering(Point p)\r
+ {\r
+ datum = p;\r
+ return this;\r
+ }\r
+ public void draw()\r
+ {\r
+ Main.drawable.group(this);\r