public PrimitiveRect(Level pointer, Point createPoint) : base(pointer) { shape = new Rectangle(); x = createPoint.X; y = createPoint.Y; w = 0; h = 0; shape.RenderTransform = new RotateTransform(); shape.Stroke = new SolidColorBrush((Color)MainWindow.window.lineColorSelect.SelectedColor); shape.StrokeThickness = MainWindow.window.lineThickness.SelectedIndex; shape.Fill = new SolidColorBrush((Color)MainWindow.window.fillColorSelect.SelectedColor); shape.ContextMenu = new ContextMenu(); MenuItem menuItem1 = new MenuItem(); menuItem1.Header = "Bring to front"; menuItem1.Click += delegate { pointer.MovePrimToFront(this); }; MenuItem menuItem2 = new MenuItem(); menuItem2.Header = "Bring forward"; menuItem2.Click += delegate { pointer.MovePrimForward(this); }; MenuItem menuItem3 = new MenuItem(); menuItem3.Header = "Bring backward"; menuItem3.Click += delegate { pointer.MovePrimBackward(this); }; MenuItem menuItem4 = new MenuItem(); menuItem4.Header = "Bring to back"; menuItem4.Click += delegate { pointer.MovePrimToBack(this); }; shape.ContextMenu.Items.Add(menuItem1); shape.ContextMenu.Items.Add(menuItem2); shape.ContextMenu.Items.Add(menuItem3); shape.ContextMenu.Items.Add(menuItem4); //Vertices topLeftVS = new VertexSelector(canvas, x, y); topRightVS = new VertexSelector(canvas, x, y); botLeftVS = new VertexSelector(canvas, x, y); botRightVS = new VertexSelector(canvas, x, y); topLeftVS.rect.Cursor = Cursors.SizeNWSE; topRightVS.rect.Cursor = Cursors.SizeNESW; botLeftVS.rect.Cursor = Cursors.SizeNESW; botRightVS.rect.Cursor = Cursors.SizeNWSE; vertexSelectors.Add(topLeftVS); vertexSelectors.Add(topRightVS); vertexSelectors.Add(botLeftVS); vertexSelectors.Add(botRightVS); //Edges topES = new EdgeSelector(canvas, 0, 0); botES = new EdgeSelector(canvas, 0, 0); leftES = new EdgeSelector(canvas, 0, 0); rightES = new EdgeSelector(canvas, 0, 0); topES.line.Cursor = Cursors.SizeNS; botES.line.Cursor = Cursors.SizeNS; leftES.line.Cursor = Cursors.SizeWE; rightES.line.Cursor = Cursors.SizeWE; edgeSelectors.Add(topES); edgeSelectors.Add(botES); edgeSelectors.Add(leftES); edgeSelectors.Add(rightES); canvas.Children.Add(shape); }