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@google.com>2014-03-11 14:40:04 -0700
commit16f97c3961f08e5db7930d99e592f0a9f752df46 (patch)
tree5d3e2eb928250e33d7b6580e0ac80fd2404898ab /screen_ui.cpp
parent8f087d024619467de8609656e8a14370f24b817c (diff)
downloadbootable_recovery-16f97c3961f08e5db7930d99e592f0a9f752df46.tar.gz
bootable_recovery-16f97c3961f08e5db7930d99e592f0a9f752df46.tar.bz2
bootable_recovery-16f97c3961f08e5db7930d99e592f0a9f752df46.zip
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 Conflicts: minui/resources.c
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 38b21f8..589c935 100644
--- a/screen_ui.cpp
+++ b/screen_ui.cpp
@@ -84,7 +84,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];
@@ -187,12 +187,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;