public override void MouseUp(IDocument document, MouseEventArgs e) { base.MouseUp(document, e); this.Visible = false; this._mirrorPoint = Point.Empty; this._horizontalVersor = HorizontalVersors.LeftRight; this._verticalVersor = VerticalVersors.TopBottom; }
public void InitializeVersors(HitPositions hitPosition) { this._horizontalMirror = true; this._verticalMirror = true; switch (hitPosition) { case HitPositions.TopLeft: this._horizontalVersor = HorizontalVersors.RightLeft; this._verticalVersor = VerticalVersors.BottomTop; break; case HitPositions.Top: this._horizontalVersor = HorizontalVersors.LeftRight; this._verticalVersor = VerticalVersors.BottomTop; this._horizontalMirror = false; break; case HitPositions.TopRight: this._horizontalVersor = HorizontalVersors.LeftRight; this._verticalVersor = VerticalVersors.BottomTop; break; case HitPositions.Right: this._horizontalVersor = HorizontalVersors.LeftRight; this._verticalVersor = VerticalVersors.TopBottom; this._verticalMirror = false; break; case HitPositions.BottomRight: this._horizontalVersor = HorizontalVersors.LeftRight; this._verticalVersor = VerticalVersors.TopBottom; break; case HitPositions.Bottom: this._horizontalVersor = HorizontalVersors.LeftRight; this._verticalVersor = VerticalVersors.TopBottom; this._horizontalMirror = false; break; case HitPositions.BottomLeft: this._horizontalVersor = HorizontalVersors.RightLeft; this._verticalVersor = VerticalVersors.TopBottom; break; case HitPositions.Left: this._horizontalVersor = HorizontalVersors.RightLeft; this._verticalVersor = VerticalVersors.TopBottom; this._verticalMirror = false; break; } }
public virtual void UpdateVersors(PointF mirrorPoint, Point currentPoint) { if (!(this._mirrorPoint == PointF.Empty)) { HorizontalVersors horizontalVersor = this.GetHorizontalVersor(currentPoint); VerticalVersors verticalVersor = this.GetVerticalVersor(currentPoint); if (this._horizontalVersor != horizontalVersor && horizontalVersor != HorizontalVersors.Undefined && this._horizontalMirror) { base.Transformer.MirrorHorizontal(mirrorPoint.X); this._horizontalVersor = horizontalVersor; } if (this._verticalVersor != verticalVersor && verticalVersor != VerticalVersors.Undefined && this._verticalMirror) { base.Transformer.MirrorVertical(mirrorPoint.Y); this._verticalVersor = verticalVersor; } } }
/// <summary> /// Updates versors. /// </summary> /// <param name="mirrorPoint">Mirror point.</param> /// <param name="currentPoint">Mouse location.</param> virtual protected void UpdateVersors(PointF mirrorPoint, Point currentPoint) { if (_mirrorPoint == PointF.Empty) { return; } HorizontalVersors horizontalVersor = GetHorizontalVersor(currentPoint); VerticalVersors verticalVersor = GetVerticalVersor(currentPoint); if (_horizontalVersor != horizontalVersor && horizontalVersor != HorizontalVersors.Undefined && _horizontalMirror) { Transformer.MirrorHorizontal(mirrorPoint.X); _horizontalVersor = horizontalVersor; } if (_verticalVersor != verticalVersor && verticalVersor != VerticalVersors.Undefined && _verticalMirror) { Transformer.MirrorVertical(mirrorPoint.Y); _verticalVersor = verticalVersor; } }
/// <summary> /// Initializes versors relative to ghosted shape /// </summary> /// <param name="hitPosition">Ghosted shape hit position</param> protected void InitializeVersors(HitPositions hitPosition) { _horizontalMirror = true; _verticalMirror = true; switch (hitPosition) { case HitPositions.TopLeft: { _horizontalVersor = HorizontalVersors.RightLeft; _verticalVersor = VerticalVersors.BottomTop; break; } case HitPositions.Top: { _horizontalVersor = HorizontalVersors.LeftRight; _verticalVersor = VerticalVersors.BottomTop; _horizontalMirror = false; break; } case HitPositions.TopRight: { _horizontalVersor = HorizontalVersors.LeftRight; _verticalVersor = VerticalVersors.BottomTop; break; } case HitPositions.Right: { _horizontalVersor = HorizontalVersors.LeftRight; _verticalVersor = VerticalVersors.TopBottom; _verticalMirror = false; break; } case HitPositions.BottomRight: { _horizontalVersor = HorizontalVersors.LeftRight; _verticalVersor = VerticalVersors.TopBottom; break; } case HitPositions.Bottom: { _horizontalVersor = HorizontalVersors.LeftRight; _verticalVersor = VerticalVersors.TopBottom; _horizontalMirror = false; break; } case HitPositions.BottomLeft: { _horizontalVersor = HorizontalVersors.RightLeft; _verticalVersor = VerticalVersors.TopBottom; break; } case HitPositions.Left: { _horizontalVersor = HorizontalVersors.RightLeft; _verticalVersor = VerticalVersors.TopBottom; _verticalMirror = false; break; } } }