/// <summary> /// Sets a new <see cref="IEnhancedClickHandler"/> that's currently hovered. /// </summary> /// <remarks>This also updates the cursor.</remarks> private void SetCurrentClickHandler(IEnhancedClickHandler newClickHandler) { currentClickHandler = newClickHandler; // Update cursor if (Controller != null) { if (currentClickHandler != null) { Controller.PreferredCursor = currentClickHandler.GetCursor(InputModeContext, InputModeContext.CanvasControl.LastEventLocation); } else if (Controller.PreferredCursor != null) { Controller.PreferredCursor = null; } } // Repaint to allow for custom rendering when a click handler is hovered if (InputModeContext != null && InputModeContext.CanvasControl != null) { InputModeContext.CanvasControl.Invalidate(); } }
public override void Uninstall(IInputModeContext context) { InputModeContext.CanvasControl.Mouse2DMoved -= OnMouseMoved; currentClickHandler = null; base.Uninstall(context); }