29 #ifndef _NANO_CANVAS_H_
30 #define _NANO_CANVAS_H_
40 CANVAS_TEXT_WRAP = 0x01,
41 CANVAS_MODE_TRANSPARENT = 0x02,
42 CANVAS_TEXT_WRAP_LOCAL = 0x04,
49 template <u
int8_t BPP>
93 void begin(lcdint_t w, lcdint_t h, uint8_t *bytes);
100 void setOffset(lcdint_t ox, lcdint_t oy) { offset.
x = ox; offset.
y = oy; };
108 void putPixel(lcdint_t x, lcdint_t y);
124 void drawVLine(lcdint_t x1, lcdint_t y1, lcdint_t y2);
133 void drawHLine(lcdint_t x1, lcdint_t y1, lcdint_t x2);
143 void drawLine(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2);
160 void drawRect(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2);
177 void fillRect(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2);
200 void drawBitmap1(lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h,
const uint8_t *bitmap);
211 void drawBitmap8(lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h,
const uint8_t *bitmap);
222 size_t write(uint8_t c)
override;
239 void printFixed(lcdint_t xpos, lcdint_t y,
const char *ch);
250 void printFixedPgm(lcdint_t xpos, lcdint_t y,
const char *ch);
279 template <u
int8_t BPP>
290 virtual void blt(lcdint_t x, lcdint_t y) = 0;
295 virtual void blt() = 0;
318 using NanoCanvasBase::NanoCanvasBase;
325 void blt(lcdint_t x, lcdint_t y)
override;
341 using NanoCanvasBase::NanoCanvasBase;
348 void blt(lcdint_t x, lcdint_t y)
override;
370 using NanoCanvasBase::NanoCanvasBase;
377 void blt(lcdint_t x, lcdint_t y)
override;
399 using NanoCanvasBase::NanoCanvasBase;
406 void blt(lcdint_t x, lcdint_t y)
override;
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.
void drawLine(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
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...
void drawVLine(lcdint_t x1, lcdint_t y1, lcdint_t y2)
void printFixedPgm(lcdint_t xpos, lcdint_t y, const char *ch)
lcdint_t m_cursorX
current X cursor position for text output
lcduint_t m_p
number of bits, used by width value: 3 equals to 8 pixels width
NanoCanvasOps(lcdint_t w, lcdint_t h, uint8_t *bytes)
void putPixel(lcdint_t x, lcdint_t y)
static const uint8_t BITS_PER_PIXEL
void setColor(uint16_t color)
uint8_t * m_buf
Canvas data.
void printChar(uint8_t c)
lcdint_t m_cursorY
current Y cursor position for text output
void drawHLine(lcdint_t x1, lcdint_t y1, lcdint_t x2)
void setOffset(lcdint_t ox, lcdint_t oy)
void setMode(uint8_t modeFlags)
Sets canvas drawing mode Sets canvas drawing mode. The set flags define transparency of output images...
void begin(lcdint_t w, lcdint_t h, uint8_t *bytes)
void fillRect(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
void printFixed(lcdint_t xpos, lcdint_t y, const char *ch)
uint16_t m_color
current color for monochrome operations
size_t write(uint8_t c) override
lcduint_t m_w
width of NanoCanvas area in pixels
void drawRect(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
lcduint_t m_h
height of NanoCanvas area in pixels
uint8_t m_textMode
Flags for current NanoCanvas mode.