Function Prototype:
bool isEPD(void) Description:
Return:
Function Prototype:
int32_t height(void) Description:
Parameters:
Return:
Function Prototype:
int32_t width (void) Description:
Parameters:
Return:
Function Prototype:
void popState(void) Description:
Parameters:
Return:
Function Prototype:
void pushState(void) Description:
Parameters:
Return:
Function Prototype:
void setBrightness(uint8_t brightness) Description:
Parameters:
Return:
Function Prototype:
uint8_t getBrightness(void) Description:
Parameters:
Return:
Function Prototype:
void setEpdMode(epd_mode_t epd_mode) Description:
Parameters:
Return:
Function Prototype:
epd_mode_t getEpdMode(void) Description:
Parameters:
Return:
Function Prototype 1:
bool setResolution(uint16_t logical_width = 0, uint16_t logical_height = 0, float refresh_rate = 0.0f, uint16_t output_width = 0, uint16_t output_height = 0, uint_fast8_t scale_w = 0, uint_fast8_t scale_h = 0, uint32_t pixel_clock = 74250000) Function Prototype 2:
bool setResolution( const config_resolution_t& cfg_resolution ) Description:
M5AtomDisplay.Parameters:
cfg_resolution contains all the parameters listed above.Return:
Function Prototype:
void setRotation(uint_fast8_t r) Description:
Parameters:
Return:
Function Prototype:
uint8_t getRotation(void) Description:
Parameters:
Return:
Function Prototype:
void setBaseColor(T c) Description:
Parameters:
Return:
Function Prototype:
uint32_t getBaseColor(void) Description:
Parameters:
Return:
Function Prototype 1:
void setColor(uint8_t r, uint8_t g, uint8_t b) Function Prototype 2:
void setColor(T color) Description:
Parameters:
Return:
Function Prototype:
void setRawColor(uint32_t c) Description:
Parameters:
Return:
Function Prototype:
uint32_t getRawColor(void) Description:
Parameters:
Return:
Function Prototype 1:
void setColorDepth(uint8_t bpp) Function Prototype 2:
void* setColorDepth(color_depth_t depth) Description:
Parameters:
Function Prototype:
color_depth_t getColorDepth(void) Description:
Parameters:
Return:
Function Prototype:
RGBColor* getPalette(void) Description:
Parameters:
Return:
Function Prototype:
uint32_t getPaletteCount(void) Description:
Parameters:
Return:
Function Prototype:
void clear(const T &color) Description
Parameters:
Return:
Function Prototype:
void clearDisplay(uint32_t color = 0) Description:
Parameters:
Return:
Function Prototype:
void fillScreen(const T &color) Description:
Parameters:
Return:
Function Prototype 1:
void setCursor(int16_t x, int16_t y) Function Prototype 2:
void setCursor(int16_t x, int16_t y, uint8_t font) void setCursor( int32_t x, int32_t y, const IFont* font) Description:
Parameters:
Return:
Function Prototype:
int32_t getCursorX(void) Description:
Parameters:
Return:
Function Prototype:
int32_t getCursorY(void) Description:
Parameters:
Return:
Function Prototype:
void setPivot(float x, float y) Description:
Parameters:
Return:
Function Prototype:
float getPivotX(void) Description:
Parameters:
Return:
Function Prototype:
float getPivotY(void) Description:
Parameters:
Return:
Function Prototype:
void setAddrWindow(int32_t x, int32_t y, int32_t w, int32_t h) Description:
Parameters:
Return:
Function Prototype:
void setWindow(uint_fast16_t xs, uint_fast16_t ys, uint_fast16_t xe, uint_fast16_t ye) Description:
Parameters:
Return:
Function Prototype:
void setAddrWindow(int32_t x, int32_t y, int32_t w, int32_t h) Description:
Parameters:
Return:
Function Prototype:
void setWindow(uint_fast16_t xs, uint_fast16_t ys, uint_fast16_t xe, uint_fast16_t ye) Description:
Parameters:
Return:
Function Prototype:
void setClipRect(int32_t x, int32_t y, int32_t w, int32_t h) Description:
Parameters:
Return:
Function Prototype:
void getClipRect(int32_t *x, int32_t *y, int32_t *w, int32_t *h) Description:
Parameters:
Return:
Function Prototype:
void clearClipRect(void) Description:
Parameters:
Return:
Function Prototype:
void scroll(int_fast16_t dx, int_fast16_t dy) Description:
Parameters:
Return:
Example Program:
#include <Arduino.h> #include <M5GFX.h> M5GFX display; uint16_t x; uint16_t y; bool flag = false; void setup() { display.begin(); display.drawString(" Scrolling... ", 0, 0, &fonts::lgfxJapanGothic_24); } void loop() { if(flag) { for (int i=-53; i<=53; i+=1) { display.scroll(0, -2); if(i>=53){ flag = false; } } } else { for (int i=-53; i<=53; i+=1) { display.scroll(0, 2); if(i>=53){ flag = true; } } } }Function Prototype:
void setTextScroll(bool scroll) Description:
Parameters:
Return:
setTextScroll(true).Function Prototype:
void setScrollRect(int32_t x, int32_t y, int32_t w, int32_t h, const T& color) Description:
Parameters:
Return:
Function Prototype:
void getScrollRect(int32_t *x, int32_t *y, int32_t *w, int32_t *h) Description:
Parameters:
Return:
Function Prototype:
void clearScrollRect(void) Description:
Parameters:
Return:
Example Program 1:
#include <Arduino.h> #include <M5GFX.h> M5GFX display; uint32_t count = 0; void setup() { display.begin(); display.setRotation(1); if(display.isEPD()) { display.setColorDepth(8);//The ink screen product supports a maximum bit depth of 8 bits. display.setEpdMode(epd_fastest); } else { display.setColorDepth(16); } display.fillScreen(TFT_WHITE); display.setBaseColor(TFT_WHITE); display.setTextFont(&fonts::FreeMonoBoldOblique18pt7b); display.setTextColor(TFT_BLACK); display.setTextScroll(true); display.setScrollRect(0, 0, display.width(), display.height()); } void loop() { display.printf("Scroll: %d\n", count); count++; delay(500); }By comparing the final results of the following two example programs, you can see the advantages of using Canvas.Example Program 2 (Display):
#include <Arduino.h> #include <M5GFX.h> M5GFX display; uint16_t w; uint16_t h; static constexpr char text[] = "Hello world ! This is M5Stack scroll test."; static constexpr size_t textlen = sizeof(text) / sizeof(text[0]); int textpos = 0; int scrollstep = 2; void setup() { display.begin(); display.setRotation(3); display.setBaseColor(TFT_WHITE); display.fillScreen(TFT_WHITE); display.setFont(&fonts::FreeMonoBoldOblique24pt7b); display.setTextColor(TFT_BLACK); w = display.width() / 2; h = display.height() / 2; } void loop() { int32_t cursor_x = display.getCursorX() - scrollstep; if (cursor_x <= 0) { textpos = 0; cursor_x = 0; } display.setCursor(cursor_x, h-24); display.scroll(-scrollstep, 0); while (textpos < textlen && cursor_x <= display.width()) { display.print(text[textpos++]); cursor_x = display.getCursorX(); } }Example Program 3 (Canvas):
#include <Arduino.h> #include <M5GFX.h> M5GFX display; M5Canvas canvas(&display); uint16_t w; uint16_t h; static constexpr char text[] = "Hello world ! This is M5Stack scroll test."; static constexpr size_t textlen = sizeof(text) / sizeof(text[0]); int textpos = 0; int scrollstep = 2; void setup() { display.begin(); display.setRotation(3); display.fillScreen(TFT_WHITE); canvas.createSprite(display.width() + 64, 108); canvas.fillSprite(TFT_WHITE); canvas.setBaseColor(TFT_WHITE); canvas.setFont(&fonts::FreeMonoBoldOblique24pt7b); canvas.setTextColor(TFT_BLACK); canvas.setTextSize(1.5); } void loop() { int32_t cursor_x = canvas.getCursorX() - scrollstep; if (cursor_x <= 0) { textpos = 0; cursor_x = display.width(); } canvas.setCursor(cursor_x, 0); canvas.scroll(-scrollstep, 0); while (textpos < textlen && cursor_x <= display.width()) { canvas.setColor(TFT_BLACK); canvas.print(text[textpos++]); cursor_x = canvas.getCursorX(); } int y = (display.height() - canvas.height()) >> 1; canvas.pushSprite(&display, 0, y); }Function Prototype:
void effect(int32_t x, int32_t y, int32_t w, int32_t h, TFunc&& effector) Description:
Parameters:
Return: