+ public void flip()\r
+ {\r
+ flip(1);\r
+ }\r
+\r
+\r
+ #region version modifyNative2\r
+ public void executeFlip()\r
+ {\r
+ Clock after = new Clock();\r
+ after.update();\r
+ AppState.statusBar = ((after - before).at_msec().ToString()) + " msec";\r
+\r
+ Line lineS;\r
+ Rectangle rectS;\r
+ Ellipse ellipseS;\r
+ Polygon polygonS;\r
+ Letters lettersS;\r
+ Image imageS;\r
+ Group groupS;\r
+ System.Windows.Shapes.Line lineP;\r
+ System.Windows.Shapes.Rectangle rectP;\r
+ System.Windows.Shapes.Ellipse ellipseP;\r
+ System.Windows.Shapes.Polygon polygonP;\r
+ System.Windows.Controls.TextBlock lettersP;\r
+ System.Windows.Controls.Image imageP;\r
+ System.Windows.Controls.Canvas groupP;\r
+\r
+ lock (this)\r
+ {\r
+ nextIntervalFrame--;\r
+ }\r
+\r
+ var cnv = UIElementPool[0];\r
+ if (nextIntervalFrame <= 0)\r
+ {\r
+ if (chacked > 0)\r
+ {\r
+ if (stackN > 0)\r
+ {\r
+ for (int i = 0; i < stackN; i++)\r
+ {\r
+ if( null != (rectS = stack[i] as Rectangle) )\r
+ {\r
+ if (null != (rectP = cnv.Children[0] as System.Windows.Shapes.Rectangle))\r
+ {\r
+ rectS.modifyNative(rectP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ else if (null != (lineS = stack[i] as Line))\r
+ {\r
+ if (null != (lineP = cnv.Children[0] as System.Windows.Shapes.Line))\r
+ {\r
+ lineS.modifyNative(lineP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ else if (null != (ellipseS = stack[i] as Ellipse))\r
+ {\r
+ if (null != (ellipseP = cnv.Children[0] as System.Windows.Shapes.Ellipse))\r
+ {\r
+ ellipseS.modifyNative(ellipseP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ else if (null != (polygonS = stack[i] as Polygon))\r
+ {\r
+ if (null != (polygonP = cnv.Children[0] as System.Windows.Shapes.Polygon))\r
+ {\r
+ polygonS.modifyNative(polygonP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ else if (null != (lettersS = stack[i] as Letters))\r
+ {\r
+ if (null != (lettersP = cnv.Children[0] as System.Windows.Controls.TextBlock))\r
+ {\r
+ lettersS.modifyNative(lettersP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ else if (null != (imageS = stack[i] as Image))\r
+ {\r
+ if (null != (imageP = cnv.Children[0] as System.Windows.Controls.Image))\r
+ {\r
+ imageS.modifyNative(imageP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ else if (null != (groupS = stack[i] as Group))\r
+ {\r
+ if (null != (groupP = cnv.Children[0] as System.Windows.Controls.Canvas))\r
+ {\r
+ groupS.modifyNative(groupP, this);\r
+ }\r
+ else\r
+ {\r
+ cnv.Children.Clear();\r
+ cnv.Children.Add(stack[i].poolNative(this));\r
+ }\r
+ }\r
+ cnv.Visibility = Visibility.Visible;\r
+ UIElementPoolN++;\r
+ cnv = UIElementPool[UIElementPoolN];\r
+ }\r
+ for (int i = UIElementPoolN; i < lastVisibleN; i++)\r
+ {\r
+ cnv = UIElementPool[i];\r
+ cnv.Visibility = Visibility.Collapsed;\r
+ }\r
+ lastVisibleN = UIElementPoolN;\r
+ stackN = 0;\r
+ }\r
+ lock (this)\r
+ {\r
+ chacked = 0;\r
+ }\r
+ Psychlops.Internal.Main.canvas_flag.Set();\r
+ }\r
+ }\r
+ System.Threading.Thread.Sleep(0);\r
+ }\r
+ #endregion\r
+\r
+ #region version modifyNative\r
+ /*\r