Refresh rework
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include "../TouchEvents.h"
|
||||
#include <lvgl/lvgl.h>
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
@@ -34,25 +35,20 @@ namespace Pinetime {
|
||||
};
|
||||
|
||||
class Screen {
|
||||
private:
|
||||
virtual void Refresh() {
|
||||
}
|
||||
|
||||
public:
|
||||
explicit Screen(DisplayApp* app) : app {app} {
|
||||
}
|
||||
virtual ~Screen() = default;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
static void RefreshTaskCallback(lv_task_t* task);
|
||||
|
||||
bool IsRunning() const {
|
||||
return running;
|
||||
}
|
||||
|
||||
/** @return false if the button hasn't been handled by the app, true if it has been handled */
|
||||
virtual bool OnButtonPushed() {
|
||||
|
||||
Reference in New Issue
Block a user