SSD1306 OLED display driver 1.8.2 This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays

Public Member Functions | List of all members
NanoCanvasBase< BPP > Class Template Referenceabstract

`#include <canvas.h>`

Inheritance diagram for NanoCanvasBase< BPP >:

## Public Member Functions
virtual void | blt (lcdint_t x, lcdint_t y)=0
virtual void | blt ()=0
virtual void | blt (const NanoRect &rect)=0
Public Member Functions inherited from NanoCanvasOps< BPP >
| 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)

## Additional Inherited Members
Public Attributes inherited from NanoCanvasOps< BPP >
NanoPoint | offset = { 0, 0 }
Static Public Attributes inherited from NanoCanvasOps< BPP >
static const uint8_t | BITS_PER_PIXEL = BPP
Protected Attributes inherited from NanoCanvasOps< BPP >
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

## Detailed Description

### template<uint8_t BPP>
class NanoCanvasBase< BPP >

Base class for all NanoCanvas childs

Definition at line 331 of file canvas.h.

## Member Function Documentation

## ◆ blt() [1/3]

template<uint8_t BPP>

virtual void NanoCanvasBase< BPP >::blt | ( | lcdint_t | x,
|  | lcdint_t | y
| ) |  |
| pure virtual

Draws canvas on the LCD display

Parameters

  x | - horizontal position in pixels
  y | - vertical position in blocks (pixels/8)

Implemented in NanoCanvas16, NanoCanvas8, NanoCanvas1_4, NanoCanvas1_16, NanoCanvas1_8, and NanoCanvas1.

## ◆ blt() [2/3]

template<uint8_t BPP>

virtual void NanoCanvasBase< BPP >::blt | ( |  | ) |
| pure virtual

Draws canvas on the LCD display using offset values.

Implemented in NanoCanvas16, NanoCanvas8, NanoCanvas1_4, NanoCanvas1_16, NanoCanvas1_8, and NanoCanvas1.

## ◆ blt() [3/3]

template<uint8_t BPP>

virtual void NanoCanvasBase< BPP >::blt | ( | const NanoRect & | rect | ) |
| pure virtual

Draws only part of canvas on the LCD display. This method uses Canvas offset field as top-left point of whole canvas content. First point of specified rectangle defines the actual top-left point on the screen to be refreshed. For example, `blt({{8,0},{15,7}});` will copy canvas area {8,0}-{15,7} to screen starting at {8,0} if canvas offset is {0,0}. If canvas offset is {12,3}, then canvas area {8,0}-{15,7} will be copied to screen at position {20,3}.

Parameters

  rect | rectagle describing part of canvas to move to display.

Implemented in NanoCanvas16, NanoCanvas8, NanoCanvas1_4, NanoCanvas1_16, NanoCanvas1_8, and NanoCanvas1.

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

- nano_engine/canvas.h