Treehopper C# API
MonoGraphicDisplay Class Referenceabstract

A class representing pixel-addressed displays that can control the pixel's on/off state only. More...

Inheritance diagram for MonoGraphicDisplay:
GraphicDisplay ICharacterDisplay IFlushable LedGraphicDisplay Pcd8544 Ssd1306

Public Member Functions

 MonoGraphicDisplay (int Width, int Height)
 Construct a graphic display of given width and height More...
 
async Task SetCursorPosition (int left, int top)
 Set left/right cursor position More...
 
void SetPixel (int row, int column, bool state)
 Set a pixel's state. More...
 
async Task Write (dynamic value)
 Display an alphanumeric value using a 5x7 font at the given character column and row More...
 
async Task WriteLine (dynamic value)
 Write a line of text, advancing the cursor to the next line More...
 
override Task Clear ()
 Clear the display More...
 
Task FlushAsync (bool force=false)
 Flush changed data to the port expander More...
 

Protected Member Functions

abstract void setBrightness (double brightness)
 Sets the global brightness of the graphic display More...
 
abstract Task flush ()
 Flush any updates to the RawBuffer to the display More...
 

Properties

bool [,] PixelBuffer [get, set]
 The raw byte buffer used by the display in its native format More...
 
int Columns [get]
 
int Rows [get]
 
int CursorLeft [get, set]
 
int CursorTop [get, set]
 
int Height [get, protected set]
 The height of the display, in pixels More...
 
int Width [get, protected set]
 The width of the display, in pixels. More...
 
byte [] RawBuffer [get, protected set]
 The raw byte buffer used by the display in its native format More...
 
double Brightness [get, set]
 Gets or sets the global brightness of the display More...
 
bool AutoFlush = true [get, set]
 
IFlushable Parent [get]
 

Detailed Description

A class representing pixel-addressed displays that can control the pixel's on/off state only.

Constructor & Destructor Documentation

◆ MonoGraphicDisplay()

MonoGraphicDisplay ( int  Width,
int  Height 
)

Construct a graphic display of given width and height

Parameters
WidthThe width, in pixels, of the display
HeightThe height, in pixels, of the display

Member Function Documentation

◆ SetCursorPosition()

async Task SetCursorPosition ( int  left,
int  top 
)

Set left/right cursor position

Parameters
leftThe left position
topThe top position
Returns
An awaitable task that completes once the cursor is updated

Implements ICharacterDisplay.

◆ SetPixel()

void SetPixel ( int  row,
int  column,
bool  state 
)

Set a pixel's state.

You must explicitly flush to the display to write out the changes.

Parameters
rowThe row of the pixel
columnThe column of the pixel
stateWhether the pixel should be on or off

◆ Write()

async Task Write ( dynamic  value)

Display an alphanumeric value using a 5x7 font at the given character column and row

Parameters
valueThe alphanumeric value to use
Returns
An awaitable task that will finish upon completion

This method is used for quickly rendering fixed-size sharp, monospaced text on a monochrome graphic display, allowing these displays to be dropped into a project in place of a (usually more costly and older) character display. If you want control over the size and font family used to display the text, use the extremely extensible System.Drawing.Graphics class.

If you want control over

Implements ICharacterDisplay.

◆ WriteLine()

async Task WriteLine ( dynamic  value)

Write a line of text, advancing the cursor to the next line

Parameters
valuethe text to write
Returns
An awaitable task that completes when finished

Implements ICharacterDisplay.

◆ Clear()

override Task Clear ( )
virtual

Clear the display

Returns
An awaitable task

Reimplemented from GraphicDisplay.

◆ FlushAsync()

Task FlushAsync ( bool  force = false)
inherited

Flush changed data to the port expander

Parameters
forcewhether to flush all data to the port expander, even if it doesn't appear to have been changed

Implements IFlushable.

◆ setBrightness()

abstract void setBrightness ( double  brightness)
protectedpure virtualinherited

Sets the global brightness of the graphic display

Parameters
brightnessThe brightness of the display

Implemented in Ssd1306, LedGraphicDisplay, and Pcd8544.

◆ flush()

abstract Task flush ( )
protectedpure virtualinherited

Flush any updates to the RawBuffer to the display

Returns
An awaitable task that completes upon sending the update to the display

Internal function called by the implementation to flush the RawBuffer to the display

Returns
An awaitable task that completes upon success

Implemented in Ssd1306, LedGraphicDisplay, and Pcd8544.

Property Documentation

◆ PixelBuffer

bool [,] PixelBuffer
getset

The raw byte buffer used by the display in its native format

The format of this raw buffer depends on the particular implementation of this class

◆ Columns

int Columns
get

◆ Rows

int Rows
get

◆ CursorLeft

int CursorLeft
getset

◆ CursorTop

int CursorTop
getset

◆ Height

int Height
getprotected setinherited

The height of the display, in pixels

◆ Width

int Width
getprotected setinherited

The width of the display, in pixels.

◆ RawBuffer

byte [] RawBuffer
getprotected setinherited

The raw byte buffer used by the display in its native format

The format of this raw buffer depends on the particular implementation of this class

◆ Brightness

double Brightness
getsetinherited

Gets or sets the global brightness of the display

◆ AutoFlush

bool AutoFlush = true
getsetinherited

◆ Parent

IFlushable Parent
getinherited

The documentation for this class was generated from the following file: