Beispiel #1
0
        public void LoadCan(int x, int y)
        {
            this.x = x;
            this.y = y;

            Can.Get.Children.Clear();

            var lines = CanvasDrawer.DrawGrid(Raster, x, y);

            foreach (var line in lines)
            {
                Can.Get.Children.Add(line);
            }

            DrawShapes();

            Can.Get.Children.Add(X);

            if (rectangle != null)
            {
                Can.Get.Children.Add(rectangle);
            }

            if (!loaded)
            {
                Can.Get.MouseLeftButtonDown += (a, b) =>
                {
                    if (ClickMode == CLICK_MODE.SELECT_AREA ||
                        ClickMode == CLICK_MODE.MOVE ||
                        ClickMode == CLICK_MODE.RESIZE)
                    {
                        if (!isStarted)
                        {
                            startPosition = b.GetPosition(Can.Get);
                        }
                        isStarted = true;
                    }
                    else if (ClickMode == CLICK_MODE.SELECT_SINGLE ||
                             ClickMode == CLICK_MODE.TEXTURE)
                    {
                        select(b);
                    }
                    else if (ClickMode == CLICK_MODE.NEW_CUBE ||
                             ClickMode == CLICK_MODE.NEW_SPHERE)
                    {
                        if (!isStarted)
                        {
                            startPosition = b.GetPosition(Can.Get);
                        }
                        isStarted = true;
                    }
                    else if (ClickMode == CLICK_MODE.NEW_BONE)
                    {
                        var posi = b.GetPosition(Can.Get);
                        BoneAction(xyz, Raster, (int)posi.X, (int)posi.Y);
                    }
                };

                Can.Get.MouseMove += (a, b) =>
                {
                    if (isStarted)
                    {
                        if (ClickMode == CLICK_MODE.SELECT_AREA)
                        {
                            selectArea(b);
                        }
                        else if (ClickMode == CLICK_MODE.NEW_CUBE ||
                                 ClickMode == CLICK_MODE.NEW_SPHERE)
                        {
                            cube(b);
                        }
                        else if (ClickMode == CLICK_MODE.MOVE)
                        {
                            move(b);
                        }
                        else if (ClickMode == CLICK_MODE.RESIZE)
                        {
                            resize(b);
                        }
                    }
                };

                Can.Get.MouseRightButtonDown += (a, b) =>
                {
                    lastPoint = b.GetPosition(Can.Get);
                    var posi = System.Windows.Forms.Control.MousePosition;
                    ViewManager.ShowView(typeof(EditorMenu), this, posi.X - 10, posi.Y - 10);
                };

                loaded = true;
                LoadedAction(xyz);
            }
        }