Loading screen_ui.cpp +18 −18 Original line number Diff line number Diff line Loading @@ -40,8 +40,7 @@ #include "screen_ui.h" #include "ui.h" static int char_width; static int char_height; #define TEXT_INDENT 4 // Return the current time as a double (including fractions of a second). static double now() { Loading Loading @@ -213,14 +212,14 @@ void ScreenRecoveryUI::DrawHorizontalRule(int* y) { *y += 4; } void ScreenRecoveryUI::DrawTextLine(int* y, const char* line, bool bold) { gr_text(4, *y, line, bold); *y += char_height + 4; void ScreenRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) { gr_text(x, *y, line, bold); *y += char_height_ + 4; } void ScreenRecoveryUI::DrawTextLines(int* y, const char* const* lines) { void ScreenRecoveryUI::DrawTextLines(int x, int* y, const char* const* lines) { for (size_t i = 0; lines != nullptr && lines[i] != nullptr; ++i) { DrawTextLine(y, lines[i], false); DrawTextLine(x, y, lines[i], false); } } Loading Loading @@ -251,14 +250,15 @@ void ScreenRecoveryUI::draw_screen_locked() { property_get("ro.bootimage.build.fingerprint", recovery_fingerprint, ""); SetColor(INFO); DrawTextLine(&y, "Android Recovery", true); DrawTextLine(TEXT_INDENT, &y, "Android Recovery", true); for (auto& chunk : android::base::Split(recovery_fingerprint, ":")) { DrawTextLine(&y, chunk.c_str(), false); DrawTextLine(TEXT_INDENT, &y, chunk.c_str(), false); } DrawTextLines(&y, HasThreeButtons() ? REGULAR_HELP : LONG_PRESS_HELP); DrawTextLines(TEXT_INDENT, &y, HasThreeButtons() ? REGULAR_HELP : LONG_PRESS_HELP); SetColor(HEADER); DrawTextLines(&y, menu_headers_); DrawTextLines(TEXT_INDENT, &y, menu_headers_); SetColor(MENU); DrawHorizontalRule(&y); Loading @@ -267,7 +267,7 @@ void ScreenRecoveryUI::draw_screen_locked() { if (i == menu_sel) { // Draw the highlight bar. SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG); gr_fill(0, y - 2, gr_fb_width(), y + char_height + 2); gr_fill(0, y - 2, gr_fb_width(), y + char_height_ + 2); // Bold white text for the selected item. SetColor(MENU_SEL_FG); gr_text(4, y, menu_[i], true); Loading @@ -275,7 +275,7 @@ void ScreenRecoveryUI::draw_screen_locked() { } else { gr_text(4, y, menu_[i], false); } y += char_height + 4; y += char_height_ + 4; } DrawHorizontalRule(&y); } Loading @@ -286,9 +286,9 @@ void ScreenRecoveryUI::draw_screen_locked() { SetColor(LOG); int row = (text_top_ + text_rows_ - 1) % text_rows_; size_t count = 0; for (int ty = gr_fb_height() - char_height; for (int ty = gr_fb_height() - char_height_; ty >= y && count < text_rows_; ty -= char_height, ++count) { ty -= char_height_, ++count) { gr_text(0, ty, text_[row], false); --row; if (row < 0) row = text_rows_ - 1; Loading Loading @@ -394,9 +394,9 @@ static char** Alloc2d(size_t rows, size_t cols) { void ScreenRecoveryUI::Init() { gr_init(); gr_font_size(&char_width, &char_height); text_rows_ = gr_fb_height() / char_height; text_cols_ = gr_fb_width() / char_width; gr_font_size(&char_width_, &char_height_); text_rows_ = gr_fb_height() / char_height_; text_cols_ = gr_fb_width() / char_width_; text_ = Alloc2d(text_rows_, text_cols_ + 1); file_viewer_text_ = Alloc2d(text_rows_, text_cols_ + 1); Loading screen_ui.h +4 −2 Original line number Diff line number Diff line Loading @@ -131,15 +131,17 @@ class ScreenRecoveryUI : public RecoveryUI { void ClearText(); void DrawHorizontalRule(int* y); void DrawTextLine(int* y, const char* line, bool bold); void DrawTextLines(int* y, const char* const* lines); void LoadBitmapArray(const char* filename, int* frames, int* fps, GRSurface*** surface); void LoadLocalizedBitmap(const char* filename, GRSurface** surface); protected: int char_width_; int char_height_; pthread_mutex_t updateMutex; bool rtl_locale; void LoadBitmap(const char* filename, GRSurface** surface); void DrawTextLine(int x, int* y, const char* line, bool bold); void DrawTextLines(int x, int* y, const char* const* lines); }; #endif // RECOVERY_UI_H wear_ui.cpp +9 −47 Original line number Diff line number Diff line Loading @@ -34,9 +34,6 @@ #include "android-base/strings.h" #include "android-base/stringprintf.h" static int char_width; static int char_height; // There's only (at most) one of these objects, and global callbacks // (for pthread_create, and the input event system) need to find it, // so use a global variable. Loading Loading @@ -143,41 +140,6 @@ void WearRecoveryUI::draw_progress_locked() } } void WearRecoveryUI::SetColor(UIElement e) { switch (e) { case HEADER: gr_color(247, 0, 6, 255); break; case MENU: case MENU_SEL_BG: gr_color(0, 106, 157, 255); break; case MENU_SEL_FG: gr_color(255, 255, 255, 255); break; case LOG: gr_color(249, 194, 0, 255); break; case TEXT_FILL: gr_color(0, 0, 0, 160); break; default: gr_color(255, 255, 255, 255); break; } } void WearRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) { gr_text(x, *y, line, bold); *y += char_height + 4; } void WearRecoveryUI::DrawTextLines(int x, int* y, const char* const* lines) { for (size_t i = 0; lines != nullptr && lines[i] != nullptr; ++i) { DrawTextLine(x, y, lines[i], false); } } static const char* HEADERS[] = { "Swipe up/down to move.", "Swipe left/right to select.", Loading Loading @@ -216,7 +178,7 @@ void WearRecoveryUI::draw_screen_locked() if (menu_items > menu_end - menu_start) { sprintf(cur_selection_str, "Current item: %d/%d", menu_sel + 1, menu_items); gr_text(x+4, y, cur_selection_str, 1); y += char_height+4; y += char_height_+4; } // Menu begins here Loading @@ -227,7 +189,7 @@ void WearRecoveryUI::draw_screen_locked() if (i == menu_sel) { // draw the highlight bar SetColor(MENU_SEL_BG); gr_fill(x, y-2, gr_fb_width()-x, y+char_height+2); gr_fill(x, y-2, gr_fb_width()-x, y+char_height_+2); // white text of selected item SetColor(MENU_SEL_FG); if (menu[i][0]) gr_text(x+4, y, menu[i], 1); Loading @@ -235,7 +197,7 @@ void WearRecoveryUI::draw_screen_locked() } else { if (menu[i][0]) gr_text(x+4, y, menu[i], 0); } y += char_height+4; y += char_height_+4; } SetColor(MENU); y += 4; Loading @@ -251,9 +213,9 @@ void WearRecoveryUI::draw_screen_locked() int ty; int row = (text_top+text_rows-1) % text_rows; size_t count = 0; for (int ty = gr_fb_height() - char_height - outer_height; for (int ty = gr_fb_height() - char_height_ - outer_height; ty > y+2 && count < text_rows; ty -= char_height, ++count) { ty -= char_height_, ++count) { gr_text(x+4, ty, text[row], 0); --row; if (row < 0) row = text_rows-1; Loading Loading @@ -323,15 +285,15 @@ void WearRecoveryUI::Init() { gr_init(); gr_font_size(&char_width, &char_height); gr_font_size(&char_width_, &char_height_); text_col = text_row = 0; text_rows = (gr_fb_height()) / char_height; visible_text_rows = (gr_fb_height() - (outer_height * 2)) / char_height; text_rows = (gr_fb_height()) / char_height_; visible_text_rows = (gr_fb_height() - (outer_height * 2)) / char_height_; if (text_rows > kMaxRows) text_rows = kMaxRows; text_top = 1; text_cols = (gr_fb_width() - (outer_width * 2)) / char_width; text_cols = (gr_fb_width() - (outer_width * 2)) / char_width_; if (text_cols > kMaxCols - 1) text_cols = kMaxCols - 1; LoadBitmap("icon_installing", &backgroundIcon[INSTALLING_UPDATE]); Loading wear_ui.h +0 −5 Original line number Diff line number Diff line Loading @@ -53,9 +53,6 @@ class WearRecoveryUI : public ScreenRecoveryUI { void Redraw(); enum UIElement { HEADER, MENU, MENU_SEL_BG, MENU_SEL_FG, LOG, TEXT_FILL }; virtual void SetColor(UIElement e); protected: int progress_bar_height, progress_bar_width; Loading Loading @@ -122,8 +119,6 @@ class WearRecoveryUI : public ScreenRecoveryUI { void progress_loop(); void PutChar(char); void ClearText(); void DrawTextLine(int x, int* y, const char* line, bool bold); void DrawTextLines(int x, int* y, const char* const* lines); void PrintV(const char*, bool, va_list); }; Loading Loading
screen_ui.cpp +18 −18 Original line number Diff line number Diff line Loading @@ -40,8 +40,7 @@ #include "screen_ui.h" #include "ui.h" static int char_width; static int char_height; #define TEXT_INDENT 4 // Return the current time as a double (including fractions of a second). static double now() { Loading Loading @@ -213,14 +212,14 @@ void ScreenRecoveryUI::DrawHorizontalRule(int* y) { *y += 4; } void ScreenRecoveryUI::DrawTextLine(int* y, const char* line, bool bold) { gr_text(4, *y, line, bold); *y += char_height + 4; void ScreenRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) { gr_text(x, *y, line, bold); *y += char_height_ + 4; } void ScreenRecoveryUI::DrawTextLines(int* y, const char* const* lines) { void ScreenRecoveryUI::DrawTextLines(int x, int* y, const char* const* lines) { for (size_t i = 0; lines != nullptr && lines[i] != nullptr; ++i) { DrawTextLine(y, lines[i], false); DrawTextLine(x, y, lines[i], false); } } Loading Loading @@ -251,14 +250,15 @@ void ScreenRecoveryUI::draw_screen_locked() { property_get("ro.bootimage.build.fingerprint", recovery_fingerprint, ""); SetColor(INFO); DrawTextLine(&y, "Android Recovery", true); DrawTextLine(TEXT_INDENT, &y, "Android Recovery", true); for (auto& chunk : android::base::Split(recovery_fingerprint, ":")) { DrawTextLine(&y, chunk.c_str(), false); DrawTextLine(TEXT_INDENT, &y, chunk.c_str(), false); } DrawTextLines(&y, HasThreeButtons() ? REGULAR_HELP : LONG_PRESS_HELP); DrawTextLines(TEXT_INDENT, &y, HasThreeButtons() ? REGULAR_HELP : LONG_PRESS_HELP); SetColor(HEADER); DrawTextLines(&y, menu_headers_); DrawTextLines(TEXT_INDENT, &y, menu_headers_); SetColor(MENU); DrawHorizontalRule(&y); Loading @@ -267,7 +267,7 @@ void ScreenRecoveryUI::draw_screen_locked() { if (i == menu_sel) { // Draw the highlight bar. SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG); gr_fill(0, y - 2, gr_fb_width(), y + char_height + 2); gr_fill(0, y - 2, gr_fb_width(), y + char_height_ + 2); // Bold white text for the selected item. SetColor(MENU_SEL_FG); gr_text(4, y, menu_[i], true); Loading @@ -275,7 +275,7 @@ void ScreenRecoveryUI::draw_screen_locked() { } else { gr_text(4, y, menu_[i], false); } y += char_height + 4; y += char_height_ + 4; } DrawHorizontalRule(&y); } Loading @@ -286,9 +286,9 @@ void ScreenRecoveryUI::draw_screen_locked() { SetColor(LOG); int row = (text_top_ + text_rows_ - 1) % text_rows_; size_t count = 0; for (int ty = gr_fb_height() - char_height; for (int ty = gr_fb_height() - char_height_; ty >= y && count < text_rows_; ty -= char_height, ++count) { ty -= char_height_, ++count) { gr_text(0, ty, text_[row], false); --row; if (row < 0) row = text_rows_ - 1; Loading Loading @@ -394,9 +394,9 @@ static char** Alloc2d(size_t rows, size_t cols) { void ScreenRecoveryUI::Init() { gr_init(); gr_font_size(&char_width, &char_height); text_rows_ = gr_fb_height() / char_height; text_cols_ = gr_fb_width() / char_width; gr_font_size(&char_width_, &char_height_); text_rows_ = gr_fb_height() / char_height_; text_cols_ = gr_fb_width() / char_width_; text_ = Alloc2d(text_rows_, text_cols_ + 1); file_viewer_text_ = Alloc2d(text_rows_, text_cols_ + 1); Loading
screen_ui.h +4 −2 Original line number Diff line number Diff line Loading @@ -131,15 +131,17 @@ class ScreenRecoveryUI : public RecoveryUI { void ClearText(); void DrawHorizontalRule(int* y); void DrawTextLine(int* y, const char* line, bool bold); void DrawTextLines(int* y, const char* const* lines); void LoadBitmapArray(const char* filename, int* frames, int* fps, GRSurface*** surface); void LoadLocalizedBitmap(const char* filename, GRSurface** surface); protected: int char_width_; int char_height_; pthread_mutex_t updateMutex; bool rtl_locale; void LoadBitmap(const char* filename, GRSurface** surface); void DrawTextLine(int x, int* y, const char* line, bool bold); void DrawTextLines(int x, int* y, const char* const* lines); }; #endif // RECOVERY_UI_H
wear_ui.cpp +9 −47 Original line number Diff line number Diff line Loading @@ -34,9 +34,6 @@ #include "android-base/strings.h" #include "android-base/stringprintf.h" static int char_width; static int char_height; // There's only (at most) one of these objects, and global callbacks // (for pthread_create, and the input event system) need to find it, // so use a global variable. Loading Loading @@ -143,41 +140,6 @@ void WearRecoveryUI::draw_progress_locked() } } void WearRecoveryUI::SetColor(UIElement e) { switch (e) { case HEADER: gr_color(247, 0, 6, 255); break; case MENU: case MENU_SEL_BG: gr_color(0, 106, 157, 255); break; case MENU_SEL_FG: gr_color(255, 255, 255, 255); break; case LOG: gr_color(249, 194, 0, 255); break; case TEXT_FILL: gr_color(0, 0, 0, 160); break; default: gr_color(255, 255, 255, 255); break; } } void WearRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) { gr_text(x, *y, line, bold); *y += char_height + 4; } void WearRecoveryUI::DrawTextLines(int x, int* y, const char* const* lines) { for (size_t i = 0; lines != nullptr && lines[i] != nullptr; ++i) { DrawTextLine(x, y, lines[i], false); } } static const char* HEADERS[] = { "Swipe up/down to move.", "Swipe left/right to select.", Loading Loading @@ -216,7 +178,7 @@ void WearRecoveryUI::draw_screen_locked() if (menu_items > menu_end - menu_start) { sprintf(cur_selection_str, "Current item: %d/%d", menu_sel + 1, menu_items); gr_text(x+4, y, cur_selection_str, 1); y += char_height+4; y += char_height_+4; } // Menu begins here Loading @@ -227,7 +189,7 @@ void WearRecoveryUI::draw_screen_locked() if (i == menu_sel) { // draw the highlight bar SetColor(MENU_SEL_BG); gr_fill(x, y-2, gr_fb_width()-x, y+char_height+2); gr_fill(x, y-2, gr_fb_width()-x, y+char_height_+2); // white text of selected item SetColor(MENU_SEL_FG); if (menu[i][0]) gr_text(x+4, y, menu[i], 1); Loading @@ -235,7 +197,7 @@ void WearRecoveryUI::draw_screen_locked() } else { if (menu[i][0]) gr_text(x+4, y, menu[i], 0); } y += char_height+4; y += char_height_+4; } SetColor(MENU); y += 4; Loading @@ -251,9 +213,9 @@ void WearRecoveryUI::draw_screen_locked() int ty; int row = (text_top+text_rows-1) % text_rows; size_t count = 0; for (int ty = gr_fb_height() - char_height - outer_height; for (int ty = gr_fb_height() - char_height_ - outer_height; ty > y+2 && count < text_rows; ty -= char_height, ++count) { ty -= char_height_, ++count) { gr_text(x+4, ty, text[row], 0); --row; if (row < 0) row = text_rows-1; Loading Loading @@ -323,15 +285,15 @@ void WearRecoveryUI::Init() { gr_init(); gr_font_size(&char_width, &char_height); gr_font_size(&char_width_, &char_height_); text_col = text_row = 0; text_rows = (gr_fb_height()) / char_height; visible_text_rows = (gr_fb_height() - (outer_height * 2)) / char_height; text_rows = (gr_fb_height()) / char_height_; visible_text_rows = (gr_fb_height() - (outer_height * 2)) / char_height_; if (text_rows > kMaxRows) text_rows = kMaxRows; text_top = 1; text_cols = (gr_fb_width() - (outer_width * 2)) / char_width; text_cols = (gr_fb_width() - (outer_width * 2)) / char_width_; if (text_cols > kMaxCols - 1) text_cols = kMaxCols - 1; LoadBitmap("icon_installing", &backgroundIcon[INSTALLING_UPDATE]); Loading
wear_ui.h +0 −5 Original line number Diff line number Diff line Loading @@ -53,9 +53,6 @@ class WearRecoveryUI : public ScreenRecoveryUI { void Redraw(); enum UIElement { HEADER, MENU, MENU_SEL_BG, MENU_SEL_FG, LOG, TEXT_FILL }; virtual void SetColor(UIElement e); protected: int progress_bar_height, progress_bar_width; Loading Loading @@ -122,8 +119,6 @@ class WearRecoveryUI : public ScreenRecoveryUI { void progress_loop(); void PutChar(char); void ClearText(); void DrawTextLine(int x, int* y, const char* line, bool bold); void DrawTextLines(int x, int* y, const char* const* lines); void PrintV(const char*, bool, va_list); }; Loading