summaryrefslogtreecommitdiff
path: root/src/displayapp
diff options
context:
space:
mode:
authorJF002 <JF002@users.noreply.github.com>2020-10-11 17:05:01 +0200
committerGitHub <noreply@github.com>2020-10-11 17:05:01 +0200
commitda73938f4d3fe04cc116bdb4d4885c5916aacb0e (patch)
tree183422265545e6db4e20a7b263a505d3f59f729c /src/displayapp
parentbb72712d376685143b57d321c6f967cbbca4c28e (diff)
parentfd110dabe82f100550a7538c0e3eb3a439c9a7d2 (diff)
Merge pull request #82 from Avamander/patch-6
Minor formatting, diagnostic and documentation changes
Diffstat (limited to 'src/displayapp')
-rw-r--r--src/displayapp/screens/InfiniPaint.cpp12
-rw-r--r--src/displayapp/screens/InfiniPaint.h40
-rw-r--r--src/displayapp/screens/Screen.h18
3 files changed, 43 insertions, 27 deletions
diff --git a/src/displayapp/screens/InfiniPaint.cpp b/src/displayapp/screens/InfiniPaint.cpp
index b340f5d8..3ea75e9e 100644
--- a/src/displayapp/screens/InfiniPaint.cpp
+++ b/src/displayapp/screens/InfiniPaint.cpp
@@ -7,9 +7,9 @@ using namespace Pinetime::Applications::Screens;
extern lv_font_t jetbrains_mono_extrabold_compressed;
extern lv_font_t jetbrains_mono_bold_20;
-InfiniPaint::InfiniPaint(Pinetime::Applications::DisplayApp *app, Pinetime::Components::LittleVgl& lvgl) : Screen(app), lvgl{lvgl} {
+InfiniPaint::InfiniPaint(Pinetime::Applications::DisplayApp* app, Pinetime::Components::LittleVgl& lvgl) : Screen(app), lvgl{lvgl} {
app->SetTouchMode(DisplayApp::TouchModes::Polling);
- std::fill(b, b+bufferSize, LV_COLOR_WHITE);
+ std::fill(b, b + bufferSize, LV_COLOR_WHITE);
}
InfiniPaint::~InfiniPaint() {
@@ -33,10 +33,10 @@ bool InfiniPaint::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
bool InfiniPaint::OnTouchEvent(uint16_t x, uint16_t y) {
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;
+ 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;
diff --git a/src/displayapp/screens/InfiniPaint.h b/src/displayapp/screens/InfiniPaint.h
index fb4f979b..f29135d5 100644
--- a/src/displayapp/screens/InfiniPaint.h
+++ b/src/displayapp/screens/InfiniPaint.h
@@ -11,24 +11,28 @@
namespace Pinetime {
namespace Applications {
namespace Screens {
-
- class InfiniPaint : public Screen{
- public:
- InfiniPaint(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl);
- ~InfiniPaint() override;
-
- bool Refresh() override;
- bool OnButtonPushed() override;
- bool OnTouchEvent(TouchEvents event) override;
- bool OnTouchEvent(uint16_t x, uint16_t y) override;
-
- private:
- Pinetime::Components::LittleVgl& lvgl;
- static constexpr uint16_t width = 10;
- static constexpr uint16_t height = 10;
- static constexpr uint16_t bufferSize = width*height;
- lv_color_t b[bufferSize];
- bool running = true;
+
+ class InfiniPaint : public Screen {
+ public:
+ InfiniPaint(DisplayApp* app, Pinetime::Components::LittleVgl& lvgl);
+
+ ~InfiniPaint() override;
+
+ bool Refresh() override;
+
+ bool OnButtonPushed() override;
+
+ bool OnTouchEvent(TouchEvents event) override;
+
+ bool OnTouchEvent(uint16_t x, uint16_t y) override;
+
+ private:
+ Pinetime::Components::LittleVgl& lvgl;
+ static constexpr uint16_t width = 10;
+ static constexpr uint16_t height = 10;
+ static constexpr uint16_t bufferSize = width * height;
+ lv_color_t b[bufferSize];
+ bool running = true;
};
}
}
diff --git a/src/displayapp/screens/Screen.h b/src/displayapp/screens/Screen.h
index 0a17b4da..6b1d0eec 100644
--- a/src/displayapp/screens/Screen.h
+++ b/src/displayapp/screens/Screen.h
@@ -12,13 +12,25 @@ namespace Pinetime {
explicit Screen(DisplayApp* app) : app{app} {}
virtual ~Screen() = default;
- // Return false if the app can be closed, true if it must continue to run
+ /**
+ * Most of the time, apps only react to events (touch events, for example).
+ * In this case you don't need to do anything in this method.
+ *
+ * For example, InfiniPaint does nothing in Refresh().
+ * But, if you want to update your display periodically, draw an animation...
+ * you cannot do it in a touch event handler because these handlers are not
+ * called if the user does not touch the screen.
+ *
+ * That's why Refresh() is there: update the display periodically.
+ *
+ * @return false if the app can be closed, true if it must continue to run
+ **/
virtual bool Refresh() = 0;
- // Return false if the button hasn't been handled by the app, true if it has been handled
+ /** @return false if the button hasn't been handled by the app, true if it has been handled */
virtual bool OnButtonPushed() { return false; }
- // Return false if the event hasn't been handled by the app, true if it has been handled
+ /** @return false if the event hasn't been handled by the app, true if it has been handled */
virtual bool OnTouchEvent(TouchEvents event) { return false; }
virtual bool OnTouchEvent(uint16_t x, uint16_t y) { return false; }