aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/screens')
-rw-r--r--src/displayapp/screens/InfiniPaint.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/displayapp/screens/InfiniPaint.cpp b/src/displayapp/screens/InfiniPaint.cpp
index 1d6be979..958d7939 100644
--- a/src/displayapp/screens/InfiniPaint.cpp
+++ b/src/displayapp/screens/InfiniPaint.cpp
@@ -61,12 +61,17 @@ bool InfiniPaint::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
}
bool InfiniPaint::OnTouchEvent(uint16_t x, uint16_t y) {
+ // If currently scrolling in or out of InfiniPaint, don't paint anything!
+ // Since InfiniPaint writes directly to the display bypassing LVGL, painting
+ // while scrolling is happening causes bad behaviour
+ if (lvgl.IsScrolling()) {
+ return false;
+ }
lv_area_t area;
area.x1 = x - (width / 2);
area.y1 = y - (height / 2);
area.x2 = x + (width / 2) - 1;
area.y2 = y + (height / 2) - 1;
- lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::None);
lvgl.FlushDisplay(&area, b);
return true;
}