35 const uint16_t _width;
36 const uint16_t _height;
37 const uint32_t _DRAM_address;
39 static uint32_t _nextDRAM_Address;
148 return _DRAM_address;
164 static void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
194 void solidFill(uint16_t x0, uint16_t y0, uint16_t
width, uint16_t
height, uint16_t color)
const;
205 void text(uint16_t x0, uint16_t y0, uint16_t fColor, uint16_t bColor,
const char *
text,
bool small =
false)
const;
215 void drawSquare(
unsigned short x0,
unsigned short y0,
unsigned short x1,
unsigned short y1,
unsigned short color)
const;
251 void BTE_ROP(
const Canvas &S0, uint16_t S0_x0, uint16_t S0_y0,
252 const Canvas &S1, uint16_t S1_x0, uint16_t S1_y0,
253 uint16_t DT_x0, uint16_t DT_y0, uint16_t DT_width, uint16_t DT_height,
254 uint8_t ROP,
bool S1_OpacityOn =
false)
const;
268 const uint8_t ROP = 0x0C;
269 BTE_ROP(source, Src_x0, Src_y0, source, Src_x0, Src_y0, DT_x0, DT_y0,
width,
height, ROP);
283 uint16_t DT_x0, uint16_t DT_y0, uint16_t
width, uint16_t
height)
const
285 const uint8_t ROP = 0x0E;
287 BTE_ROP(*
this, DT_x0, DT_y0, source, Src_x0, Src_y0, DT_x0, DT_y0,
width,
height, ROP,
false);
302 const uint8_t ROP = 0x0E;
304 BTE_ROP(*
this, DT_x0, DT_y0, source, Src_x0, Src_y0, DT_x0, DT_y0,
width,
height, ROP,
true);
316 digitalWrite(
TFT_BL, HIGH);
326 digitalWrite(
TFT_BL, LOW);
336 return _nextDRAM_Address;
375 uint32_t _ROM_Address;
379 ROM_Canvas(
void) =
delete;
419 DRAM_Canvas(
void) =
delete;
425 DRAM_Canvas(
const Canvas &srcCanvas);
459inline T nearest4(T num)
461 return static_cast<T
>(ceil(num / 4.0) * 4);
#define TFT_BL
Backlight pin used by the TFT.
Definition Common.h:19
#define Black
Definition TFTM070A1.h:56
#define LCD_YSIZE_TFT
Definition TFTM070A1.h:25
#define LCD_XSIZE_TFT
Definition TFTM070A1.h:24
static void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color)
Draws a line onto the display.
Definition Canvas.cpp:132
~Canvas(void)=default
Default destructor.
void clear(uint16_t color)
Erases the canvas, setting all pixels to the specified color.
Definition Canvas.h:180
void BTE_ROP(const Canvas &S0, uint16_t S0_x0, uint16_t S0_y0, const Canvas &S1, uint16_t S1_x0, uint16_t S1_y0, uint16_t DT_x0, uint16_t DT_y0, uint16_t DT_width, uint16_t DT_height, uint8_t ROP, bool S1_OpacityOn=false) const
Gneralized ROP operation. This assumes that object calling this method is the destimation DT canvas.
Definition Canvas.cpp:85
void clear(void)
Erases the canvas, setting all pixels to Black.
Definition Canvas.h:171
void setActive(void) const
Sets this canvas as both the active canvas and active window.
Definition Canvas.cpp:31
void setMainWindow(void) const
Sets this canvas as the Main Window, displaying it in the TFT.
Definition Canvas.cpp:42
static void BL_OFF(void)
Turns the TFT backlight off.
Definition Canvas.h:324
Canvas(void)
Default constructor sets canvass to the full size of the display.
Definition Canvas.h:57
void BTE_SetAsDT(uint16_t x0, uint16_t y0) const
Sets the location of the destination (DT) image for the BTE engine.
Definition Canvas.cpp:66
void BTE_SetAsS0(uint16_t x0, uint16_t y0) const
Sets the location of the S0 source image for the BTE engine.
Definition Canvas.cpp:50
static uint32_t nextAddress(void)
Location in DRAM whether the next image Canvas will be placed.
Definition Canvas.h:334
uint16_t width(void) const
Accessor method providing the canvas width.
Definition Canvas.h:124
void BTE_AddImageFrom(const Canvas &source, uint16_t Src_x0, uint16_t Src_y0, uint16_t DT_x0, uint16_t DT_y0, uint16_t width, uint16_t height) const
Adds an opacity encoded image from source to the image on this canvas.
Definition Canvas.h:282
void BTE_AddTransparantImageFrom(const Canvas &source, uint16_t Src_x0, uint16_t Src_y0, uint16_t DT_x0, uint16_t DT_y0, uint16_t width, uint16_t height) const
Adds an opacity encoded image from source to the image on this canvas.
Definition Canvas.h:300
uint16_t height(void) const
Accessor method providing the canvas height.
Definition Canvas.h:135
void BTE_CopyFrom(const Canvas &source, uint16_t Src_x0, uint16_t Src_y0, uint16_t DT_x0, uint16_t DT_y0, uint16_t width, uint16_t height) const
Uses BTE engine to copy imagery from source canvas to this one.
Definition Canvas.h:266
void drawSquare(unsigned short x0, unsigned short y0, unsigned short x1, unsigned short y1, unsigned short color) const
Draws an unfilled square.
Definition Canvas.cpp:172
void BTE_SetAsS1(uint16_t x0, uint16_t y0) const
Sets the location of the S1 source image for the BTE engine.
Definition Canvas.cpp:58
void BTE_CopyFrom(const Canvas &source) const
Uses BTE engine to copy entire image from source canvas to this one.
Definition Canvas.cpp:75
void _validate(void) const
Protected method used to validate that the images used to create this canvas are appropriately size.
Definition Canvas.cpp:185
void solidFill(uint16_t x0, uint16_t y0, uint16_t width, uint16_t height, uint16_t color) const
Draws a filled square onto the canvas.
Definition Canvas.cpp:140
uint32_t address(void) const
Accessor method providing the canvas' starting address in DRAM.
Definition Canvas.h:146
virtual void loadImage(void) const
Loads imagery onto the canvas.
Definition Canvas.h:93
void text(uint16_t x0, uint16_t y0, uint16_t fColor, uint16_t bColor, const char *text, bool small=false) const
Draws text onto the canvas.
Definition Canvas.cpp:155
static void BL_ON(void)
Turns the TFT backlight on.
Definition Canvas.h:314
void loadImage(void) const override
Loads the image from Flash ROM onto this Canvas.
Definition Canvas.cpp:242
~DRAM_Canvas(void)=default
Default destructor.
~ROM_Canvas(void)=default
Default destructor.
void loadImage(void) const override
Loads the image from Flash ROM onto this Canvas.
Definition Canvas.cpp:205
Structure to define sub-images. Generally associated with a ROM_Image.
Definition Common.h:52
Structure to define the size and location of an image in Flash.
Definition Common.h:44