using System;
namespace Terminal.Gui {
///
/// Args for events that relate to specific
///
public class ViewEventArgs : EventArgs {
///
/// Creates a new instance of the class.
///
///
public ViewEventArgs (View view)
{
View = view;
}
///
/// The view that the event is about.
///
///
/// Can be different from the sender of the
/// for example if event describes the adding a child then sender may
/// be the parent while is the child
/// being added.
///
public View View { get; }
}
///
/// Event arguments for the event.
///
public class LayoutEventArgs : EventArgs {
///
/// The view-relative bounds of the before it was laid out.
///
public Rect OldBounds { get; set; }
}
///
/// Event args for draw events
///
public class DrawEventArgs : EventArgs {
///
/// Creates a new instance of the class.
///
/// Gets the view-relative rectangle describing the currently visible viewport into the .
public DrawEventArgs (Rect rect)
{
Rect = rect;
}
///
/// Gets the view-relative rectangle describing the currently visible viewport into the .
///
public Rect Rect { get; }
}
///
/// Defines the event arguments for
///
public class FocusEventArgs : EventArgs {
///
/// Constructs.
///
/// The view that gets or loses focus.
public FocusEventArgs (View view) { View = view; }
///
/// Indicates if the current focus event has already been processed and the driver should stop notifying any other event subscriber.
/// Its important to set this value to true specially when updating any View's layout from inside the subscriber method.
///
public bool Handled { get; set; }
///
/// Indicates the current view that gets or loses focus.
///
public View View { get; set; }
}
}