Control Surface master
MIDI Control Surface library for Arduino
Public Member Functions | Protected Member Functions | List of all members
DisplayInterface Class Referenceabstract

#include <Display/DisplayInterface.hpp>

Detailed Description

An interface for displays.

Inspired by the Adafruit GFX library for easy compatibility.

Definition at line 14 of file DisplayInterface.hpp.

+ Inheritance diagram for DisplayInterface:
+ Collaboration diagram for DisplayInterface:

Public Member Functions

virtual ~DisplayInterface ()=default
 
virtual void begin ()
 Initialize the display. More...
 
virtual void clear ()=0
 Clear the frame buffer or clear the display. More...
 
virtual void drawBackground ()
 Draw a custom background. More...
 
virtual void display ()=0
 Write the frame buffer to the display. More...
 
virtual void drawPixel (int16_t x, int16_t y, uint16_t color)=0
 Paint a single pixel with the given color. More...
 
virtual void setTextColor (uint16_t color)=0
 Set the text color. More...
 
virtual void setTextSize (uint8_t size)=0
 Set the text size. More...
 
virtual void setCursor (int16_t x, int16_t y)=0
 Set the cursor position. More...
 
size_t write (uint8_t c) override=0
 Write a character to the display. More...
 
virtual void drawLine (int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color)=0
 Draw a line between two points. More...
 
virtual void drawFastVLine (int16_t x, int16_t y, int16_t h, uint16_t color)=0
 Draw a vertical line. More...
 
virtual void drawFastHLine (int16_t x, int16_t y, int16_t w, uint16_t color)=0
 Draw a horizontal line. More...
 
virtual void drawXBitmap (int16_t x, int16_t y, const uint8_t bitmap[], int16_t w, int16_t h, uint16_t color)=0
 Draw a bitmap to the display. More...
 
virtual void fillRect (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)
 Draw a filled rectangle. More...
 
virtual void drawCircle (int16_t x0, int16_t y0, int16_t r, uint16_t color)
 Draw a circle. More...
 
virtual void fillCircle (int16_t x0, int16_t y0, int16_t r, uint16_t color)
 Draw a disk (filled circle). More...
 
void clearAndDrawBackground ()
 Clear the frame buffer, and draw the custom background. More...
 

Protected Member Functions

 DisplayInterface ()=default
 

Constructor & Destructor Documentation

◆ DisplayInterface()

DisplayInterface ( )
protecteddefault

◆ ~DisplayInterface()

virtual ~DisplayInterface ( )
virtualdefault

Member Function Documentation

◆ begin()

void begin ( )
virtual

Initialize the display.

Examples
2.VU-Meter-OLED-USB-DAC.ino, MCU-OLED-SSD1306-x2.ino, MCU-OLED-SSD1306.ino, and VU-Meter-Bridge.ino.

Definition at line 5 of file DisplayInterface.cpp.

◆ clear()

virtual void clear ( )
pure virtual

Clear the frame buffer or clear the display.

Implemented in SSD1306_DisplayInterface.

◆ drawBackground()

virtual void drawBackground ( )
inlinevirtual

Draw a custom background.

Reimplemented in SSD1306_DisplayInterface.

Definition at line 27 of file DisplayInterface.hpp.

◆ display()

virtual void display ( )
pure virtual

Write the frame buffer to the display.

If your display library writes to the display directly, without a display buffer in RAM, you can leave this function empty.

Implemented in SSD1306_DisplayInterface.

◆ drawPixel()

virtual void drawPixel ( int16_t  x,
int16_t  y,
uint16_t  color 
)
pure virtual

Paint a single pixel with the given color.

Implemented in SSD1306_DisplayInterface.

◆ setTextColor()

virtual void setTextColor ( uint16_t  color)
pure virtual

Set the text color.

Implemented in SSD1306_DisplayInterface.

◆ setTextSize()

virtual void setTextSize ( uint8_t  size)
pure virtual

Set the text size.

Implemented in SSD1306_DisplayInterface.

◆ setCursor()

virtual void setCursor ( int16_t  x,
int16_t  y 
)
pure virtual

Set the cursor position.

Implemented in SSD1306_DisplayInterface.

◆ write()

size_t write ( uint8_t  c)
overridepure virtual

Write a character to the display.

See also
setCursor
setTextSize
setTextColor

Implemented in SSD1306_DisplayInterface.

◆ drawLine()

virtual void drawLine ( int16_t  x0,
int16_t  y0,
int16_t  x1,
int16_t  y1,
uint16_t  color 
)
pure virtual

Draw a line between two points.

Implemented in SSD1306_DisplayInterface.

◆ drawFastVLine()

virtual void drawFastVLine ( int16_t  x,
int16_t  y,
int16_t  h,
uint16_t  color 
)
pure virtual

Draw a vertical line.

Implemented in SSD1306_DisplayInterface.

◆ drawFastHLine()

virtual void drawFastHLine ( int16_t  x,
int16_t  y,
int16_t  w,
uint16_t  color 
)
pure virtual

Draw a horizontal line.

Implemented in SSD1306_DisplayInterface.

◆ drawXBitmap()

virtual void drawXBitmap ( int16_t  x,
int16_t  y,
const uint8_t  bitmap[],
int16_t  w,
int16_t  h,
uint16_t  color 
)
pure virtual

Draw a bitmap to the display.

Implemented in SSD1306_DisplayInterface.

◆ fillRect()

void fillRect ( int16_t  x,
int16_t  y,
int16_t  w,
int16_t  h,
uint16_t  color 
)
virtual

Draw a filled rectangle.

Definition at line 11 of file DisplayInterface.cpp.

◆ drawCircle()

void drawCircle ( int16_t  x0,
int16_t  y0,
int16_t  r,
uint16_t  color 
)
virtual

Draw a circle.

Definition at line 17 of file DisplayInterface.cpp.

◆ fillCircle()

void fillCircle ( int16_t  x0,
int16_t  y0,
int16_t  r,
uint16_t  color 
)
virtual

Draw a disk (filled circle).

Definition at line 40 of file DisplayInterface.cpp.

◆ clearAndDrawBackground()

void clearAndDrawBackground ( )
inline

Clear the frame buffer, and draw the custom background.

See also
clear
drawBackground

Definition at line 81 of file DisplayInterface.hpp.


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