LCDGFX LCD display driver
1.1.5
This library is developed to control SSD1306/SSD1325/SSD1327/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays
|
#include <tiler.h>
Public Types | |
typedef NanoEngineTiler< C, D > | TilerT |
Public Member Functions | |
void | refresh () |
void | refresh (const NanoRect &rect) |
void | refresh (const NanoPoint &point) __attribute__((noinline)) |
void | refresh (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2) __attribute__((noinline)) |
void | refreshWorld (const NanoRect &rect) |
void | refreshWorld (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2) __attribute__((noinline)) |
void | refreshWorld (const NanoPoint &point) |
void | localCoordinates () |
void | worldCoordinates () |
void | moveTo (const NanoPoint &position) |
void | moveToAndRefresh (const NanoPoint &position) |
const NanoPoint & | getPosition () const |
void | drawCallback (TNanoEngineOnDraw callback) |
bool | collision (const NanoPoint &p, const NanoRect &rect) |
Returns true if point is inside the rectangle area. Returns true if point is inside the rectangle area. More... | |
void | insert (NanoEngineObject< TilerT > &object) __attribute__((noinline)) |
void | remove (NanoEngineObject< TilerT > &object) __attribute__((noinline)) |
void | update () __attribute__((noinline)) |
C & | getCanvas () |
D & | getDisplay () |
Protected Member Functions | |
NanoEngineTiler (D &display) | |
void | displayBuffer () __attribute__((noinline)) |
refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update the screen. Engine will update only those areas, which are marked by refresh() methods. | |
void | displayPopup (const char *msg) |
prints popup message over display content prints popup message over display content More... | |
Protected Attributes | |
D & | m_display |
TNanoEngineOnDraw | m_onDraw |
uint16_t | m_refreshFlags [NE_MAX_TILE_ROWS] |
This class template is responsible for holding and updating data about areas to be refreshed on LCD display. It accepts canvas class, tile width in pixels, tile height in pixels and number of bits in tile width as arguments for the template. For example, for 8x8 8-bit RGB tiles the reference should be NanoEngineTiler<NanoCanvas8,8,8,3>, and 3 bits means 3^2 = 8. If you need to have single big buffer, holding the whole content for monochrome display, you can specify something like this NanoEngineTiler<NanoCanvas1,128,64,7>.
typedef NanoEngineTiler<C, D> NanoEngineTiler< C, D >::TilerT |
|
inlineexplicitprotected |
|
inline |
|
protected |
|
inline |
Sets user-defined draw callback. This callback will be called everytime, engine needs to update display content. If user callback returns false, engine will not update that area. You always have a way to find out, which area is being updated by engine via NanoEngine<>::canvas::getOffset() and NanoEngine<>::NE_TILE_SIZE.
callback | - user-defined draw callback. |
|
inline |
Returns canvas, used by the NanoEngine.
|
inline |
|
inline |
|
inline |
Inserts new NanoEngineObject. This object will be displayed during next call to update()/draw() methods.
object | reference to object to place to NanoEngine |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Mark specified area in pixels for redrawing by NanoEngine. Actual update will take place in display() method.
|
inline |
Mark specified area in pixels for redrawing by NanoEngine. Actual update will take place in display() method.
|
inline |
Mark specified area in pixels for redrawing by NanoEngine. Actual update will take place in display() method.
|
inline |
|
inline |
|
inline |
Marks specified pixel area for redrawing by NanoEngine.
point | point in global (World) coordinates |
|
inline |
Removes NanoEngineObject from the list, but doesn't destroy the object. The place occupied by this object will be refreshed during next call to update()/draw() methods.
object | object to remove from NanoEngine |
|
inline |
|
inline |
|
protected |
Reference to display object, used by NanoEngine
|
protected |
|
protected |