public MainWindow() { InitializeComponent(); _squareMaker = new SquareMaker(_canvas); _eraser = new Eraser(_canvas); _tool = _squareMaker; }
public void Draw(Vector2 center, Vector2 dimensions, float rotation, IDrawingTool drawingTool) { var halfOne = Vector2.one / 2.0f; var reAdjust = center - (dimensions * 0.5f); var startCentered = start - halfOne; var originalStartAngle = Mathf.Atan2(startCentered.y, startCentered.x); var scaledStart = new Vector2( startCentered.magnitude * Mathf.Cos(rotation + originalStartAngle), startCentered.magnitude * Mathf.Sin(rotation + originalStartAngle) ) + halfOne; scaledStart = new Vector2( scaledStart.x * dimensions.x, scaledStart.y * dimensions.y ) + reAdjust; var endCentered = this.end - halfOne; var originalEndAngle = Mathf.Atan2(endCentered.y, endCentered.x); var scaledEnd = new Vector2( endCentered.magnitude * Mathf.Cos(rotation + originalEndAngle), endCentered.magnitude * Mathf.Sin(rotation + originalEndAngle) ) + halfOne; scaledEnd = new Vector2( scaledEnd.x * dimensions.x, scaledEnd.y * dimensions.y ) + reAdjust; drawingTool.Line(scaledStart, scaledEnd, dimensions.magnitude); }
public void Draw(Vector2 center, Vector2 dimensions, float rotation, IDrawingTool drawingTool) { foreach (var stroke in strokes) { stroke.Draw(center, dimensions, rotation, drawingTool); } }
private void Control_Loaded(IDrawingTool pencil, IDrawingTool line, IDrawingTool picker, Window parent) { _window = new ToolsWindow(pencil, line, picker) { Owner = parent }; _window.Closing += ToolWindow_Closing; _window.Show(); OpenToolWindow(); }
public mainForm(List <IDrawingTool> tools) { InitializeComponent(); this.tools = tools; colorBar = new ColorBar(colorPictureBox, new List <Color> { Color.Black, Color.Red, Color.Green, Color.DarkBlue, Color.Yellow, Color.White, Color.Orange, Color.Lime, Color.Blue, Color.Gray }); mainPictureBox.SizeMode = PictureBoxSizeMode.Zoom; mainBitmap = new Bitmap(mainPictureBox.Width / Scale, mainPictureBox.Height / Scale); CallForBitmap(bmp => { }); toolPanel.Controls.Add(MakeSaveLoadPanel()); foreach (IDrawingTool tool in tools) { tool.Color = Color.Yellow; Button button = new Button { Width = toolPanel.Width - 8, Text = tool.Name }; button.Click += (sender, args) => { Selected = tool; }; toolPanel.Controls.Add(button); FlowLayoutPanel panel = new FlowLayoutPanel { Width = toolPanel.Width - 8, Height = toolPanel.Width / 2 }; toolPanel.Controls.Add(panel); tool.Init(panel); } Selected = tools[0]; }
public ToolsWindow(IDrawingTool pencil, IDrawingTool line, IDrawingTool picker) { InitializeComponent(); _rValueSelector = new ValueSelectorVM(0, 255, 0, 1); _gValueSelector = new ValueSelectorVM(0, 255, 0, 1); _bValueSelector = new ValueSelectorVM(0, 255, 0, 1); _rValueSelector.PropertyChanged += Color_Updated; _gValueSelector.PropertyChanged += Color_Updated; _bValueSelector.PropertyChanged += Color_Updated; RColorPlaceholder.Content = _rValueSelector.View; GColorPlaceholder.Content = _gValueSelector.View; BColorPlaceholder.Content = _bValueSelector.View; _primaryColor = new SolidColorBrush(); PrimaryColorRect.Background = _primaryColor; PrimaryColorRect.MouseRightButtonDown += PrimaryColorRect_MouseDown; _secondaryColor = new SolidColorBrush(Colors.White); SecondaryColorRect.Background = _secondaryColor; PencilToolButton.Checked += Tool_Selected; LineToolButton.Checked += Tool_Selected; PickerToolButton.Checked += Tool_Selected; PencilToolButton.Checked += (s, e) => pencil?.Attach(); PencilToolButton.Unchecked += (s, e) => pencil?.Detach(); LineToolButton.Checked += (s, e) => line?.Attach(); LineToolButton.Unchecked += (s, e) => line?.Detach(); PickerToolButton.Checked += (s, e) => picker?.Attach(); PickerToolButton.Unchecked += (s, e) => picker?.Detach(); PencilToolButton.IsChecked = true; Color_Updated(this, null); }
public MyDraw(IDrawingTool drawingTool) { // Your code here }
private void Reset() { m_Priority = 0; m_SwallowTouches = true; m_Tool = null; }
private void radio_CheckedChanged(object sender, EventArgs e) { if (lineRadio.Checked) { tool = new LineTool(objectList); usedCursor = Cursors.Cross; } else if (rectRadio.Checked) { tool = new RectTool(objectList); usedCursor = Cursors.Cross; } else if (parallelogramRadio.Checked) { tool = new ParallelogramTool(objectList); usedCursor = Cursors.Cross; } else if (polygonRadio.Checked) { tool = new PolygonTool(objectList); usedCursor = Cursors.Cross; } else if (brokenLineRadio.Checked) { tool = new BrokenLineTool(objectList); usedCursor = Cursors.Cross; } else if (circleArcRadio.Checked) { tool = new CircleArcTool(objectList); usedCursor = Cursors.Cross; } else if (circleRadio.Checked) { tool = new CircleTool(objectList); usedCursor = Cursors.Cross; } else if (ellipseRadio.Checked) { tool = new EllipseTool(objectList); usedCursor = Cursors.Cross; } else if (ellipseArcRadio.Checked) { tool = new EllipseArcTool(objectList); usedCursor = Cursors.Cross; } else if (bezierRadio.Checked) { tool = new BezierTool(objectList); usedCursor = Cursors.Cross; } else if (newTextRadio.Checked) { tool = new CreateTextTool(objectList); usedCursor = Cursors.IBeam; } else if (parabolaRadio.Checked) { tool = new ParabolaTool(objectList); usedCursor = Cursors.Cross; } else if (hyperbolaRadio.Checked) { tool = new HyperbolaTool(objectList); usedCursor = Cursors.Cross; } // Manipulation Tools else if (selectRadio.Checked) { tool = new SelectTool(objectList); usedCursor = Cursors.Arrow; } else if (moveRadio.Checked) { tool = new MoveTool(objectList); usedCursor = Cursors.NoMove2D; } else if (deleteRadio.Checked) { tool = new DeleteTool(objectList); usedCursor = Cursors.No; } else if (controlRadio.Checked) { tool = new ControlTool(objectList); usedCursor = Cursors.Hand; } else if (scaleRadio.Checked) { tool = new ScaleTool(objectList); usedCursor = Cursors.SizeAll; } else if (rotateRadio.Checked) { tool = new RotateTool(objectList); usedCursor = Cursors.Hand; } pictureBox1.Invalidate(); tool.setOwner(this); }
public TransmutationCircle(Config config, IDrawingTool drawingTool) { this.config = config; this.drawingTool = drawingTool; this.characterOn = 0; }
private void button2_Copy_Click(object sender, RoutedEventArgs e) { _tool = _eraser; }
private void button2_Click(object sender, RoutedEventArgs e) { _tool = _squareMaker; }