Exemple #1
0
 public override void MouseDown(int x, int y, bool isRightButton)
 {
     latestMousePoint = new Point(x, y);
     currentBrushPath = new MyBrushPath();
     this.myBrushPathList.Add(currentBrushPath);
     currentBrushPath.AddPointAtFirst(x, y);
     base.MouseDown(x, y, isRightButton);
 }
        public override void MouseDrag(int x, int y)
        {
            switch (this.EditMode)
            {
            case Samples.EditMode.Select:
            {
                if (this.currentSelectedPath != null)
                {
                    //find xdiff,ydiff
                    int xdiff = x - this.lastMousePosX;
                    int ydiff = y - this.lastMousePosY;
                    this.lastMousePosX = x;
                    this.lastMousePosY = y;
                    //move
                    currentSelectedPath.MoveBy(xdiff, ydiff);
                }
            }
            break;

            case Samples.EditMode.Draw:
            {
                //find diff
                Vector newPoint = new Vector(x, y);
                //find distance
                Vector oldPoint = new Vector(latestMousePoint.x, latestMousePoint.y);
                Vector delta    = (newPoint - oldPoint) / 2;      // 2,4 etc
                //midpoint
                Vector midPoint = (newPoint + oldPoint) / 2;
                delta = delta.NewLength(5);
                delta.Rotate(90);
                Vector newTopPoint    = midPoint + delta;
                Vector newBottomPoint = midPoint - delta;
                //bottom point
                currentBrushPath.AddPointAtFirst((int)newBottomPoint.X, (int)newBottomPoint.Y);
                currentBrushPath.AddPointAtLast((int)newTopPoint.X, (int)newTopPoint.Y);
                latestMousePoint = new PixelFarm.Drawing.Point(x, y);


                //
                // currentBrushPath.MakeSmoothPath();
            }
            break;
            }
        }
        public override void MouseDown(int x, int y, bool isRightButton)
        {
            this.lastMousePosX = x;
            this.lastMousePosY = y;
            switch (this.EditMode)
            {
            case Samples.EditMode.Select:
            {
                //hit test find path object
                HandleMouseDownOnSelectMode(x, y);
            }
            break;

            case Samples.EditMode.Draw:
            {
                latestMousePoint = new Point(x, y);
                currentBrushPath = new MyBrushPath();
                switch (BrushMode)
                {
                case SmoothBrushMode.SolidBrush:
                    currentBrushPath.FillColor   = Drawing.Color.Black;
                    currentBrushPath.StrokeColor = Drawing.Color.Red;
                    break;

                case SmoothBrushMode.EraseBrush:
                    currentBrushPath.FillColor   = Drawing.Color.White;
                    currentBrushPath.StrokeColor = Drawing.Color.Transparent;
                    break;

                case SmoothBrushMode.CutBrush:

                    break;
                }
                currentBrushPath.BrushMode = this.BrushMode;
                this.myBrushPathList.Add(currentBrushPath);
                currentBrushPath.AddPointAtFirst(x, y);
            }
            break;
            }

            base.MouseDown(x, y, isRightButton);
        }
Exemple #4
0
 public override void MouseDrag(int x, int y)
 {
     //find diff
     Vector newPoint = new Vector(x, y);
     //find distance
     Vector oldPoint = new Vector(latestMousePoint.x, latestMousePoint.y);
     var delta = (newPoint - oldPoint) / 2; // 2,4 etc
     //midpoint
     var midPoint = (newPoint + oldPoint) / 2;
     //find angle
     var topPoint = delta;//create top point
     var bottomPoint = delta; //bottom point
     topPoint.Rotate(90);
     bottomPoint.Rotate(-90);
     var newTopPoint = midPoint + topPoint;
     var newBottomPoint = midPoint + bottomPoint;
     //bottom point
     currentBrushPath.AddPointAtFirst((int)newBottomPoint.X, (int)newBottomPoint.Y);
     currentBrushPath.AddPointAtLast((int)newTopPoint.X, (int)newTopPoint.Y);
     latestMousePoint = new Point(x, y);
 }