// -----------------------------------------------------------------------
//
// 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);
}
}