diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-07-17 17:22:59 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-07-17 17:22:59 +1000 |
| commit | 2ab459598c60b7df0d4b0dddf4a1e7c71ae985a1 (patch) | |
| tree | 6b459f78acef7adf8737789d7d3534cccee6dd20 /src/tangara/ui/ui_fsm.cpp | |
| parent | 7012e64a14841fb018289529d08e5542e33f2151 (diff) | |
| download | tangara-fw-2ab459598c60b7df0d4b0dddf4a1e7c71ae985a1.tar.gz | |
Encode snapshots as PNGs when saving to disk
Diffstat (limited to 'src/tangara/ui/ui_fsm.cpp')
| -rw-r--r-- | src/tangara/ui/ui_fsm.cpp | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/src/tangara/ui/ui_fsm.cpp b/src/tangara/ui/ui_fsm.cpp index 4f93fe61..cd39dc9c 100644 --- a/src/tangara/ui/ui_fsm.cpp +++ b/src/tangara/ui/ui_fsm.cpp @@ -65,6 +65,7 @@ #include "ui/screen.hpp" #include "ui/screen_lua.hpp" #include "ui/screen_splash.hpp" +#include "ui/screenshot.hpp" #include "ui/ui_events.hpp" namespace ui { @@ -371,22 +372,7 @@ void UiState::react(const Screenshot& ev) { if (!sCurrentScreen) { return; } - ESP_LOGI(kTag, "taking snapshot"); - lv_draw_buf_t* buf = - lv_snapshot_take(sCurrentScreen->root(), LV_COLOR_FORMAT_RGB888); - if (!buf) { - ESP_LOGW(kTag, "snapshot failed"); - return; - } - ESP_LOGI(kTag, "writing to file"); - std::string fullpath = "//sdcard/" + ev.filename; - auto res = lv_draw_buf_save_to_file(buf, fullpath.c_str()); - lv_draw_buf_destroy(buf); - if (res == LV_RESULT_OK) { - ESP_LOGI(kTag, "write okay!"); - } else { - ESP_LOGE(kTag, "write failed!"); - } + SaveScreenshot(sCurrentScreen->root(), ev.filename); } void UiState::react(const system_fsm::KeyLockChanged& ev) { |
