SSD1306 OLED display driver
1.8.2
This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays
|
#include <canvas.h>
Public Member Functions | |
NanoCanvasOps () | |
NanoCanvasOps (lcdint_t w, lcdint_t h, uint8_t *bytes) | |
void | begin (lcdint_t w, lcdint_t h, uint8_t *bytes) |
void | setOffset (lcdint_t ox, lcdint_t oy) |
const NanoPoint | offsetEnd () const |
const NanoRect | rect () const |
void | putPixel (lcdint_t x, lcdint_t y) |
void | putPixel (const NanoPoint &p) |
void | drawVLine (lcdint_t x1, lcdint_t y1, lcdint_t y2) |
void | drawHLine (lcdint_t x1, lcdint_t y1, lcdint_t x2) |
void | drawLine (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2) |
void | drawLine (const NanoRect &rect) |
void | drawRect (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2) |
void | drawRect (const NanoRect &rect) |
void | fillRect (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2) |
void | fillRect (const NanoRect &rect) |
void | drawBitmap1 (lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h, const uint8_t *bitmap) |
Draws monochrome bitmap in color buffer using color, specified via setColor() method Draws monochrome bitmap in color buffer using color, specified via setColor() method The bitmap is expected in Native ssd1306 controller format. More... | |
void | drawXBitmap1 (lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h, const uint8_t *bitmap) |
Draws monochrome bitmap in color buffer using color, specified via setColor() method Draws monochrome bitmap in color buffer using color, specified via setColor() method The bitmap is expected in XBMP format. More... | |
void | drawBitmap8 (lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h, const uint8_t *bitmap) |
Draws 8-bit color bitmap in color buffer. Draws 8-bit color bitmap in color buffer. More... | |
void | clear () |
size_t | write (uint8_t c) override |
uint8_t | printChar (uint8_t c) |
void | printFixed (lcdint_t xpos, lcdint_t y, const char *ch, EFontStyle style=STYLE_NORMAL) |
void | printFixedPgm (lcdint_t xpos, lcdint_t y, const char *ch, EFontStyle style=STYLE_NORMAL) |
void | setMode (uint8_t modeFlags) |
Sets canvas drawing mode Sets canvas drawing mode. The set flags define transparency of output images. More... | |
void | setColor (uint16_t color) |
Public Member Functions inherited from Print | |
Print () | |
size_t | print (const char *str) |
size_t | print (int n) |
size_t | println (const char *str) |
size_t | println (int data) |
Public Attributes | |
NanoPoint | offset = { 0, 0 } |
Static Public Attributes | |
static const uint8_t | BITS_PER_PIXEL = BPP |
Protected Attributes | |
lcduint_t | m_w |
width of NanoCanvas area in pixels | |
lcduint_t | m_h |
height of NanoCanvas area in pixels | |
lcduint_t | m_p |
number of bits, used by width value: 3 equals to 8 pixels width | |
lcdint_t | m_cursorX |
current X cursor position for text output | |
lcdint_t | m_cursorY |
current Y cursor position for text output | |
uint8_t | m_textMode |
Flags for current NanoCanvas mode. | |
EFontStyle | m_fontStyle |
currently active font style | |
uint8_t * | m_buf |
Canvas data. | |
uint16_t | m_color |
current color for monochrome operations | |
NanoCanvasOps provides operations for drawing in memory buffer. Depending on BPP argument, this class can work with 1,8,16-bit canvas areas.
|
inline |
|
inline |
void NanoCanvasOps< BPP >::begin | ( | lcdint_t | w, |
lcdint_t | h, | ||
uint8_t * | bytes | ||
) |
Initializes canvas object. Width can be of any value. Height should be divided by 8. Memory buffer must be not less than w * h.
w | - width |
h | - height |
bytes | - pointer to memory buffer to use |
void NanoCanvasOps< BPP >::clear | ( | ) |
Clears canvas
void NanoCanvasOps< BPP >::drawBitmap1 | ( | lcdint_t | x, |
lcdint_t | y, | ||
lcduint_t | w, | ||
lcduint_t | h, | ||
const uint8_t * | bitmap | ||
) |
Draws monochrome bitmap in color buffer using color, specified via setColor() method Draws monochrome bitmap in color buffer using color, specified via setColor() method The bitmap is expected in Native ssd1306 controller format.
x | - position X in pixels |
y | - position Y in pixels |
w | - width in pixels |
h | - height in pixels |
bitmap | - monochrome bitmap data, located in flash |
void NanoCanvasOps< BPP >::drawBitmap8 | ( | lcdint_t | x, |
lcdint_t | y, | ||
lcduint_t | w, | ||
lcduint_t | h, | ||
const uint8_t * | bitmap | ||
) |
Draws 8-bit color bitmap in color buffer. Draws 8-bit color bitmap in color buffer.
x | - position X in pixels |
y | - position Y in pixels |
w | - width in pixels |
h | - height in pixels |
bitmap | - 8-bit color bitmap data, located in flash |
void NanoCanvasOps< BPP >::drawHLine | ( | lcdint_t | x1, |
lcdint_t | y1, | ||
lcdint_t | x2 | ||
) |
Draws horizontal or vertical line
x1 | - position X |
y1 | - position Y |
x2 | - position X |
void NanoCanvasOps< BPP >::drawLine | ( | lcdint_t | x1, |
lcdint_t | y1, | ||
lcdint_t | x2, | ||
lcdint_t | y2 | ||
) |
Draws line
x1 | - position X |
y1 | - position Y |
x2 | - position X |
y2 | - position Y |
void NanoCanvasOps< BPP >::drawLine | ( | const NanoRect & | rect | ) |
Draws line
rect | - structure, describing rectangle area |
void NanoCanvasOps< BPP >::drawRect | ( | lcdint_t | x1, |
lcdint_t | y1, | ||
lcdint_t | x2, | ||
lcdint_t | y2 | ||
) |
Draws rectangle
x1 | - position X |
y1 | - position Y |
x2 | - position X |
y2 | - position Y |
void NanoCanvasOps< BPP >::drawRect | ( | const NanoRect & | rect | ) |
Draws rectangle
rect | - structure, describing rectangle area |
void NanoCanvasOps< BPP >::drawVLine | ( | lcdint_t | x1, |
lcdint_t | y1, | ||
lcdint_t | y2 | ||
) |
Draws horizontal or vertical line
x1 | - position X |
y1 | - position Y |
y2 | - position Y |
void NanoCanvasOps< BPP >::drawXBitmap1 | ( | lcdint_t | x, |
lcdint_t | y, | ||
lcduint_t | w, | ||
lcduint_t | h, | ||
const uint8_t * | bitmap | ||
) |
Draws monochrome bitmap in color buffer using color, specified via setColor() method Draws monochrome bitmap in color buffer using color, specified via setColor() method The bitmap is expected in XBMP format.
x | - position X in pixels |
y | - position Y in pixels |
w | - width in pixels |
h | - height in pixels |
bitmap | - monochrome bitmap data, located in flash |
void NanoCanvasOps< BPP >::fillRect | ( | lcdint_t | x1, |
lcdint_t | y1, | ||
lcdint_t | x2, | ||
lcdint_t | y2 | ||
) |
Fills rectangle area
x1 | - position X |
y1 | - position Y |
x2 | - position X |
y2 | - position Y |
void NanoCanvasOps< BPP >::fillRect | ( | const NanoRect & | rect | ) |
Fills rectangle area
rect | - structure, describing rectangle area |
|
inline |
Returns right-bottom point of the canvas in offset terms. If offset is (0,0), then offsetEnd() will return (width-1,height-1).
uint8_t NanoCanvasOps< BPP >::printChar | ( | uint8_t | c | ) |
Draws single character to canvas
c | - character code to print |
void NanoCanvasOps< BPP >::printFixed | ( | lcdint_t | xpos, |
lcdint_t | y, | ||
const char * | ch, | ||
EFontStyle | style = STYLE_NORMAL |
||
) |
Print text at specified position to canvas
xpos | position in pixels |
y | position in pixels |
ch | pointer to NULL-terminated string. |
style | specific font style to use |
void NanoCanvasOps< BPP >::printFixedPgm | ( | lcdint_t | xpos, |
lcdint_t | y, | ||
const char * | ch, | ||
EFontStyle | style = STYLE_NORMAL |
||
) |
Print text at specified position to canvas
xpos | position in pixels |
y | position in pixels |
ch | pointer to NULL-terminated string, located in flash |
style | specific font style to use |
void NanoCanvasOps< BPP >::putPixel | ( | lcdint_t | x, |
lcdint_t | y | ||
) |
Draws pixel on specified position
x | - position X |
y | - position Y |
void NanoCanvasOps< BPP >::putPixel | ( | const NanoPoint & | p | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
|
static |
NanoPoint NanoCanvasOps< BPP >::offset = { 0, 0 } |
Fixed offset for all operation of NanoCanvasOps in pixels