16. Уведомления, toast, ошибки
16.1. Toast
ui.showToast()
.text("Saved")
.icon(error)
.pos(top); // `top` или `down`
Проверка активности: ui.toastActive()
16.2. Notification
ui.showNotification()
.text("Settings", "Changes applied")
.button("OK")
.delay(0)
.type(Normal);
Типы: Normal, Warning, Error.
16.3. Popup menu
static const char *menuItems[] = {"Edit", "Rename", "Delete"};
ui.showPopupMenu()
.items(menuItems)
.anchor(button)
.width(120);
Результат выбора:
if (ui.popupMenuHasResult()) {
int16_t picked = ui.popupMenuTakeResult();
}
16.4. Ошибки
ui.showError()
.message("Low battery")
.code("0xLOWBAT")
.type(Warning)
.button("OK");
17. Скриншоты
17.1. Build-time флаги
PIPGUI_SCREENSHOTS(1 по умолчанию)PIPGUI_SCREENSHOT_MODE(1 - serial capture, 2 - LittleFS)
17.2. Serial capture
python tools/screenshots/bin/capture.py --port COM9 --baud 1000000
17.4. Запуск скриншота
bool started = ui.startScreenshot();
Встроенный ярлык: удержание Next + Prev.
17.5. Галерея миниатюр
ui.drawScreenshot()
.pos(8, 28)
.size(224, 284)
.grid(3, 5);