// ----------------------------------------------------------------------- // // Copyright 2014 MIT Licence. See licence.md for more information. // // ----------------------------------------------------------------------- namespace Perspex.Input { using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public interface IFocusManager { IInputElement Current { get; } IFocusScope Scope { get; } /// /// Focuses a control. /// /// The control to focus. /// /// Whether the control was focused by a keypress (e.g. the Tab key). /// void Focus(IInputElement focusable, bool keyboardNavigated = false); /// /// Notifies the focus manager of a change in focus scope. /// /// The new focus scope. /// /// This should not be called by client code. It is called by an /// when it activates, e.g. when a Window is activated. /// void SetFocusScope(IFocusScope scope); } }