a - e

begin

パネルを初期化します。

Syntax:

void begin()

beginTransaction

パネルのトランザクションを開始します。

Syntax:

void beginTransaction()

calibrateTouch

タッチパネルをキャリブレーションします。

実行するとキャリブレーションを行う画面が表示されます。uint16_t[8]の配列ポインタに値が入るので、それをFlashやNVMに記録しておくと、 setTouchCalibrate() で設定することが可能です。

Syntax:

void calibrateTouch<T>(uint16_t* parameters, const T &color_fg, const T &color_bg)

Parameter Type 説明
parameters uint16_t* uint16_t[8] キャリブレーション値
color_fg const T& 前面の色(*1)
color_bg const T& 背景の色(*1)

*1. カラーコードについて

Example:

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

uint16_t touch_point[8];

void setup() {
  display.begin();
  display.calibrateTouch(touch_point, BLACK, YELLOW);
  display.clear();

  for (int i=0; i<8; i++) {
    display.printf("%4x:", touch_point[i]);
  }

}

void loop() {
  // put your main code here, to run repeatedly:
}

clear

パネルをクリアします。引数にカラーコードを指定した場合、その色で初期化します。

Syntax:

void clear(const T &color)

Parameter Type 説明
color const T& クリア後の色(*1)

*1. カラーコードについて

Example:

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup() {
  display.begin();
  display.clear(RED);

}

void loop() {
}

clearClipRect

setClipRect() で指定した領域をクリアします。

Syntax:

void clearClipRect()

clearDisplay

パネルをクリアします。引数にカラーコードを指定した場合、その色で初期化します。

Syntax:

void clearDisplay(uint32_t color = 0)

Parameter Type 説明
color uint32_t クリア後の色

clearScrollRect

setScrollRect() で指定した領域をクリアします。

Syntax:

void clearScrollRect()

color16to24

RGB565(16bit)のカラーコードをRGB888(24bit)へ変換します。

Syntax:

uint32_t color16to24(uint16_t rgb565)

Parameter Type 説明
rgb565 uint16_t RGB565のカラーコード

color16to8

RGB565(16bit)のカラーコードをRGB332(8bit)へ変換します。

Syntax:

uint8_t color16to8(uint16_t rgb565)

Parameter Type 説明
rgb565 uint16_t RGB565のカラーコード

color24to16

RGB888(24bit)のカラーコードをRGB565(16bit)へ変換します。

Syntax:

uint16_t color24to16(uint32_t rgb888)

Parameter Type 説明
rgb888 uint32_t RGB888のカラーコード

color332

r, g, bの値からRGB332(8bit)のカラーコードを生成します。

Syntax:

uint8_t color332(uint8_t r, uint8_t g, uint8_t b)

Parameter Type 説明
r uint8_t 0 - 255
g uint8_t 0 - 255
b uint8_t 0 - 255

color565

r, g, bの値からRGB565(16bit)のカラーコードを生成します。

Syntax:

uint16_t color332(uint8_t r, uint8_t g, uint8_t b)

Parameter Type 説明
r uint8_t 0 - 255
g uint8_t 0 - 255
b uint8_t 0 - 255

color888

r, g, bの値からRGB888(24bit)のカラーコードを生成します。

Syntax:

uint32_t color332(uint8_t r, uint8_t g, uint8_t b)

Parameter Type 説明
r uint8_t 0 - 255
g uint8_t 0 - 255
b uint8_t 0 - 255

color8to16

RGB332(8bit)のカラーコードをRGB565(16bit)へ変換します。

Syntax:

uint16_t color8to16(uint8_t rgb332)

Parameter Type 説明
rgb332 uint8_t RGB332カラーコード

convertRawXY

getTouchRaw() で取得した情報を変換します。

Syntax: void convertRawXY(touch_po2 *tp, uint_fast8_t count)

Parameter Type 説明
*tp touch_point_t touch point
count uint_fast8_t count

copyRect

矩形範囲をコピーします。

Syntax: void copyRect(uint32_t dst_x, uint32_t dst_y, uint32_t w, uint32_t h, uint32_t src_x, uint32_t src_y)

Parameter Type 説明
dst_x uint32_t コピー先のX座標
dst_y uint32_t コピー先のY座標
w uint32_t 矩形範囲の幅
h uint32_t 矩形範囲の高さ
src_x uint32_t コピー元のX座標
src_y uint32_t コピー元のY座標

createPng

スクリーンショット機能です。パネルに表示しているデータをPNG形式でメモリに保存します。

注意:
保存できるデータの大きさはメモリに依存します。例えば、PSRAMがない場合は320x240のサイズは保存できません。

Syntax:

void* createPng(size_t* datalen, int32_t x, int32_t y, int32_t w, int32_t h)

Parameter Type 説明
datalen size_t* データ長さ
x int32_t X座標
y int32_t Y座標
w int32_t 矩形範囲の幅
h int32_t 矩形範囲の高さ

display

描画データをパネルへ表示します。(M5Paper, CoreInk, OLEDUnit用の関数です。)

  • CoreInk と OLEDUnit はESP32のメモリ上に描いたデータをパネルに表示します。
  • M5Paper はEPD側のメモリに描かれたデータをパネルに表示します。

Syntax:

void display()

displayBusy

パネルがBusyかどうかをチェックします。

Syntax:

bool displayBusy()

dmaBusy

パネルのDMAがBusyかチェックします。

Syntax:

bool dmaBusy()

drawArc

円弧を描きます。r0とr1を指定し厚みのある円弧を描きます。

Syntax:

void drawArc(int32_t x, int32_t y, int32_t r0, int32_t r1, float angle0, float angle1, const T &color)

Parameter Type 説明
x int32_t 円弧の中心 X座標
y int32_t 円弧の中心 Y座標
r0 int32_t 内側の半径
r1 int32_t 外側の半径
angle0 float 描画を開始する角度
angle1 float 描画を終了する角度
color const T 色(*1)

*1. カラーコードについて

Example:

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup() {
  display.begin();
  uint16_t x = display.width() / 2;
  uint16_t y = display.height() / 2;
  display.drawArc(x, y, 10, 20, 20, 240, TFT_WHITE);
}

