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); }
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); }