Exemplo n.º 1
0
 public MainWindow()
 {
     InitializeComponent();
     _squareMaker = new SquareMaker(_canvas);
     _eraser      = new Eraser(_canvas);
     _tool        = _squareMaker;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public void Draw(Vector2 center, Vector2 dimensions, float rotation, IDrawingTool drawingTool)
 {
     foreach (var stroke in strokes)
     {
         stroke.Draw(center, dimensions, rotation, drawingTool);
     }
 }
Exemplo n.º 4
0
 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();
 }
Exemplo n.º 5
0
        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];
        }
Exemplo n.º 6
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
 }
Exemplo n.º 8
0
 private void Reset()
 {
     m_Priority       = 0;
     m_SwallowTouches = true;
     m_Tool           = null;
 }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
 public TransmutationCircle(Config config, IDrawingTool drawingTool)
 {
     this.config      = config;
     this.drawingTool = drawingTool;
     this.characterOn = 0;
 }
Exemplo n.º 11
0
 private void button2_Copy_Click(object sender, RoutedEventArgs e)
 {
     _tool = _eraser;
 }
Exemplo n.º 12
0
 private void button2_Click(object sender, RoutedEventArgs e)
 {
     _tool = _squareMaker;
 }