void loop() {
}

drawBezier

ベジェ曲線を描きます。制御点は3点または4点を指定します。

Syntax:

  • 3-points

void drawBezier(x0, y0, x1, y1, x2, y2, const int &color)

Parameter Type 説明
x0 int32_t point0 x
y0 int32_t point0 y
x1 int32_t point1 x
y1 int32_t point1 y
x2 int32_t point2 x
y2 int32_t point2 y
color const T(*1) color of line
  • 4-points

void drawBezier(x0, y0, x1, y1, x2, y2, x3, y3, const int &color)

Parameter Type 説明
x0 int32_t point0 x
y0 int32_t point0 y
x1 int32_t point1 x
y1 int32_t point1 y
x2 int32_t point2 x
y2 int32_t point2 y
x3 int32_t point3 x
y3 int32_t point3 y
color const T(*1) color of line

*1. カラーコードについて

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup() {
  display.begin();
  uint16_t x = display.width() / 2;
  uint16_t y = display.height() / 2;
  display.drawBezier(0, 0, x, 0, x, y, TFT_WHITE);
  display.drawBezier(0, 0, x, 0, x, y, 0, y, TFT_WHITE);
}

void loop() {
}

drawBmp

BMP形式のビットマップデータを描きます。ファイルやStreamを指定できます。

Syntax:

  • FileSystem

