using V3.Input; namespace V3.Screens { /// /// A screen that can be handled by a screen manager and that provides /// information on how to deal with other screens below this one. /// public interface IScreen : IDrawable, IUpdateable { /// /// Indicates whether screens below this one should be updated. /// bool UpdateLower { get; } /// /// Indicates whether screens below this one should be drawn. /// bool DrawLower { get; } /// /// Handles the given key event and returns whether it should be passed /// to the screens below this one. /// /// the key event that occurred /// true if the event has been handeled by this screen and /// should not be passed to the lower screens, false otherwise bool HandleKeyEvent(IKeyEvent keyEvent); /// /// Handles the given mouse event and returns whether it should be passed /// to the screens below this one. /// /// the mouse event that occurred /// true if the event has been handeled by this screen and /// should not be passed to the lower screens, false otherwise bool HandleMouseEvent(IMouseEvent mouseEvent); } }