summaryrefslogtreecommitdiffstats
path: root/screen_ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'screen_ui.h')
-rw-r--r--screen_ui.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/screen_ui.h b/screen_ui.h
index 80051724b..14b91385d 100644
--- a/screen_ui.h
+++ b/screen_ui.h
@@ -53,16 +53,24 @@ class ScreenRecoveryUI : public RecoveryUI {
int SelectMenu(int sel);
void EndMenu();
+ void Redraw();
+
+ enum UIElement { HEADER, MENU, MENU_SEL_BG, MENU_SEL_FG, LOG, TEXT_FILL };
+ virtual void SetColor(UIElement e);
+
+ protected:
+ int install_overlay_offset_x, install_overlay_offset_y;
+
private:
Icon currentIcon;
int installingFrame;
+ const char* locale;
bool rtl_locale;
pthread_mutex_t updateMutex;
gr_surface backgroundIcon[5];
gr_surface backgroundText[5];
- gr_surface *installationOverlay;
- gr_surface *progressBarIndeterminate;
+ gr_surface *installation;
gr_surface progressBarEmpty;
gr_surface progressBarFill;
@@ -76,7 +84,7 @@ class ScreenRecoveryUI : public RecoveryUI {
bool pagesIdentical;
static const int kMaxCols = 96;
- static const int kMaxRows = 32;
+ static const int kMaxRows = 96;
// Log text overlay, displayed when a magic key is pressed
char text[kMaxRows][kMaxCols];
@@ -92,15 +100,13 @@ class ScreenRecoveryUI : public RecoveryUI {
pthread_t progress_t;
int animation_fps;
- int indeterminate_frames;
int installing_frames;
- int install_overlay_offset_x, install_overlay_offset_y;
- int overlay_offset_x, overlay_offset_y;
+
+ int iconX, iconY;
void draw_install_overlay_locked(int frame);
void draw_background_locked(Icon icon);
void draw_progress_locked();
- void draw_text_line(int row, const char* t);
void draw_screen_locked();
void update_screen_locked();
void update_progress_locked();
@@ -108,6 +114,7 @@ class ScreenRecoveryUI : public RecoveryUI {
void progress_loop();
void LoadBitmap(const char* filename, gr_surface* surface);
+ void LoadBitmapArray(const char* filename, int* frames, gr_surface** surface);
void LoadLocalizedBitmap(const char* filename, gr_surface* surface);
};