Class Screen
The main Curses screen class. Implements screen-related functionality. Only one instance of this class can be active at one time.
Inherited Members
Namespace: Sharpie
Assembly: sharpie.dll
Syntax
[PublicAPI]
public sealed class Screen : TerminalSurface, IDisposable, IScreen, ITerminalSurface, ISurface, IDrawSurface
Properties
Pads
Gets all child pads on this screen.
Declaration
public IEnumerable<IPad> Pads { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IPad> |
Remarks
This operation is not thread safe.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Screen is no longer usable. |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
Windows
Gets all child windows on this screen.
Declaration
public IEnumerable<Window> Windows { get; }
Property Value
Type | Description |
---|---|
IEnumerable<Window> |
Remarks
This operation is not thread safe.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Screen is no longer usable. |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
Methods
Delete()
Deletes the surface from the curses backend.
Declaration
protected override void Delete()
Overrides
MarkDirty(int, int)
Marks a number of lines within the surface as Dirty.
Declaration
public override void MarkDirty(int y, int count)
Parameters
Type | Name | Description |
---|---|---|
int | y | The line to start with. |
int | count | The count of lines to mark dirty. |
Overrides
Remarks
This operation is not thread safe.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Surface is no longer usable. |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
CursesOperationException | A Curses error occured. |
Pad(Size)
Creates a new pad.
Declaration
public IPad Pad(Size size)
Parameters
Type | Name | Description |
---|---|---|
Size | size | The pad size. |
Returns
Type | Description |
---|---|
IPad | A new pad object. |
Remarks
This operation is not thread safe.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Screen is no longer usable. |
ArgumentOutOfRangeException | The |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
CursesOperationException | A Curses error occured. |
Refresh()
Redraws all the dirty lines of the surface to the terminal. If AtomicRefresh() is active, all refreshes are batched together until the lock is released.
Declaration
public override void Refresh()
Overrides
Remarks
This operation is not thread safe.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Surface is no longer usable. |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
CursesOperationException | A Curses error occured. |
Refresh(int, int)
Marks a number of lines within the surface as Dirty.
Declaration
public override void Refresh(int y, int count)
Parameters
Type | Name | Description |
---|---|---|
int | y | The line to start with. |
int | count | The count of lines to mark dirty. |
Overrides
Remarks
This operation is not thread safe.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Surface is no longer usable. |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
CursesOperationException | A Curses error occured. |
Window(Rectangle)
Creates a new sub-window in the parent window.
Declaration
public IWindow Window(Rectangle area)
Parameters
Type | Name | Description |
---|---|---|
Rectangle | area | The area of the window to put the sub-window in. |
Returns
Type | Description |
---|---|
IWindow | A new window object. |
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | Screen is no longer usable. |
ArgumentOutOfRangeException | The |
CursesSynchronizationException | Thrown if this operation was expected to run on the main thread/context but wasn't. |
CursesOperationException | A Curses error occured. |