Exemplo n.º 1
0
        private void SelectorCanvas_Draw(CanvasControl canvas, CanvasDrawEventArgs args)
        {
            var ds = args.DrawingSession;

            var W  = (float)canvas.Width;
            var HW = W / 2;
            var n  = SymbolShapes.Count;

            var m = SelectorCanvas.MinHeight;
            var v = (n + 1) * W;

            SelectorCanvas.Height = (v > m) ? v : m;

            var center_0 = new Vector2(HW, HW);

            for (int i = 0; i < n; i++)
            {
                var a           = i * W;
                var b           = (i + 1) * W;
                var center      = new Vector2(HW, a + HW);
                var shape       = SymbolShapes[i];
                var strokeWidth = shape.StrokeWidth;
                if (SelectedShapes.Contains(shape))
                {
                    Shape.HighLight(ds, W, i);
                }

                shape.Draw(canvas, ds, HW, center, strokeWidth);
                ds.DrawLine(0, b, b, b, Colors.LightGray, 1);
            }
        }
Exemplo n.º 2
0
        public void DeleteSelectedShapes()
        {
            DrawnShapes.RemoveAll(s => SelectedShapes.Contains(s));

            SelectedShapes.Clear();
            _g.RefreshView();
            ClickedOnSelectedShape = false;
            CreateMemento();
        }
Exemplo n.º 3
0
        private void EditorCanvas_Draw(CanvasControl sender, CanvasDrawEventArgs args)
        {
            var ds    = args.DrawingSession;
            var scale = EditSize / 2;

            DrawEditorBackgroundGrid(ds);

            if (EditContact == Edit_Contact.Contacts)
            {
                foreach (var shape in SymbolShapes)
                {
                    var strokeWidth = shape.StrokeWidth * 5;
                    shape.Draw(EditorCanvas, ds, scale, Center, strokeWidth, Shape.Coloring.Light);
                }

                DrawTargetContacts(ds);
            }
            else
            {
                if (SelectedShapes.Count > 0)
                {
                    foreach (var shape in SymbolShapes)
                    {
                        var coloring    = SelectedShapes.Contains(shape) ? Shape.Coloring.Light : Shape.Coloring.Gray;
                        var strokeWidth = shape.StrokeWidth * 5;
                        shape.Draw(EditorCanvas, ds, scale, Center, strokeWidth, coloring);
                    }

                    _polylineTarget = SelectedShapes.First() as Polyline;
                    _targetPoints.Clear();
                    Shape.DrawTargets(SelectedShapes, _targetPoints, ds, scale, Center);
                }
                else
                {
                    foreach (var shape in SymbolShapes)
                    {
                        var strokeWidth = shape.StrokeWidth * 5;
                        shape.Draw(EditorCanvas, ds, scale, Center, strokeWidth, Shape.Coloring.Normal);
                    }
                }
                SymbolCanvas.Invalidate();
                SelectorCanvas.Invalidate();
            }
        }
Exemplo n.º 4
0
        public void AddRemoveSelectedShape(int x, int y)
        {
            var shape = DrawnShapes.LastOrDefault(s => s.Contains(x, y));

            if (shape == null)
            {
                SelectedShapes.Clear();
            }
            else
            {
                if (!SelectedShapes.Contains(shape))
                {
                    SelectedShapes.Add(shape);
                }
                else
                {
                    SelectedShapes.Remove(shape);
                }
            }
            _g.RefreshView();
        }
Exemplo n.º 5
0
        private void ShapeSelectorHit(int index)
        {
            var shape = SymbolShapes[index];

            if (IsSelectOneOrMoreShapeMode)
            {
                if (SelectedShapes.Contains(shape))
                {
                    SelectedShapes.Remove(shape);
                }
                else
                {
                    SelectedShapes.Add(shape);
                }
            }
            else
            {
                SelectedShapes.Clear();
                SelectedShapes.Add(shape);
            }

            GrtProperty(shape);
            PickerShape = null;

            if (SelectedShapes.Count > 0)
            {
                SetShapesAreSelected();
            }
            else
            {
                SetIdleOnVoid();
            }

            PickerShape = null;
            SetSizeSliders();
            PickerCanvas.Invalidate();
            EditorCanvas.Invalidate();
        }