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); }
protected override void OnMouseDown(int x, int y) { _latestBrushPathCache = null; _latestMousePoint = new PixelFarm.VectorMath.Point(x, y); _points.Clear(); _myBrushPath = new PixelFarm.Agg.Samples.MyBrushPath(); _myBrushPath.FillColor = PixelFarm.Drawing.Color.Red; _points.Add(new System.Drawing.Point(x, y)); _myBrushPath.AddPointAtFirst(x, y); }
protected override void OnMouseMove(int x, int y) { _points.Add(new System.Drawing.Point(x, y)); //dragging //--------- //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 _myBrushPath.AddPointAtFirst((int)newBottomPoint.X, (int)newBottomPoint.Y); _myBrushPath.AddPointAtLast((int)newTopPoint.X, (int)newTopPoint.Y); _latestMousePoint = new PixelFarm.VectorMath.Point(x, y); }
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); }