aboutsummaryrefslogtreecommitdiffstats
path: root/screen_ui.cpp
diff options
context:
space:
mode:
authorDoug Zongker <dougz@android.com>2014-03-06 16:16:05 -0800
committerDoug Zongker <dougz@android.com>2014-03-11 11:10:00 -0700
commit39cf417e17011a72dd39acfe4cc8c90af26bdbaf (patch)
treeba41f425926bfe68baf488f8ae5b0044c2a19f73 /screen_ui.cpp
parenteac881c952fc6be0beeb5f719e3a70e651f3610e (diff)
downloadbootable_recovery-39cf417e17011a72dd39acfe4cc8c90af26bdbaf.zip
bootable_recovery-39cf417e17011a72dd39acfe4cc8c90af26bdbaf.tar.gz
bootable_recovery-39cf417e17011a72dd39acfe4cc8c90af26bdbaf.tar.bz2
remove pixelflinger from recovery
Recovery now draws directly to the framebuffer by rolling its own graphics code, rather than depending on libpixelflinger. The recovery UI is modified slightly to eliminate operations that are slow with the software implementation: when the text display / menu is turned on, it now appears on a black background instead of a dimmed version of the recovery icon. There's probably substantial room for optimization of the graphics operations. Bug: 12131110 Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595
Diffstat (limited to 'screen_ui.cpp')
-rw-r--r--screen_ui.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/screen_ui.cpp b/screen_ui.cpp
index a72da58..c87c00c 100644
--- a/screen_ui.cpp
+++ b/screen_ui.cpp
@@ -87,7 +87,7 @@ void ScreenRecoveryUI::draw_background_locked(Icon icon)
{
pagesIdentical = false;
gr_color(0, 0, 0, 255);
- gr_fill(0, 0, gr_fb_width(), gr_fb_height());
+ gr_clear();
if (icon) {
gr_surface surface = backgroundIcon[icon];
@@ -203,12 +203,12 @@ void ScreenRecoveryUI::SetColor(UIElement e) {
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::draw_screen_locked()
{
- draw_background_locked(currentIcon);
- draw_progress_locked();
-
- if (show_text) {
- SetColor(TEXT_FILL);
- gr_fill(0, 0, gr_fb_width(), gr_fb_height());
+ if (!show_text) {
+ draw_background_locked(currentIcon);
+ draw_progress_locked();
+ } else {
+ gr_color(0, 0, 0, 255);
+ gr_clear();
int y = 0;
int i = 0;