// 
public class TextInputDialog : ConfirmDialog
  Attributes:
    // 
    # TextInput : TextInput
  Methods:
    // 
    # TextInputSize () : Vector2
    // 
    + TextInputDialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    # TextInputPosition () : Vector2
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public class ConfirmDialog : Dialog
  Attributes:
    // 
    # Text : string[]
    // 
    # CanClose : bool
    // 
    # OnYesClick : Action
    // 
    # OnNoClick : Action
    // 
    # OnCancelClick : Action
  Methods:
    // 
    + ConfirmDialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    # DrawDialog  (GameTime time) override

// 
public abstract class Dialog : Widget
  Attributes:
    // 
    + buttons : Menu
    // 
    + Done : Action
    // 
    # spriteBatch : SpriteBatch
  Methods:
    // 
    + Dialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    # RelativeButtonPosition (int n) : Vector2
    // 
    # RelativeButtonSize (int n) : Vector2
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> override
    // 
    + Draw  (GameTime time) override
    // 
    # DrawDialog  (GameTime time) abstract
    // 
    - ButtonBackgroundColor (ItemState itemState) : Color
    // 
    - ButtonForegroundColor (ItemState itemState) : Color

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    + bounds () : Rectangle

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + bounds () : Rectangle
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class Dialog : Widget
  Attributes:
    // 
    # spriteBatch : SpriteBatch
    // 
    + Done : Action
    // 
    + buttons : Menu
  Methods:
    // 
    - ButtonBackgroundColor (ItemState itemState) : Color
    // 
    # RelativeButtonSize (int n) : Vector2
    // 
    + Dialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    - ButtonForegroundColor (ItemState itemState) : Color
    // 
    # RelativeButtonPosition (int n) : Vector2
    // 
    # DrawDialog  (GameTime time) abstract
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>
    // 
    + Draw  (GameTime time)

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    + bounds () : Rectangle

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + bounds () : Rectangle
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public class ConfirmDialog : Dialog
  Attributes:
    // 
    # CanClose : bool
    // 
    # Text : string[]
  Methods:
    // 
    # OnYesClick () : Action
    // 
    # OnCancelClick () : Action
    // 
    # OnNoClick () : Action
    // 
    # DrawDialog  (GameTime time)
    // 
    + ConfirmDialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)

// 
public abstract class Dialog : Widget
  Attributes:
    // 
    + buttons : Menu
    // 
    + Done : Action
    // 
    # spriteBatch : SpriteBatch
  Methods:
    // 
    + Dialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    # RelativeButtonPosition (int n) : Vector2
    // 
    # RelativeButtonSize (int n) : Vector2
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> override
    // 
    + Draw  (GameTime time) override
    // 
    # DrawDialog  (GameTime time) abstract
    // 
    - ButtonBackgroundColor (ItemState itemState) : Color
    // 
    - ButtonForegroundColor (ItemState itemState) : Color

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    + bounds () : Rectangle

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + bounds () : Rectangle
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class Dialog : Widget
  Attributes:
    // 
    # spriteBatch : SpriteBatch
    // 
    + Done : Action
    // 
    + buttons : Menu
  Methods:
    // 
    - ButtonBackgroundColor (ItemState itemState) : Color
    // 
    # RelativeButtonSize (int n) : Vector2
    // 
    + Dialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    - ButtonForegroundColor (ItemState itemState) : Color
    // 
    # RelativeButtonPosition (int n) : Vector2
    // 
    # DrawDialog  (GameTime time) abstract
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>
    // 
    + Draw  (GameTime time)

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)
    // 
    + bounds () : Rectangle

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class Widget : DrawableGameScreenComponent
  Attributes:
    // 
    + Info : WidgetInfo
    // 
    + IsVisible : bool virtual
  Methods:
    // 
    + bounds () : Rectangle
    // 
    + Widget  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder)

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + screen : GameScreen
    // 
    - _index : DisplayLayer
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public abstract class DrawableGameScreenComponent : Xna.DrawableGameComponent, IGameScreenComponent
  Attributes:
    // 
    + Index : DisplayLayer
    // 
    - _index : DisplayLayer
    // 
    + screen : GameScreen
  Methods:
    // 
    + DrawableGameScreenComponent  (GameScreen screen, DisplayLayer index)
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent> virtual

// 
public interface IGameScreenComponent : Xna.IGameComponent
  Attributes:
    // 
    + Index : DisplayLayer
  Methods:
    // 
    + SubComponents (GameTime time) : IEnumerable<IGameScreenComponent>

// 
public class KnotSaveConfirmDialog : TextInputDialog
  Attributes:
  Methods:
    // 
    + KnotSaveConfirmDialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder, Knot knot)

// 
public class KnotSaveConfirmDialog : TextInputDialog
  Attributes:
  Methods:
    // 
    + KnotSaveConfirmDialog  (GameScreen screen, WidgetInfo info, DisplayLayer drawOrder, Knot knot)

