コード例 #1
0
ファイル: Surface.cs プロジェクト: SupremeGenius/espUrl
        void SurfaceMouseDown(object sender, MouseEventArgs e)
        {
            mouseStart = MouseHelper.FixMouseCoordinates(e);
            mouseDown  = true;
            isSurfaceMoveMadeUndoable = false;

            if (cropContainer != null && ((undrawnElement == null) || (undrawnElement != null && DrawingMode != DrawingModes.Crop)))
            {
                RemoveElement(cropContainer, false);
                cropContainer  = null;
                drawingElement = null;
            }

            if (drawingElement == null && DrawingMode != DrawingModes.None)
            {
                if (undrawnElement == null)
                {
                    DeselectAllElements();
                    if (undrawnElement == null)
                    {
                        CreateUndrawnElement();
                    }
                }
                drawingElement        = undrawnElement;
                drawingElement.Status = EditStatus.DRAWING;
                undrawnElement        = null;
                // if a new element has been drawn, set location and register it
                if (drawingElement != null)
                {
                    drawingElement.PropertyChanged += ElementPropertyChanged;
                    if (!drawingElement.HandleMouseDown(mouseStart.X, mouseStart.Y))
                    {
                        drawingElement.Left = mouseStart.X;
                        drawingElement.Top  = mouseStart.Y;
                    }
                    AddElement(drawingElement);
                    drawingElement.Selected = true;
                }
            }
            else
            {
                // check whether an existing element was clicked
                // we save mouse down element separately from selectedElements (checked on mouse up),
                // since it could be moved around before it is actually selected
                mouseDownElement = elements.ClickableElementAt(mouseStart.X, mouseStart.Y);

                if (mouseDownElement != null)
                {
                    mouseDownElement.Status = EditStatus.MOVING;
                }
            }
        }
コード例 #2
0
 void SurfaceMouseDown(object sender, MouseEventArgs e)
 {
     mX             = e.X;
     mY             = e.Y;
     mouseDown      = true;
     drawingElement = null;
     if (DrawingMode == DrawingModes.Rect) // draw rectangle
     {
         DeselectAllElements();
         drawingElement = new RectangleContainer(this);
     }
     else if (DrawingMode == DrawingModes.Ellipse) // draw ellipse
     {
         DeselectAllElements();
         drawingElement = new EllipseContainer(this);
     }
     else if (DrawingMode == DrawingModes.Text) // draw textbox
     {
         DeselectAllElements();
         drawingElement = new TextContainer(this);
     }
     else if (DrawingMode == DrawingModes.Line) // draw line
     {
         DeselectAllElements();
         drawingElement = new LineContainer(this);
     }
     else if (DrawingMode == DrawingModes.Arrow) // draw arrow
     {
         DeselectAllElements();
         drawingElement = new LineContainer(this);
         ((LineContainer)drawingElement).HasEndPointArrowHead = true;
     }
     else // check whether an existing element was clicked
     {
         // we save mouse down element separately from selectedElements (checked on mouse up),
         // since it could be moved around before it is actually selected
         mouseDownElement = elements.ClickableElementAt(e.X, e.Y);
     }
     // if a new element has been drawn, set location and register it
     if (drawingElement != null)
     {
         drawingElement.Left      = e.X;
         drawingElement.Top       = e.Y;
         drawingElement.Selected  = true;
         drawingElement.ForeColor = conf.Editor_ForeColor;
         drawingElement.BackColor = conf.Editor_BackColor;
         drawingElement.Thickness = conf.Editor_Thickness;
         AddElement(drawingElement);
     }
 }
コード例 #3
0
        private void SurfaceMouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mX             = e.X;
                mY             = e.Y;
                mouseDown      = true;
                drawingElement = null;

                if (DrawingMode == DrawingModes.Rect) // Draw rectangle
                {
                    drawingElement = new RectangleContainer(this);
                }
                else if (DrawingMode == DrawingModes.Ellipse) // Draw ellipse
                {
                    drawingElement = new EllipseContainer(this);
                }
                else if (DrawingMode == DrawingModes.Line) // Draw line
                {
                    drawingElement = new LineContainer(this);
                }
                else if (DrawingMode == DrawingModes.Text) // Draw textbox
                {
                    drawingElement = new TextContainer(this);
                }

                // check whether an existing element was clicked
                // we save mouse down element separately from selectedElements (checked on mouse up),
                // since it could be moved around before it is actually selected
                if (DrawingMode == DrawingModes.None)
                {
                    mouseDownElement = elements.ClickableElementAt(e.X, e.Y);
                }
                else
                {
                    mouseDownElement = selectedElements.ClickableElementAt(e.X, e.Y);
                }

                if (mouseDownElement == null)
                {
                    DeselectAllElements();
                }

                // if a new element has been drawn, set location and register it
                if (drawingElement != null)
                {
                    drawingElement.Left          = e.X;
                    drawingElement.Top           = e.Y;
                    drawingElement.Selected      = true;
                    drawingElement.ForeColor     = conf.Editor_ForeColor;
                    drawingElement.BackColor     = conf.Editor_BackColor;
                    drawingElement.GradientColor = conf.Editor_GradientColor;
                    drawingElement.GradientType  = conf.Editor_GradientType;
                    drawingElement.Thickness     = conf.Editor_Thickness;
                    drawingElement.ArrowHeads    = conf.Editor_ArrowHeads;
                    AddElement(drawingElement);
                }
            }
            else if (e.Button == MouseButtons.Right)
            {
                DeselectAllElements();
            }
        }