Show / Hide Table of Contents

    Class ConsoleDriver

    ConsoleDriver is an abstract class that defines the requirements for a console driver. There are currently three implementations: Terminal.Gui.CursesDriver (for Unix and Mac), Terminal.Gui.WindowsDriver, and Terminal.Gui.NetDriver that uses the .NET Console API.
    Inheritance
    System.Object
    ConsoleDriver
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Terminal.Gui
    Assembly: Terminal.Gui.dll
    Syntax
    public abstract class ConsoleDriver

    Fields

    BottomTee

    The bottom tee.
    Declaration
    public Rune BottomTee
    Field Value
    Type Description
    System.Rune

    Diamond

    Diamond character
    Declaration
    public Rune Diamond
    Field Value
    Type Description
    System.Rune

    HLine

    Horizontal line character.
    Declaration
    public Rune HLine
    Field Value
    Type Description
    System.Rune

    LeftTee

    Left tee
    Declaration
    public Rune LeftTee
    Field Value
    Type Description
    System.Rune

    LLCorner

    Lower left corner
    Declaration
    public Rune LLCorner
    Field Value
    Type Description
    System.Rune

    LRCorner

    Lower right corner
    Declaration
    public Rune LRCorner
    Field Value
    Type Description
    System.Rune

    RightTee

    Right tee
    Declaration
    public Rune RightTee
    Field Value
    Type Description
    System.Rune

    Stipple

    Stipple pattern
    Declaration
    public Rune Stipple
    Field Value
    Type Description
    System.Rune

    TerminalResized

    The handler fired when the terminal is resized.
    Declaration
    protected Action TerminalResized
    Field Value
    Type Description
    System.Action

    TopTee

    Top tee
    Declaration
    public Rune TopTee
    Field Value
    Type Description
    System.Rune

    ULCorner

    Upper left corner
    Declaration
    public Rune ULCorner
    Field Value
    Type Description
    System.Rune

    URCorner

    Upper right corner
    Declaration
    public Rune URCorner
    Field Value
    Type Description
    System.Rune

    VLine

    Vertical line character.
    Declaration
    public Rune VLine
    Field Value
    Type Description
    System.Rune

    Properties

    Clip

    Controls the current clipping region that AddRune/AddStr is subject to.
    Declaration
    public Rect Clip { get; set; }
    Property Value
    Type Description
    Rect The clip.

    Cols

    The current number of columns in the terminal.
    Declaration
    public abstract int Cols { get; }
    Property Value
    Type Description
    System.Int32

    Rows

    The current number of rows in the terminal.
    Declaration
    public abstract int Rows { get; }
    Property Value
    Type Description
    System.Int32

    Methods

    AddRune(Rune)

    Adds the specified rune to the display at the current cursor position
    Declaration
    public abstract void AddRune(Rune rune)
    Parameters
    Type Name Description
    System.Rune rune Rune to add.

    AddStr(ustring)

    Adds the specified
    Declaration
    public abstract void AddStr(ustring str)
    Parameters
    Type Name Description
    NStack.ustring str String.

    CookMouse()

    Enables the cooked event processing from the mouse driver
    Declaration
    public abstract void CookMouse()

    DrawFrame(Rect, Int32, Boolean)

    Draws a frame on the specified region with the specified padding around the frame.
    Declaration
    public virtual void DrawFrame(Rect region, int padding, bool fill)
    Parameters
    Type Name Description
    Rect region Region where the frame will be drawn..
    System.Int32 padding Padding to add on the sides.
    System.Boolean fill If set to true it will clear the contents with the current color, otherwise the contents will be left untouched.
    Remarks
    This is a legacy/depcrecated API. Use DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean).

    DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean)

    Draws a frame for a window with padding aand n optional visible border inside the padding.
    Declaration
    public virtual void DrawWindowFrame(Rect region, int paddingLeft = 0, int paddingTop = 0, int paddingRight = 0, int paddingBottom = 0, bool border = true, bool fill = false)
    Parameters
    Type Name Description
    Rect region Screen relative region where the frame will be drawn.
    System.Int32 paddingLeft Number of columns to pad on the left (if 0 the border will not appear on the left).
    System.Int32 paddingTop Number of rows to pad on the top (if 0 the border and title will not appear on the top).
    System.Int32 paddingRight Number of columns to pad on the right (if 0 the border will not appear on the right).
    System.Int32 paddingBottom Number of rows to pad on the bottom (if 0 the border will not appear on the bottom).
    System.Boolean border If set to true and any padding dimension is > 0 the border will be drawn.
    System.Boolean fill If set to true it will clear the content area (the area inside the padding) with the current color, otherwise the content area will be left untouched.

    DrawWindowTitle(Rect, ustring, Int32, Int32, Int32, Int32, TextAlignment)

    Draws the title for a Window-style view incorporating padding.
    Declaration
    public virtual void DrawWindowTitle(Rect region, ustring title, int paddingLeft, int paddingTop, int paddingRight, int paddingBottom, TextAlignment textAlignment = TextAlignment.Left)
    Parameters
    Type Name Description
    Rect region Screen relative region where the frame will be drawn.
    NStack.ustring title The title for the window. The title will only be drawn if title is not null or empty and paddingTop is greater than 0.
    System.Int32 paddingLeft Number of columns to pad on the left (if 0 the border will not appear on the left).
    System.Int32 paddingTop Number of rows to pad on the top (if 0 the border and title will not appear on the top).
    System.Int32 paddingRight Number of columns to pad on the right (if 0 the border will not appear on the right).
    System.Int32 paddingBottom Number of rows to pad on the bottom (if 0 the border will not appear on the bottom).
    TextAlignment textAlignment Not yet immplemented.

    End()

    Ends the execution of the console driver.
    Declaration
    public abstract void End()

    Init(Action)

    Initializes the driver
    Declaration
    public abstract void Init(Action terminalResized)
    Parameters
    Type Name Description
    System.Action terminalResized Method to invoke when the terminal is resized.

    MakeAttribute(Color, Color)

    Make the attribute for the foreground and background colors.
    Declaration
    public abstract Attribute MakeAttribute(Color fore, Color back)
    Parameters
    Type Name Description
    Color fore Foreground.
    Color back Background.
    Returns
    Type Description
    Attribute

    Move(Int32, Int32)

    Moves the cursor to the specified column and row.
    Declaration
    public abstract void Move(int col, int row)
    Parameters
    Type Name Description
    System.Int32 col Column to move the cursor to.
    System.Int32 row Row to move the cursor to.

    PrepareToRun(MainLoop, Action<KeyEvent>, Action<KeyEvent>, Action<KeyEvent>, Action<MouseEvent>)

    Prepare the driver and set the key and mouse events handlers.
    Declaration
    public abstract void PrepareToRun(MainLoop mainLoop, Action<KeyEvent> keyHandler, Action<KeyEvent> keyDownHandler, Action<KeyEvent> keyUpHandler, Action<MouseEvent> mouseHandler)
    Parameters
    Type Name Description
    MainLoop mainLoop The main loop.
    System.Action<KeyEvent> keyHandler The handler for ProcessKey
    System.Action<KeyEvent> keyDownHandler The handler for key down events
    System.Action<KeyEvent> keyUpHandler The handler for key up events
    System.Action<MouseEvent> mouseHandler The handler for mouse events

    Refresh()

    Updates the screen to reflect all the changes that have been done to the display buffer
    Declaration
    public abstract void Refresh()

    SetAttribute(Attribute)

    Selects the specified attribute as the attribute to use for future calls to AddRune, AddString.
    Declaration
    public abstract void SetAttribute(Attribute c)
    Parameters
    Type Name Description
    Attribute c C.

    SetColors(ConsoleColor, ConsoleColor)

    Set Colors from limit sets of colors.
    Declaration
    public abstract void SetColors(ConsoleColor foreground, ConsoleColor background)
    Parameters
    Type Name Description
    System.ConsoleColor foreground Foreground.
    System.ConsoleColor background Background.

    SetColors(Int16, Int16)

    Advanced uses - set colors to any pre-set pairs, you would need to init_color that independently with the R, G, B values.
    Declaration
    public abstract void SetColors(short foregroundColorId, short backgroundColorId)
    Parameters
    Type Name Description
    System.Int16 foregroundColorId Foreground color identifier.
    System.Int16 backgroundColorId Background color identifier.

    SetTerminalResized(Action)

    Set the handler when the terminal is resized.
    Declaration
    public void SetTerminalResized(Action terminalResized)
    Parameters
    Type Name Description
    System.Action terminalResized

    StartReportingMouseMoves()

    Start of mouse moves.
    Declaration
    public abstract void StartReportingMouseMoves()

    StopReportingMouseMoves()

    Stop reporting mouses moves.
    Declaration
    public abstract void StopReportingMouseMoves()

    Suspend()

    Suspend the application, typically needs to save the state, suspend the app and upon return, reset the console driver.
    Declaration
    public abstract void Suspend()

    UncookMouse()

    Disables the cooked event processing from the mouse driver. At startup, it is assumed mouse events are cooked.
    Declaration
    public abstract void UncookMouse()

    UpdateCursor()

    Updates the location of the cursor position
    Declaration
    public abstract void UpdateCursor()

    UpdateScreen()

    Redraws the physical screen with the contents that have been queued up via any of the printing commands.
    Declaration
    public abstract void UpdateScreen()
    Back to top Generated by DocFX