void drawBmp(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
path const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • Stream

void drawBmp(Stream *dataSource, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource Stream* Stream object
x int32_t x
y int32_t y
maxWidth int32_t 最大幅
maxHeight int32_t 最大高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • Data

void drawBmp(const uint8_t *data, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource const uint8_t* bmp data
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawBmpFile

bmpファイルのビットマップデータを描きます。

Syntax:

void drawBmpFile(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
pat const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float scale X
scaleY float scale Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawBmpUrl

URLで指定したBMPデータを描きます。

注意:
この関数は#include <M5GFX.h>より前に #include <HTTPClient.h> を定義してください。

Syntax:

void drawBmpUrl(const String &url, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
url const String filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawCenterString(drawCentreString)

テキストを中寄せで描画します。

Syntax:

void drawCenterString(const String &string, int32_t x, int32_t y, IFont* font)

Parameter Type 説明
string const String x
x int32_t x
y int32_t y
font IFont* (*1) font

*1. フォント一覧

drawChar

ユニコードで文字を描画します。

Syntax:

size_t drawChar(uint16_t uniCode, int32_t, x, int32_t y, uint8_t font)

drawCircle

円を描きます。

Syntax:

void drawCircle(int32_t x, int32_t y, int32_t r, const T &color)

Parameter Type 説明
x int32_t x
y int32_t y
r int32_t フォント
color const T& color(*1)

*1. カラーコードについて

drawEllipse

楕円を描きます。

Syntax:

void drawEllipse(int32_t x, int32_t y, int32_t rx, int32_t ry, const T &color)

Parameter Type 説明
x int32_t x
y int32_t y
rx int32_t 半径 X
ry int32_t 半径 Y
color const T& color(*1)
*1. カラーコードについて

drawEllipseArc

楕円の円弧を描きます。

Syntax:

void drawEllipseArc(int32_t x, int32_t y, int32_t r0x, int32_t r1x, int32_t r0y, int32_t r1y, float angle0, float angle1, const T &color)

Parameter Type 説明
x int32_t 円弧の中心座標X
y int32_t 円弧の中心座標Y
r0x int32_t 内側の円の半径X
r1x int32_t 外側の円の半径X
r0y int32_t 内側の円の半径Y
r1y int32_t 外側の円の半径Y
angle0 float 円弧の開始角度
angle1 float 円弧の終了角度
color const T& 円弧の色(*1)

*1. カラーコードについて

drawFastHLine

水平方向の線を描きます。

Syntax:

void drawFastHLine(int32_t x, int32_t y, int32_t w, const T &color)

Parameter Type 説明
x int32_t x
y int32_t y
w int32_t
color const T& 色(*1)

*1. カラーコードについて

drawFastVLine

垂直方向の線を描きます。

Syntax:

void drawFastHLine(int32_t x, int32_t y, int32_t w, const T &color)

Parameter Type 説明
x int32_t x
y int32_t y
h int32_t 高さ
color const T& 色(*1)

*1. カラーコードについて

drawFloat

Float型(浮動少数型)の値を描画します。

Syntax:

size_t drawFloat(float floatNumber, uint8_ dp, int32_t poX, int32_t poY, const IFont* font)

Parameter Type 説明
floatNumber float Floatの値
dp uint8_t 小数点以下の桁数
poX int32_t x
poY int32_t y
font IFont* (*1) フォント

*1. フォント一覧

drawGradientHLine

色が変化する水平方向の線を描きます。

Syntax:

void drawGradientHLine(int32_t x, int32_t y, int32_t w, const T &colorstart, const T &colorend)

Parameter Type 説明
x int32_t x
y int32_t y
w int32_t
colorstart const T& 開始色(*1)
colorend const T& 終了色(*1)
*1. カラーコードについて

drawGradientLine

色が変化する線を描きます。

Syntax:

void drawGradientLine(int32_t x0, int32_t y0, int32_t x1, int32_t y1, const T &colorstart, const T &colorend)

Parameter Type 説明
x0 int32_t 始点 x
y0 int32_t 始点 y
x1 int32_t 終点 x
y1 int32_t 終点 y
colorstart const T& 開始色 (*1)
colorend const T& 終了色 (*1)
*1. カラーコードについて

drawGradientVLine

色が変化する垂直方向の線を描きます。

Syntax:

void drawGradientVLine(int32_t x, int32_t y, int32_t h, const T &colorstart, const T &colorend)

Parameter Type 説明
x int32_t x
y int32_t y
h int32_t 高さ
colorstart const T& 開始色(*1)
colorend const T& 終了色(*1)

*1. カラーコードについて

drawJpg

JPGデータを描画します。File, Stream等のデータを指定可能です。

Syntax:

  • FileSystem

void drawJpg(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
path const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scale_x float 倍率 X
scale_y float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • Stream

void drawJpg(Stream *dataSource, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource Stream* Stream object
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • data

void drawJpg(const uint8_t *data, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource const uint8_t* bmp data
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawJpgFile

JPGファイルを描画します。

Syntax:

void drawJpgFile(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
path const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawJpgUrl

URLで指定したJPGデータを表示します。

注意:
この関数は#include <M5GFX.h>より前に #include <HTTPClient.h> を定義してください。

Syntax:

void drawJpgUrl(const String &url, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
url const String URL
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawLine

線を描く。

Syntax:

void drawLine(int32_t x0, int32_t y0, int32_t x1, int32_t y1, const T &color)

Parameter Type 説明
x0 int32_t 始点 x
y0 int32_t 始点 y
x1 int32_t 終点 x
y1 int32_t 終点 y
color const T& 色(*1)

*1. カラーコードについて

drawNumber

long型(整数型)の数値を描画します。

Syntax:

size_t drawNumber(long long_num,int32_t poX, int32_t poY, const IFont* font)

Parameter Type 説明
long_num long 描画するlongの値
poX int32_t x
poY int32_t y
font IFont* (*1) フォント

*1. フォント一覧

drawPixel

点を描画します。

Syntax:

void drawPixel(int32_t x, int32_t y, const int &color)

Parameter Type 説明
x int32_t x
y int32_t y
color const int color(*1)

*1. カラーコードについて

drawPng

PNGデータを描画します。FileやStreamを指定することができます。

Syntax:

  • FileSystem

void drawPng(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
path const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • Stream

void drawPng(Stream *dataSource, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource Stream* Stream object
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • data

void drawPng(const uint8_t *data, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource const uint8_t* bmp data
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawPngFile

PNGファイルを描きます。

Syntax:

void drawPngFile(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
pat const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawPngUrl

指定したURLのPNGデータを描きます。

Syntax:

void drawPngUrl(const String &url, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
url const String filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawQoi

Qoiデータを描画します。FileやStreamを指定することができます。

Syntax:

  • FileSystem

void drawQoi(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
path const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • Stream

void drawQoi(Stream *dataSource, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource Stream* Stream object
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

  • data

void drawQoi(const uint8_t *data, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
dataSource const uint8_t* bmp data
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawQoiFile

Qoiファイルを描画します。

Syntax:

void drawQoiFile(fs::FS &fs,const char *path, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
fs fs::FS SPIFFS or SD
pat const char* filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawQoiUrl

指定したURLのQoiデータを描画します。

Notice:
This function can be used by writing #include <HTTPClient.h> before #include <M5GFX.h>.

Syntax:

void drawPngQoi(const String &url, int32_t x = 0, y = 0, maxWidth = 0, maxHeight = 0, int32_t offX = 0, int32_t offY = 0, float scale_x = 1.0f, float scale_y = 1.0f, datum_t datum = datum_t::top_left )

Parameter Type 説明
url const String filepath
x int32_t x
y int32_t y
maxWidth int32_t
maxHeight int32_t 高さ
offX int32_t offset X
offY int32_t offset Y
scaleX float 倍率 X
scaleY float 倍率 Y
datum datum_t 画像の基準点(*1)

*1. 画像の基準点(datum)について

drawRect

矩形を描きます。

Syntax:

void drawRect(int32_t x, int32_t y, int32_t w, int32_t h, const T &color)

Parameter Type 説明
x int32_t 始点 x
y int32_t 始点 y
w int32_t 矩形の幅
h int32_t 矩形の高さ
color const T& 色(*1)
*1. カラーコードについて

drawRightString

右寄せで文字列を描画します。

Syntax:

void drawRightString(const String &string, int32_t x, int32_t y, IFont* font)

Parameter Type 説明
string const String 文字列
x int32_t x
y int32_t y
font IFont* (*1) font

*1. フォント一覧

drawRoundRect

角が丸い矩形を描画します。

Syntax:

void drawRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, const T &color)

Parameter Type 説明
x int32_t 始点 x
y int32_t 始点 y
w int32_t 矩形の幅
h int32_t 矩形の高さ
r int32_t 角の半径
color const T& 色(*1)

*1. カラーコードについて

drawString

文字を描画します。

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup() {
  display.begin();
  display.setTextDatum(middle_center);
  uint16_t x = display.width() / 2;
  uint16_t y = display.height() / 2;
  display.drawString("Text", x, y);
}

void loop() {
}

drawTriangle

3つの点を指定して三角形を描画します。

Syntax:

void drawTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, const T &color)

Parameter Type 説明
x0 int32_t point0 x
y0 int32_t point0 y
x1 int32_t point1 x
y1 int32_t point1 y
x2 int32_t point2 x
y2 int32_t point2 y
color const T& 色(*1)

*1. カラーコードについて

effect

ユーザ定義の関数を用いて矩形範囲を変換します。

Syntax:

void effect(int32_t x, int32_t y, int32_t w, int32_t h, TFunc&& effector)

Parameter Type 説明
x int32_t 始点 x
y int32_t 終点 y
w int32_t
h int32_t 高さ
effector TFunc&& 変換処理を行う関数

endTransaction

startTransaction() とペアで使用します。

Syntax:

void endTransaction()

endWrite

startWrite() とペアで使用します。

Syntax:

void endWrite()

f - h

fillAffine

アフィン変換行列で描画した領域を塗りつぶします。

void fillAffine(const float matrix[6], int32_t w, int32_t h, const T& color)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
color const T& (*1)

*1. カラーコードについて

fillArc

塗りつぶした円弧を描きます。

Syntax:

void fillArc(int32_t x, int32_t y, int32_t r0, int32_t r1, float angle0, float angle1, const int &color)

Parameter Type 説明
x int32_t 円弧の中心座標 X
y int32_t 円弧の中心座標 Y
r0 int32_t 内側の円半径
r1 int32_t 外側の円半径
angle0 float 開始角度
angle1 float 終了角度
color const T&(*1)

*1. カラーコードについて

Example:

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup() {
  display.begin();
  uint16_t x = display.width() / 2;
  uint16_t y = display.height() / 2;
  display.fillArc(x, y, 10, 20, 20, 240, TFT_WHITE);
}

void loop() {
}

fillCircle

塗りつぶした円を描きます。

Syntax:

void fillCircle(int32_t x, int32_t y, int32_t r, const T &color)

Parameter Type 説明
x int32_t x
y int32_t y
r int32_t 半径
color const T& 色(*1)

*1. カラーコードについて

fillEllipse

塗りつぶした楕円を描きます。

Syntax:

void fillEllipse(int32_t x, int32_t y, int32_t rx, int32_t ry, const T &color)

Parameter Type 説明
x int32_t x
y int32_t y
rx int32_t 半径 X
ry int32_t 半径 Y
color const T& 色(*1)

*1. カラーコードについて

fillEllipseArc

塗りつぶした円弧を描きます。

Syntax:

void fillEllipseArc(int32_t x, int32_t y, int32_t r0x, int32_t r1x, int32_t r0y, int32_t r1y, float angle0, float angle1, const T &color)

Parameter Type 説明
x int32_t 円弧の中心座標 X
y int32_t 円弧の中心座標 Y
r0x int32_t 内側の半径 X
r1x int32_t 内側の半径 Y
r0y int32_t 外側の半径 X
r1y int32_t 外側の半径 Y
angle0 float 開始角度
angle1 float 終了角度
color const T& 色(*1)

*1. カラーコードについて

fillRect

塗りつぶした矩形を描きます。

Syntax:

void fillRect(int32_t x, int32_t y, int32_t w, int32_t h, const T &color)

Parameter Type 説明
x int32_t 始点 x
y int32_t 始点 y
w int32_t 矩形の幅
h int32_t 矩形の高さ
color const T& 色(*1)
*1. カラーコードについて

fillRectAlpha

不透明な矩形を描画します。

Syntax:

void fillRectAlpha(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t alpha, const T &color)

Parameter Type 説明
x int32_t 始点 x
y int32_t 始点 y
w int32_t 矩形の幅
h int32_t 矩形の高さ
alpha uint8_t 0 透明 - 255 不透明
color const T& 色(*1)

*1. カラーコードについて

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  uint16_t x = display.width() / 2;
  uint16_t y = display.height() / 2;
  display.fillRect(x - 10, y - 10, 50, 50, TFT_WHITE);
  display.fillRectAlpha(x, y, 30, 30, 100, TFT_BLACK);
}

void loop()
{
}

fillRoundRect

角が丸い塗りつぶした矩形を描きます。

Syntax:

void fillRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, const T &color)

Parameter Type 説明
x int32_t 始点 x
y int32_t 始点 y
w int32_t 矩形の幅
h int32_t 矩形の高さ
r int32_t 角の半径
color const T& 色(*1)

*1. カラーコードについて

Example:

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  uint16_t x = display.width() / 2;
  uint16_t y = display.height() / 2;
  display.fillRoundRect(x, y, 30, 30, 5, TFT_WHITE);
}

void loop()
{
}

fillScreen

画面を塗りつぶします。

Syntax:

Parameter Type 説明
color const T& 色(*1)

*1. カラーコードについて

fillTriangle

3つの点を指定して塗りつぶした三角形を描きます。

Syntax:

void fillTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, const T &color)

Parameter Type 説明
x0 int32_t point0 x
y0 int32_t point0 y
x1 int32_t point1 x
y1 int32_t point1 y
x2 int32_t point2 x
y2 int32_t point2 y
color const T& color(*1)

*1. カラーコードについて

floodFill

指定した座標の色域を近似的に塗りつぶします。

Syntax:

void floodFill(uint32_t x, uint32_t y, const T &color)

Parameter Type 説明
x int32_t point x
y int32_t point y
color const T& fill color

*1. カラーコードについて

fontHeight

Returns the height of the specified font.

Syntax:

int32_t fontHeight(uint8_t font)

Parameter Type 説明
font IFont* フォント(*1)

*1. フォント一覧

fontWidth

Returns the width of the specified font.

int32_t fontHeight(uint8_t font)

Parameter Type 説明
font IFont* (*1) font

*1. フォント一覧

getAttribute

attributeの値を取得します。

Syntax:

uint8_t getAttribute(attribute_t attr_id)

getBaseColor

setBaseColor() で設定されたパネルの背景色を取得します。

注意: 返却値はRGB888形式です。

Syntax:

uint32_t getBaseColor()

getBoard

ボードを取得します。

Syntax:

uint8_t getBoard()

*1. enum board_t

getBrightness

setBrightness() で設定した値を取得します。

Syntax:

uint8_t getBrightness()

getClipRect

setClipRectRect() で設定したx,y,w,hを取得します。

Syntax:

void getClipRect(int32_t *x, int32_t *y, int32_t *w, int32_t *h)

getColorDepth

setColorDepth() で設定されたColorDepthを取得します。

Syntax:

color_depth_t getColorDepth()

*1. About ColorDepth

getCursorX

現在のカーソルX座標を取得します。

Syntax:

int32_t getCursorX()

getCursorY

現在のカーソルY座標を取得します。

Syntax:

int32_t getCursorY()

getEpdMode

setEpdMode() で設定されているE-Paperのモードを取得します。(M5Paperのみ)

Syntax:

epd_mode_t getEpdMode()

*1. epd_mode_t

getFont

setFont() で設定されているフォントを取得します。

const IFont* getFont()

*1. フォント一覧

getInstance

M5GFXのインスタンスを取得します。

Syntax:

M5GFX* getInstance()

getInvert

invertDisplay() で設定した値を取得します。

Syntax:

bool getInvert()

getPalette

パレット情報を取得します。

Syntax:

RGBColor* getPalette()

getPaletteCount

パレットの数を取得します。

Syntax:

uint32_t getPaletteCount()

getPanel

パネルを取得します。

Syntax:

Panel_Device* getPanel()

getPivotX

setPivot() で設定されたPivotのX座標を取得します。

Syntax:

float getPivotX()

getPivotY

setPivot() で設定されたPivotのY座標を取得します。

Syntax:

float getPivotY()

getRawColor

setRawColor() で設定された色を取得します。

**注意:**返却値はRGB888形式です。

uint32_t getRawColor()

getRotation

setRotation() で設定されたローテーションの値を取得します。

uint8_t getRotation()

getScrollRect

setScrollRect() で設定されたx,y,w,hを取得します。

void getScrollRect(int32_t *x, int32_t *y, int32_t *w, int32_t *h)

getStartCount

実行した startWrite() の回数を取得します。

uint32_t getStartCount()

getSwapBytes

setSwapBytes() で設定された値を取得します。

bool getSwapBytes()

getTextDatum

setTextDatum() で設定された構造体を取得します。

Syntax:

textdatum_t getTextDatum()

*1. テキストの基準点(datum)について

getTextPadding

テキストの余白を取得します。

Syntax:

uint32_t getTextPadding()

getTextSizeX

setTextSize() 設定されたテキストサイズの幅を取得します。

Syntax:

float getTextSizeX()

getTextSizeY

setTextSize() で設定されたテキストサイズの高さを取得します。

Syntax:

float getTextSizeY()

getTextStyle

setTextStyle() で設定されたテキスト情報を取得します。

Syntax:

TextSytle& getTextStyle()

getTouch

タッチパネルの情報を取得します。

Syntax:

uint_fast8_t getTouch(touch_point_t *tp, uint_fast8_t count = 1)

Parameter Type 説明
tp touch_pont_t* タッチ情報
count uint_fast8_t カウント

getTouchRaw

タッチパネルの情報を取得します。

Syntax:

uint_fast8_t getTouchRaw(touch_point_t *tp, uint_fast8_t count = 1)

Parameter Type 説明
tp touch_pont_t* タッチ情報
count uint_fast8_t カウント

hasPalette

パレットが設定されているかどうかを返却します。

Syntax:

bool hasPalette()

height

パネルの高さを取得します。

Syntax:

int_fast16_t height()

i - q

init

パネルを初期化します。

Syntax:

void init()

initDMA

DMAを初期化します。

Syntax:

void initDMA

invertDisplay

画面の明暗及び色調を反転させて出力するかどうかを設定します。(ネガポジ反転)

Syntax:

void invertDisplay(bool invert)

isBusShared

バスが共有されているかどうかを取得します。

Syntax:

bool isBusShared()

isEPD

e-Paper displayかどうかを取得します。

Syntax:

bool isEPD()

isReadable

パネルの情報を読み込みできるかどうかを取得します。

Syntax:

bool isReadable()

isSPIShared

SPIバスが共有されているかどうかを取得します。

Syntax:

bool isSPIShared()

loadFont

フォントデータを読み込みます。

Syntax:

bool loadFont(const uint8_t *array) | Parameter | Type | 説明 | | ---------- | -------------- | -------------------------------- | | array | const uint8_t* | VLW font data |

bool loadFont(fs::FS &fs, const char *path) | Parameter | Type | 説明 | | ---------- | ----------- | -------------------------------- | | fs | fs::FS& | FileSystem(SD or SPIFFS) | | path | const char* | file path |

paint

floodFill() と同じ機能です。

Syntax:

void paint(int32_t x, int32_t y, const T& color)

panel

パネルを取得します。

Syntax:

Panel_Device* panel()

popState

テキスト情報を一時的に待避します。待避した情報は pushState() で戻します。

  • 一時待避されるテキスト情報
Parameter Type 説明
gfxFont IFont *
style TextStyle (*1)
metrics FontMetrics (*2)
cursor_x int32_t
cursor_y int32_t

*1. struct TextStyle *2. struct FontMetrics

Syntax:

void popState()

powerSave

パワーセーブの状態を設定します。

Syntax:

void powerSave(bool flg)

Parameter Type 説明
flg bool

powerSaveOff

パワーセーブの状態をOFFにします。

Syntax:

void powerSaveOff()

powerSaveOn

パワーセーブの状態をONにします。

Syntax:

void powerSaveOn()

print

カーソル位置に文字列を出力します。ArduinoのPrint.hに準拠しています。

Syntax:

size_t print(...)

printf

カーソル位置に文字列を出力します。ArduinoのLibPrint.hに準拠しています。

Syntax:

size_t printf(...)

println

カーソル位置に文字列を出力します。文字列の最後に改行コードを追加します。ArduinoのPrint.hに準拠しています。

Syntax:

size_t print(...)

progressBar

プログレスバーを表示します。色は0x09F1(暗い青)のみです。

Syntax:

void progressBar(int x, int y, int w, int h, uint8_t val)

Parameter Type 説明
x int point x
y int point y
w int
h int 高さ
value uint8_t value( 0 - 100)

pushBlock

setWindow() , setAddrWindow() で設定された領域に、行方向に指定された色を描画していきます。

Syntax:

void pushBlock(const T& color, uint32_t length)

Parameter Type 説明
color const T& 色(*1)
length uint32_t 描画する長さ

*1. カラーコードについて

Example:

#include <Arduino.h>
#include <M5GFX.h>

M5GFX display;
int32_t x;
int32_t y;

void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  
  x = display.width() / 2;
  y = display.height() / 2;
  
  display.startWrite();
  display.setWindow(0, 0, x - 1 , y);
  for (int i=0; i<y; i++) {
    display.pushBlock(TFT_RED, x / 4);
    display.pushBlock(TFT_BLUE, x / 4);
    display.pushBlock(TFT_GREEN, x / 4);
    display.pushBlock(TFT_YELLOW, x / 4);
  }
  display.endWrite();
}


void loop()
{
}

pushImage

画像データをPushします。

Syntax:

void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const T* data)

Parameter Type 説明
x int32_t 始点 X
y int32_t 始点 Y
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ

void pushImage(const float matrix[6], int32_t w, int32_t h, const T* data, const T2& transparent)

Parameter Type 説明
x int32_t 始点 X
y int32_t 始点 Y
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
transparent const T2& 透明色(*1)

*1. カラーコードについて

void pushImage(const float matrix[6], int32_t w, int32_t h, const T* data, color_depth_t depth, const T* palette)

Parameter Type 説明
x int32_t 始点 X
y int32_t 始点 Y
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
depth color_depth_t (*1) Color Depth
palette const T* パレット情報

*1. ColorDepthについて

void pushImage(const float matrix[6], int32_t w, int32_t h, const T* data, uint32_t transparent, color_depth_t depth, const T* palette)

Parameter Type 説明
x int32_t start point x
y int32_t start point y
w int32_t Image width
h int32_t Image height
data const T* Image data
transparent uint32_t Color of transparent
depth color_depth_t (*1) Color depth
palette const T& Color palette

*1. ColorDepthについて

pushImageAffine

アフィン変換して画像を描画します。

Syntax:

void pushImageAffine(const float matrix[6], int32_t w, int32_t h, const T* data)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ

void pushImageAffine(const float matrix[6], int32_t w, int32_t h, const T* data, const T2& transparent)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
transparent const T2& 透明色(*1)

*1. カラーコードについて

void pushImageAffine(const float matrix[6], int32_t w, int32_t h, const T* data, color_depth_t depth, const T* palette)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
depth color_depth_t (*1) Color Depth
palette const T* パレット情報

*1. ColorDepthについて

void pushImageAffine(const float matrix[6], int32_t w, int32_t h, const T* data, uint32_t transparent, color_depth_t depth, const T* palette)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
transparent const T2& 透明色(*1)
depth color_depth_t (*2) Color Depth
palette const T* パレット情報

*1. カラーコードについて *2. ColorDepthについて

pushImageAffineWithAA

アンチエイリアスとアフィン変換を行いつつ画像をpushします。

Syntax:

void pushImageAffineWithAA(const float matrix[6], int32_t w, int32_t h, const T* data)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ

void pushImageAffineWithAA(const float matrix[6], int32_t w, int32_t h, const T* data, const T2& transparent) | Parameter | Type | 説明 | | ----------- | -------------- | ----------- | | matrix | const float[6] | 6要素の行列 | | w | int32_t | 画像の幅 | | h | int32_t | 画像の高さ | | data | const T* | 画像データ | | transparent | const T2& | 透明色(*1) |

*1. カラーコードについて

void pushImageAffineWithAA(const float matrix[6], int32_t w, int32_t h, const T* data, color_depth_t depth, const T* palette)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
depth color_depth_t (*1) Color Depth
palette const T* パレット情報

*1. ColorDepthについて

void pushImageAffineWithAA(const float matrix[6], int32_t w, int32_t h, const T* data, uint32_t transparent, color_depth_t depth, const T* palette)

Parameter Type 説明
matrix const float[6] 6要素の行列
w int32_t 画像の幅
h int32_t 画像の高さ
data const T* 画像データ
transparent const T2& 透明色(*1)
depth color_depth_t (*2) Color Depth
palette const T* パレット情報

*1. カラーコードについて *2. ColorDepthについて

pushPixels

setWindow() , setAddrWindos() で設定された領域に画像データをpushします。

補足: draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void pushPixels(T* data, int32_t len)

Parameter Type 説明
data T* 画像データ
len int32_t データ長

void pushPixels(T* data, int32_t len, bool swap)

Parameter Type 説明
data T* 画像データ
len int32_t データ長
swap bool Swap bytes

pushPixelsDMA

DMAに画像データをpushします。

補足: draw/push系とwrite系の関数の違いについて を参照してください。

Syntax: void pushPixelsDMA(T* data, int32_t len)

Parameter Type 説明
data T* 画像データ
len int32_t データ長

void pushPixelsDMA(T* data, int32_t len, bool swap)

Parameter Type 説明
data T* 画像データ
len int32_t データ長
swap bool Swap bytes

pushState

popState() で一時待避したテキスト情報をリストアします。

Syntax:

void pushState()

qrcode

文字列をqrcodeに変換します。

Syntax:

void qrcode(const char *string, int32_t x, int32_t y, int32_t w, uint8_t version)

Parameter Type 説明
string const char* 変換文字列
x int32_t point x
y int32_t point y
w int32_t
version uint8_t version of qrcode(1 - 40)

r - s

readData16

16bitのデータをパネルから読み込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

uint16_t readData16(uint8_t index=0)

readData32

32bitのデータをパネルから読み込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

uint32_t readData32(uint8_t index=0)

readData8

8bitのデータをパネルから読み込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

uint8_t readData8(uint8_t index=0)

readPixel

指定した座標のカラーコード(RGB565)を読み取ります。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

uint16_t readPixel(int32_t x, int32_t y)

readPixelRGB

指定した座標のカラーコード(RGB888)を読み取ります。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

RGBColor readPixelRGB(int32_t x, int32_t y)

readRect

指定された矩形領域のデータを読み込みます。(RGB565)

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void readRect(int32_t x, int32_t y, int32_t w, int32_t h, T* data)

readRectRGB

指定された矩形領域のデータを読み込みます。(RGB888)

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void readRectRGB(int32_t x, int32_t y, int32_t w, int32_t h, RGBColor* data)

scroll

パネルに表示されているデータをスクロールします。

Syntax:

void scroll(int_fast16_t dx, int_fast16_t dy)

Parameter Type 説明
dx int_fast16_t X軸の移動量
dy int_fast16_t Y軸の移動量
#include <Arduino.h>
#include <M5GFX.h>

M5GFX display;
uint16_t x;
uint16_t y;
void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  x = display.width() / 2;
  y = display.height() / 2;
  display.drawCenterString("scroll", x, y, &fonts::lgfxJapanGothic_24);
}

void loop()
{
  for (int i=-10; i<=10; i+=1) {
    display.scroll(0, i);
  }
}

setAddrWindow

writePixels() , pushPixels() , pushBlock() の描画先となる範囲を指定します。

注意: setWindow() と同じですが、引数が違います。
setAddrWindowは画面外へのはみ出しはチェックしますが、setWindowはチェックしません。

Syntax:

void setAddrWindow(int32_t x, int32_t y, int32_t w, int32_t h)

Parameter Type 説明
x int32_t x
y int32_t y
w int32_t
h int32_t 高さ

setAutoDisplay

M5Paper, CoreInk, UnitOLEDのみの機能です。 trueを設定すると、 display() を実行しなくても書き込みを行うと即描画されます。

Syntax:

void setAutoDisplay(bool auto_display)

setBaseColor

パネルの背景色を設定します。スクロール機能で描画される描画領域外の色を設定することができます。 getBaseColor() と対の関数です。

Syntax:

void setBaseColor(T color)

Parameter Type 説明
color T (*1) Base color

*1. カラーコードについて

setBrightness

ディスプレイパネルの明るさを設定します。

Syntax:

void setBrightness(uint8_t brightness)

Parameter Type 説明
brightness unit8_t ディスプレイの明るさ

setClipRect

描画に使用する矩形領域を指定します。

Syntax:

void setClipRect(int32_t x, int32_t y, int32_t w, int32_t h)

setColor

描画色を指定します。

Syntax:

void setColor(const T &color)

Parameter Type 説明
color const T& (*1)

*1. カラーコードについて

setColorDepth

ColorDepthを設定します。

void setColorDepth(int32_t bits)

Parameter Type 説明
bits int ColorDepth(*1)

*1. ColorDepthについて

setCursor

カーソル位置を指定します。

void setCursor(int32_t x, int32_t y)

Parameter Type 説明
x int32_t point x
y int32_t point y

setEpdMode

E-Paperのモードを指定します。(M5Paperのみ)

void setEpdMode(epd_mode_t epd_mode)

Parameter Type 説明
epd_mode epd_mode_t(*1) epd mode

*1. About EpdMode

setFont

デフォルトフォントを指定します。

Syntax:

void setFont(const IFont *font)

Parameter Type 説明
font IFont (*1) フォント

*1. フォント一覧

setPivot

Pivot座標を設定します。

補足: 引数が実数指定(float型)なのは、pivotがPixelの中心を指す仕様になっているためです。回転すると+0.5ピクセル分右下にオフセットするため、Pivotで-0.5オフセットすると相殺されます。

Syntax:

void setPivot(float x, float y)

Parameter Type 説明
x float point x
y float point y

setRawColor

色を指定します。

Syntax:

void setRawColor(uint32_t color)

setResolution

M5AtomDisplayのみの機能です。 解像度の設定を行います。

Syntax:

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)

Parameter Type 説明
logical_width uint16_t 論理画面の幅
logical_height uint16_t 論理画面の高さ
refresh_rate float リフレッシュレート
output_width uint16_t 実際の画面幅
output_height uint16_t 実際の画面高さ
scale_w uint_fast8_t 実画面との比率(幅)
scale_h uint_fast8_t 実画面との比率(高さ)

setRotation

パネルの回転方向を指定します。

Syntax:

void setRotation(uint8_t m)

Function parameter:

Parameter 説明 Type
m uint8_t 回転角 ( * 90°)

注意:
1.回転は値×90°です。
2.0-3 時計回り, 4-7 is 半時計回り (デフォルトは1)
3. 描画する前に設定する必要があります。

Example:

#include <Arduino.h>
#include <M5GFX.h>
M5GFX display;

void setup() {
  display.begin();
  display.setRotation(2);  //Rotate the screen 180 degrees clockwise (2*90)
  display.fillEllipse(160, 100, 60, 100, YELLOW);    //Create a yellow ellipse at (160, 100) with the long axis and the short axis to 60 and 100 respectively.
  delay(1000);
  display.setRotation(1);  //Restore the screen to the default display state
  display.fillEllipse(160, 100, 60, 100, GREEN);
}

void loop() {}

setScrollRect

指定した矩形領域でテキストが溢れた場合、スクロールするようになります。

**注意:**事前にsetTextScroll(true)を実行しておく必要があります。

Syntax:

void setScrollRect(int32_t x, int32_t y, int32_t w, int32_t h)

Parameter Type 説明
x int32_t point x
y int32_t point y
w int32_t
h int32_t 高さ

Example:

#include <Arduino.h>
#include <M5GFX.h>

M5GFX display;
uint16_t x;
uint16_t y;

void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  x = display.width() / 2;
  y = display.height() / 2;
  display.setTextScroll(true);
  display.setScrollRect(x, y, x / 2, y / 2);
}

uint32_t count = 0;

void loop()
{
  display.printf("ScrollTest:%d\n", count);
  count++;
  delay(100);
}

setSwapBytes

パネルへデータを書き込む際にスワップするかどうかを設定します。

Syntax:

void setSwapBytes(bool swap)

setTextColor

Set TextColor.

Syntax:

void setTextColor(const T &color)

Parameter Type 説明
color T (*1) Base color

*1. カラーコードについて

setTextDatum

テキストを表示するときのデフォルト基準点(datum)を設定します。

Syntax:

void setTextDatum(textdatum_t datum)

Parameter Type 説明
datum textdatum_t (*1) テキスト基準点

*1. テキストの基準点(datum)について

setTextScroll

テキストスクロールを有効にします。

Syntax:

void setTextScroll(bool scroll)

Parameter Type 説明
scroll bool scroll mode

setTextSize

テキストサイズを指定します。実数で指定が可能です。

Syntax:

void setTextSize(float size) | Parameter | Type | 説明 | | ---------- | -------------- | -------------------------------- | | size | float | text size |

void setTextSize(float sx, float sy) | Parameter | Type | 説明 | | ---------- | -------------- | -------------------------------- | | sx | float | text size X | | sy | float | text size Y |

setTextStyle

テキストの書式を設定します。

Syntax:

void setTextStyle(TextStyle textstyle)

Parameter Type 説明
textstyle TextStyle (*1) Text Style

*1. About TextStyle

setTextWrap

X軸は文字列の折返しをするかどうか、Y軸は画面下部まで表示したあと上に戻るかどうかを指定します。

Syntax:

void setTextWrap(bool wrapX, bool wrapY = false)

Parameter Type 説明
wrapX bool wrap X
wrapY bool wrap Y
#include <Arduino.h>
#include <M5GFX.h>

M5GFX display;

void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  display.setTextWrap(true, true); // <- Change Value
  
}

uint32_t count = 0;

void loop()
{
  display.printf("wrap--------------------------------------------:%d\n", count);
  count++;
  delay(100);
}

setTouchCalibrate

calibrateTouch() で取得したタッチパネルのキャリブレーション値を設定します。

Syntax:

void setTouchCalibrate(uint16_t *parameters)

Parameter Type 説明
parameters uint16_t* uint16_t[8]

setWindow

writePixels() , pushPixels() , pushBlock() 等の描画先となる範囲を指定します。

注意: setAddrWindow() と同じですが、引数が違います。
setAddrWindowは画面外へのはみ出しはチェックしますが、setWindowはチェックしません。

Syntax:

void setWindow(uint_fast16_t xs, uint_fast16_t ys, uint_fast16_t xe, uint_fast16_t ye)

Parameter Type 説明
xs uint_fast16_t 始点 x
ys uint_fast16_t 始点 y
xe uint_fast16_t 終点 x
ye uint_fast16_t 終点 y

showFont

Display the specified time font.

Syntax:

void showFont(uint32_t msec)

Parameter Type 説明
msec uint32_t display time(msec)

sleep

パネルをスリープします。 起動は wakeup() を使います。

Syntax:

void sleep()

startWrite

SPIバスのCSをアサートします。 endWrite() と対で使用します。startWrite()をパネル描画の際に明示的に記述することによりDMAバッファを効率的に使用することが可能になります。

注意:
startWrite()を実行中にSDカードへのアクセスを行うと予期せぬ動作をすることがあるので排他制御が必要です。

Syntax:

void startWrite()

swap565

M5Canvas上の描画データは、カラーコードがスワップしています。そのためgetBuffer()で取得したデータを扱う場合にswap565を利用します。

Syntax:

uint16_t swap565(uint8_t r, uint8_t g, uint8_t b)

swap888

M5Canvas上の描画データは、カラーコードがスワップしています。そのためgetBuffer()で取得したデータを扱う場合にswap888を利用します。

Syntax:

uint32_t swap888(uint8_t r, uint8_t g, uint8_t b)

t - z

textLength

指定した幅に、指定した文字列のうち表示可能な文字数を取得します。

Syntax:

int32_t textLength(const char *string, int32_t width)

Parameter Type 説明
string const char* 文字列
width int32_t

textWidth

パネルに文字列を表示したときの表示幅(pixel)を取得します。フォントを省略するとデフォルトフォントで計算します。

Syntax:

uint32_t textWidth(const char *string)

Parameter Type 説明
string const char* 文字列

uint32_t textWidth(const char *string, IFont *font)

Parameter Type 説明
string const char* 文字列
font IFont (*1) font

#1. フォント一覧

touch

タッチデバイスが有効な場合、ITouchポインタを返します。

Syntax:

ITouch* touch()

unloadFont

setFont() で設定されたフォントを、アンロードして初期値に戻します。(&fonts::Font0)

Syntax:

void unloadFont()

waitDisplay

パネルの描画が終わるまで待機します。

Syntax:

void waitDisplay()

waitDMA

DMAが使用中の場合待機します。

Syntax:

void waitDMA()

wakeup

sleep() でスリープした状態のパネルを起動します。

Syntax:

void wakeup()

width

パネルの幅を返します。

Syntax:

int32_t width()

writeColor

setWindow() で設定した矩形領域に指定した色を行方向に指定された長さ描画していきます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

void writeColor(const T &color, uint32_t length)

Parameter Type 説明
color const T& 色(*1)
length uint32_t 描画する長さ

*1. カラーコードについて

#include <Arduino.h>
#include <M5GFX.h>

M5GFX display;
int32_t x;
int32_t y;

void setup()
{
  display.begin();
  display.fillScreen(TFT_BLACK);
  
  x = display.width() / 2;
  y = display.height() / 2;
  
  display.startWrite();
  display.setWindow(0, 0, x - 1 , y);
  for (int i=0; i<y; i++) {
    display.writeColor(TFT_RED, x / 4);
    display.writeColor(TFT_BLUE, x / 4);
    display.writeColor(TFT_GREEN, x / 4);
    display.writeColor(TFT_YELLOW, x / 4);
  }
  display.endWrite();
}


void loop()
{
}

writeCommand16

パネルに16bitのコマンドを書き込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeCommand(uint16_t cmd)

writeData16

パネルに16bitデータを書き込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeCommand(uint16_t data)

writeData32

パネルに32bitデータを書き込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeCommand(uint32_t data)

writeData

パネルに8bitデータを書き込みます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeCommand(uint8_t data)

writeFastHLine

水平方向の線を描きます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeFastHLine(int32_t x, int32_t y, int32_t w)

writeFastVLine

垂直方向の線を描きます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeFastVLine(int32_t x, int32_t y, int32_t h)

writeFillRect

矩形を描きます。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writefillRect(int32_t x, int32_t y, int32_t w, int32_t h)

writeIndexedPixels

カラーパレット情報を利用して画像データを描画します。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writeIndexedPixels(const uint8_t* data, T* palette, int32_t len, uint8_t depth = 8)

Parameter Type 説明
data const uint8_t* 画像データ
palette T* パレット情報
len int32_t データ長
depth uint8_t Color Depth

writePixel

指定座標に点を描画します。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writePixel(int32_t x, int32_t y, const T& color)

Parameter Type 説明
x int32_t x
y int32_t y
color const T& 色(*1)

writePixels

setWindow() , setAddrWindos() で設定された領域に画像データをpushします。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writePixels(T* data, int32_t len)

Parameter Type 説明
data T* Image data
len int32_t Data length

void writePixels(T* data, int32_t len, bool swap)

Parameter Type 説明
data T* Image data
len int32_t Data length
swap bool Swap bytes

writePixelsDMA

setWindow() , setAddrWindos() で設定した矩形領域に画像データを指定された長さだけDMA転送します。矩形領域の左上から描画が始まります。

補足: startWrite() , endWrite() と組み合わせて使用します。詳しくは draw/push系とwrite系の関数の違いについて を参照してください。

Syntax:

void writePixelsDMA(T* data, int32_t len)

Parameter Type 説明
data T* Image data
len int32_t Data length

void writePixelsDMA(T* data, int32_t len, bool swap)

Parameter Type 説明
data T* Image data
len int32_t Data length
swap bool Swap bytes
On This Page