private void Move(HighlightCanvasHighlight hl, double x, double y)
 {
     if (this._Viewport != null)
         this.RememberAndMoveAbsolute(hl, x, y);
     else
         this.MoveRelative(hl, x, y);
 }
Example #2
0
 private void MoveHighlightToPoint(HighlightCanvasHighlight hl, Point p)
 {
     this.DispatchConditional(() => this.MoveHighlight(hl, p.X, p.Y),
         this.AlreadyActivated(hl));
 }
Example #3
0
 private void MoveHighlight(HighlightCanvasHighlight hl, double x, double y)
 {
     this.MoveHighlightOnCanvas(hl, x, y);
 }
Example #4
0
 private void HighlightAlreadyActivated(HighlightCanvasHighlight hl, Action<bool> activated)
 {
     this.Dispatch(() => activated(base.Children.Contains(hl.AsUi)));
 }
Example #5
0
 private void DeactivateHightlight(HighlightCanvasHighlight hl)
 {
     this.DispatchConditional(() => this.RemoveHightlightFromCanvas(hl),
         this.AlreadyActivated(hl));
 }
Example #6
0
 private void AddHighlightToCanvasAndCenterIt(HighlightCanvasHighlight hl)
 {
     this.MoveHighlight(hl, this.CurrentCenter.X, this.CurrentCenter.Y);
     base.Children.Add(hl.AsUi);
 }
Example #7
0
 private void ActivateHightlight(HighlightCanvasHighlight hl)
 {
     this.DispatchConditionalNot(() => this.AddHighlightToCanvasAndCenterIt(hl),
         this.AlreadyActivated(hl));
 }
Example #8
0
 protected abstract void MoveHighlightOnCanvas(HighlightCanvasHighlight hl, double x, double y);
Example #9
0
 protected void ForceActivision(HighlightCanvasHighlight hl)
 {
     hl.ForceActivision(this.ActivateHightlight, this.GetPrimaryHighlight);
 }
Example #10
0
 protected Action<Action<bool>> AlreadyActivated(HighlightCanvasHighlight hl)
 {
     return (a) => this.HighlightAlreadyActivated(hl, (b) => a(b));
 }
Example #11
0
 private HighlightCanvasHighlight StartTrackingForHighlight(HighlightCanvasHighlight hl, MoveableBodyPart bodyPart)
 {
     hl.StartTracking(bodyPart).WhenMoved((center) => this.MoveHighlightToPoint(hl, center(this.CurrentCenter)));
     hl.WhenActivated(this.ActivateHightlight).RelativeTo(this.GetPrimaryHighlight);
     hl.WhenDeactivated(this.DeactivateHightlight);
     return hl;
 }
Example #12
0
 private void RemoveHightlightFromCanvas(HighlightCanvasHighlight hl)
 {
     base.Children.Remove(hl.AsUi);
 }
 private void SetProjectedPositionBeforeViewport(HighlightCanvasHighlight hl, double x, double y)
 {
     hl.BodyPart.CurrentProjectedPosition = MVector2D.Projection(x, y);
 }
 private void RememberAndMoveAbsolute(HighlightCanvasHighlight hl, double x, double y)
 {
     this._Viewport.Shelve.Remember<HighlightCanvasHighlight>(hl);
     this._Viewport.AbsoluteCoordinates(x, y);
 }
 private void MoveRelative(HighlightCanvasHighlight moveable, double x, double y)
 {
     this.SetXY(moveable.AsUi, x, y);
     moveable.MovedTo(x, y);
 }
 protected override void MoveHighlightOnCanvas(HighlightCanvasHighlight hl, double x, double y)
 {
     this.SetProjectedPositionBeforeViewport(hl, x, y);
     this.Move(hl, x, y);
 }