summaryrefslogtreecommitdiffstats
path: root/wear_ui.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--wear_ui.h74
1 files changed, 16 insertions, 58 deletions
diff --git a/wear_ui.h b/wear_ui.h
index e2d6fe072..9351d4166 100644
--- a/wear_ui.h
+++ b/wear_ui.h
@@ -23,39 +23,22 @@ class WearRecoveryUI : public ScreenRecoveryUI {
public:
WearRecoveryUI();
- void Init();
- // overall recovery state ("background image")
- void SetBackground(Icon icon);
+ void Init() override;
- // progress indicator
- void SetProgressType(ProgressType type);
- void ShowProgress(float portion, float seconds);
- void SetProgress(float fraction);
-
- void SetStage(int current, int max);
-
- // text log
- void ShowText(bool visible);
- bool IsTextVisible();
- bool WasTextEverVisible();
+ void SetStage(int current, int max) override;
// printing messages
- void Print(const char* fmt, ...);
- void PrintOnScreenOnly(const char* fmt, ...) __printflike(2, 3);
- void ShowFile(const char* filename);
- void ShowFile(FILE* fp);
+ void Print(const char* fmt, ...) override;
+ void PrintOnScreenOnly(const char* fmt, ...) override __printflike(2, 3);
+ void ShowFile(const char* filename) override;
+ void ShowFile(FILE* fp) override;
// menu display
void StartMenu(const char* const * headers, const char* const * items,
- int initial_selection);
- int SelectMenu(int sel);
- void EndMenu();
-
- void Redraw();
+ int initial_selection) override;
+ int SelectMenu(int sel) override;
protected:
- int progress_bar_height, progress_bar_width;
-
// progress bar vertical position, it's centered horizontally
int progress_bar_y;
@@ -67,59 +50,34 @@ class WearRecoveryUI : public ScreenRecoveryUI {
// that may otherwise go out of the screen.
int menu_unusable_rows;
- // number of intro frames (default: 22) and loop frames (default: 60)
- int intro_frames;
- int loop_frames;
-
- // Number of frames per sec (default: 30) for both of intro and loop.
- int animation_fps;
+ int GetProgressBaseline() override;
- private:
- Icon currentIcon;
+ void InitTextParams() override;
- bool intro_done;
+ void update_progress_locked() override;
- int current_frame;
+ void PrintV(const char*, bool, va_list) override;
+ private:
GRSurface* backgroundIcon[5];
- GRSurface* *introFrames;
- GRSurface* *loopFrames;
-
- ProgressType progressBarType;
-
- float progressScopeStart, progressScopeSize, progress;
- double progressScopeTime, progressScopeDuration;
static const int kMaxCols = 96;
static const int kMaxRows = 96;
- // Log text overlay, displayed when a magic key is pressed
- char text[kMaxRows][kMaxCols];
- size_t text_cols, text_rows;
// Number of text rows seen on screen
int visible_text_rows;
- size_t text_col, text_row, text_top;
- bool show_text;
- bool show_text_ever; // has show_text ever been true?
- char menu[kMaxRows][kMaxCols];
- bool show_menu;
const char* const* menu_headers_;
- int menu_items, menu_sel;
int menu_start, menu_end;
pthread_t progress_t;
- private:
- void draw_background_locked(Icon icon);
+ void draw_background_locked() override;
+ void draw_screen_locked() override;
void draw_progress_locked();
- void draw_screen_locked();
- void update_screen_locked();
- static void* progress_thread(void* cookie);
- void progress_loop();
+
void PutChar(char);
void ClearText();
- void PrintV(const char*, bool, va_list);
};
#endif // RECOVERY_WEAR_UI_H