This interface is used as a base class for color graphics displays.
#include <color_display.h>
Public Member Functions | |
| ColorGraphicsDisplay () | |
| virtual | ~ColorGraphicsDisplay () |
| virtual uint16_t | Height () const =0 |
| virtual uint16_t | Width () const =0 |
| Rectangle | GetBounds () const |
| size_t | CurrentX () |
| size_t | CurrentY () |
| virtual void | Fill (bool on)=0 |
| virtual void | DrawPixel (uint_fast8_t x, uint_fast8_t y, bool on)=0 |
| virtual void | SetColorFG (uint8_t red, uint8_t green, uint8_t blue)=0 |
| virtual void | SetColorBG (uint8_t red, uint8_t green, uint8_t blue)=0 |
| virtual void | DrawLine (uint_fast8_t x1, uint_fast8_t y1, uint_fast8_t x2, uint_fast8_t y2, bool on)=0 |
| virtual void | DrawRect (uint_fast8_t x1, uint_fast8_t y1, uint_fast8_t x2, uint_fast8_t y2, bool on, bool fill=false)=0 |
| void | DrawRect (const Rectangle &rect, bool on, bool fill=false) |
| virtual void | DrawArc (uint_fast8_t x, uint_fast8_t y, uint_fast8_t radius, int_fast16_t start_angle, int_fast16_t sweep, bool on)=0 |
| void | DrawCircle (uint_fast8_t x, uint_fast8_t y, uint_fast8_t radius, bool on) |
| virtual char | WriteChar (char ch, FontDef font, bool on)=0 |
| virtual char | WriteString (const char *str, FontDef font, bool on)=0 |
| virtual Rectangle | WriteStringAligned (const char *str, const FontDef &font, Rectangle boundingBox, Alignment alignment, bool on)=0 |
| void | SetCursor (uint16_t x, uint16_t y) |
| virtual void | Update ()=0 |
Protected Attributes | |
| uint16_t | currentX_ |
| uint16_t | currentY_ |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
pure virtual |
Draws an arc around the specified coordinate
| x | x Coordinate of the center of the arc |
| y | y Coordinate of the center of the arc |
| radius | radius of the arc |
| start_angle | angle where to start the arc |
| sweep | total angle of the arc |
| on | on or off |
Implemented in daisy::ColorGraphicsDisplayImpl< ChildType >, and daisy::ColorGraphicsDisplayImpl< OledColorDisplay< DisplayDriver > >.
|
inline |
Draws a circle around the specified coordinate
| x | x Coordinate of the center of the circle |
| y | y Coordinate of the center of the circle |
| radius | radius of the circle |
| on | on or off |
|
pure virtual |
Draws a line from (x1, y1) to (y1, y2)
| x1 | x Coordinate of the starting point |
| y1 | y Coordinate of the starting point |
| x2 | x Coordinate of the ending point |
| y2 | y Coordinate of the ending point |
| on | on or off |
Implemented in daisy::ColorGraphicsDisplayImpl< ChildType >, and daisy::ColorGraphicsDisplayImpl< OledColorDisplay< DisplayDriver > >.
|
pure virtual |
Sets the pixel at the specified coordinate to be on/off.
| x | x Coordinate |
| y | y coordinate |
| on | on or off |
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
inline |
Draws a rectangle.
| rect | the rectangle |
| on | on or off |
| fill | fill the rectangle or draw only the outline |
|
pure virtual |
Draws a rectangle based on two coordinates.
| x1 | x Coordinate of the first point |
| y1 | y Coordinate of the first point |
| x2 | x Coordinate of the second point |
| y2 | y Coordinate of the second point |
| on | on or off |
| fill | fill the rectangle or draw only the outline |
Implemented in daisy::ColorGraphicsDisplayImpl< ChildType >, and daisy::ColorGraphicsDisplayImpl< OledColorDisplay< DisplayDriver > >.
|
pure virtual |
Fills the entire display with either on/off.
| on | Sets on or off. |
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
inline |
|
pure virtual |
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
pure virtual |
Set background color
| red | Red color |
| green | Green color |
| blue | Blue color |
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
pure virtual |
Set foreground color
| red | Red color |
| green | Green color |
| blue | Blue color |
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
inline |
Moves the 'Cursor' position used for WriteChar, and WriteStr to the specified coordinate.
| x | x pos |
| y | y pos |
|
pure virtual |
Writes the current display buffer to the OLED device using SPI or I2C depending on how the object was initialized.
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
pure virtual |
Implemented in daisy::OledColorDisplay< DisplayDriver >.
|
pure virtual |
Writes the character with the specific FontDef to the display buffer at the current Cursor position.
| ch | character to be written |
| font | font to be written in |
| on | on or off |
Implemented in daisy::ColorGraphicsDisplayImpl< ChildType >, and daisy::ColorGraphicsDisplayImpl< OledColorDisplay< DisplayDriver > >.
|
pure virtual |
Similar to WriteChar, except it will handle an entire String. Wrapping does not happen automatically, so the width of the string must be kept within the dimensions of the screen.
| str | string to be written |
| font | font to use |
| on | on or off |
Implemented in daisy::ColorGraphicsDisplayImpl< ChildType >, and daisy::ColorGraphicsDisplayImpl< OledColorDisplay< DisplayDriver > >.
|
pure virtual |
Similar to WriteString but justified within a bounding box.
| str | string to be written |
| font | font to use |
| boundingBox | the bounding box to draw the text in |
| alignment | the alignment to use |
| on | on or off |
Implemented in daisy::ColorGraphicsDisplayImpl< ChildType >, and daisy::ColorGraphicsDisplayImpl< OledColorDisplay< DisplayDriver > >.
|
protected |
|
protected |