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.AddPointFirst((int)newBottomPoint.X, (int)newBottomPoint.Y); currentBrushPath.AddPointLast((int)newTopPoint.X, (int)newTopPoint.Y); latestMousePoint = new Point(x, y); }
public override void MouseDown(int x, int y, bool isRightButton) { latestMousePoint = new Point(x, y); currentBrushPath = new MyBrushPath(); switch (BrushMode) { case SmoothBrushMode.SolidBrush: currentBrushPath.FillColor = ColorRGBA.Black; currentBrushPath.StrokeColor = ColorRGBA.Red; break; case SmoothBrushMode.EraseBrush: currentBrushPath.FillColor = ColorRGBA.White; currentBrushPath.StrokeColor = ColorRGBA.Transparent; break; case SmoothBrushMode.CutBrush: break; } currentBrushPath.BrushMode = this.BrushMode; this.myBrushPathList.Add(currentBrushPath); currentBrushPath.AddPointFirst(x, y); base.MouseDown(x, y, isRightButton); }
public override void MouseDown(int x, int y, bool isRightButton) { latestMousePoint = new Point(x, y); currentBrushPath = new MyBrushPath(); this.myBrushPathList.Add(currentBrushPath); currentBrushPath.AddPointFirst(x, y); 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; delta = delta.NewLength(5); delta.Rotate(90); var newTopPoint = midPoint + delta; var newBottomPoint = midPoint - delta; //bottom point currentBrushPath.AddPointFirst((int)newBottomPoint.X, (int)newBottomPoint.Y); currentBrushPath.AddPointLast((int)newTopPoint.X, (int)newTopPoint.Y); latestMousePoint = new Point(x, y); }