Loading Android.mk +12 −0 Original line number Original line Diff line number Diff line Loading @@ -76,6 +76,7 @@ LOCAL_SRC_FILES := \ rotate_logs.cpp \ rotate_logs.cpp \ screen_ui.cpp \ screen_ui.cpp \ ui.cpp \ ui.cpp \ vr_ui.cpp \ wear_ui.cpp \ wear_ui.cpp \ wear_touch.cpp \ wear_touch.cpp \ Loading Loading @@ -182,6 +183,17 @@ LOCAL_STATIC_LIBRARIES := \ LOCAL_CFLAGS := -Werror LOCAL_CFLAGS := -Werror include $(BUILD_STATIC_LIBRARY) include $(BUILD_STATIC_LIBRARY) # vr headset default device # =============================== include $(CLEAR_VARS) LOCAL_SRC_FILES := vr_device.cpp # should match TARGET_RECOVERY_UI_LIB set in BoardConfig.mk LOCAL_MODULE := librecovery_ui_vr include $(BUILD_STATIC_LIBRARY) include \ include \ $(LOCAL_PATH)/applypatch/Android.mk \ $(LOCAL_PATH)/applypatch/Android.mk \ $(LOCAL_PATH)/boot_control/Android.mk \ $(LOCAL_PATH)/boot_control/Android.mk \ Loading screen_ui.cpp +11 −6 Original line number Original line Diff line number Diff line Loading @@ -256,6 +256,10 @@ void ScreenRecoveryUI::DrawHorizontalRule(int* y) { *y += 4; *y += 4; } } void ScreenRecoveryUI::DrawHighlightBar(int x, int y, int width, int height) const { gr_fill(x, y, x + width, y + height); } void ScreenRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) const { void ScreenRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) const { gr_text(gr_sys_font(), x, *y, line, bold); gr_text(gr_sys_font(), x, *y, line, bold); *y += char_height_ + 4; *y += char_height_ + 4; Loading Loading @@ -310,15 +314,14 @@ void ScreenRecoveryUI::draw_screen_locked() { if (i == menu_sel) { if (i == menu_sel) { // Draw the highlight bar. // Draw the highlight bar. SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG); SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG); gr_fill(0, y - 2, gr_fb_width(), y + char_height_ + 2); DrawHighlightBar(0, y - 2, gr_fb_width(), char_height_ + 4); // Bold white text for the selected item. // Bold white text for the selected item. SetColor(MENU_SEL_FG); SetColor(MENU_SEL_FG); gr_text(gr_sys_font(), 4, y, menu_[i], true); DrawTextLine(TEXT_INDENT, &y, menu_[i], true); SetColor(MENU); SetColor(MENU); } else { } else { gr_text(gr_sys_font(), 4, y, menu_[i], false); DrawTextLine(TEXT_INDENT, &y, menu_[i], false); } } y += char_height_ + 4; } } DrawHorizontalRule(&y); DrawHorizontalRule(&y); } } Loading @@ -329,10 +332,11 @@ void ScreenRecoveryUI::draw_screen_locked() { SetColor(LOG); SetColor(LOG); int row = (text_top_ + text_rows_ - 1) % text_rows_; int row = (text_top_ + text_rows_ - 1) % text_rows_; size_t count = 0; size_t count = 0; for (int ty = gr_fb_height() - char_height_; for (int ty = gr_fb_height() - char_height_ - log_bottom_offset_; ty >= y && count < text_rows_; ty >= y && count < text_rows_; ty -= char_height_, ++count) { ty -= char_height_, ++count) { gr_text(gr_sys_font(), 0, ty, text_[row], false); int temp_y = ty; DrawTextLine(0, &temp_y, text_[row], false); --row; --row; if (row < 0) row = text_rows_ - 1; if (row < 0) row = text_rows_ - 1; } } Loading Loading @@ -453,6 +457,7 @@ bool ScreenRecoveryUI::InitTextParams() { gr_font_size(gr_sys_font(), &char_width_, &char_height_); gr_font_size(gr_sys_font(), &char_width_, &char_height_); text_rows_ = gr_fb_height() / char_height_; text_rows_ = gr_fb_height() / char_height_; text_cols_ = gr_fb_width() / char_width_; text_cols_ = gr_fb_width() / char_width_; log_bottom_offset_ = 0; return true; return true; } } Loading screen_ui.h +4 −2 Original line number Original line Diff line number Diff line Loading @@ -107,6 +107,7 @@ class ScreenRecoveryUI : public RecoveryUI { // Log text overlay, displayed when a magic key is pressed. // Log text overlay, displayed when a magic key is pressed. char** text_; char** text_; size_t text_col_, text_row_, text_top_; size_t text_col_, text_row_, text_top_; int log_bottom_offset_; bool show_text; bool show_text; bool show_text_ever; // has show_text ever been true? bool show_text_ever; // has show_text ever been true? Loading Loading @@ -165,8 +166,9 @@ class ScreenRecoveryUI : public RecoveryUI { virtual int GetProgressBaseline(); virtual int GetProgressBaseline(); virtual int GetTextBaseline(); virtual int GetTextBaseline(); void DrawHorizontalRule(int* y); virtual void DrawHorizontalRule(int* y); void DrawTextLine(int x, int* y, const char* line, bool bold) const; virtual void DrawHighlightBar(int x, int y, int width, int height) const; virtual void DrawTextLine(int x, int* y, const char* line, bool bold) const; void DrawTextLines(int x, int* y, const char* const* lines) const; void DrawTextLines(int x, int* y, const char* const* lines) const; }; }; Loading vr_device.cpp 0 → 100644 +23 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "device.h" #include "vr_ui.h" Device* make_device() { return new Device(new VrRecoveryUI); } vr_ui.cpp 0 → 100644 +56 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "vr_ui.h" #include <minui/minui.h> VrRecoveryUI::VrRecoveryUI() : x_offset(400), y_offset(400), stereo_offset(100) { } bool VrRecoveryUI::InitTextParams() { if (gr_init() < 0) { return false; } gr_font_size(gr_sys_font(), &char_width_, &char_height_); int mid_divide = gr_fb_width() / 2; text_rows_ = (gr_fb_height() - 2 * y_offset) / char_height_; text_cols_ = (mid_divide - x_offset - stereo_offset) / char_width_; log_bottom_offset_ = gr_fb_height() - 2 * y_offset; return true; } void VrRecoveryUI::DrawHorizontalRule(int* y) { SetColor(MENU); *y += 4; gr_fill(0, *y + y_offset, gr_fb_width(), *y + y_offset + 2); *y += 4; } void VrRecoveryUI::DrawHighlightBar(int x, int y, int width, int height) const { gr_fill(x, y + y_offset, x + width, y + y_offset + height); } void VrRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) const { int mid_divide = gr_fb_width() / 2; gr_text(gr_sys_font(), x + x_offset + stereo_offset, *y + y_offset, line, bold); gr_text(gr_sys_font(), x + x_offset - stereo_offset + mid_divide, *y + y_offset, line, bold); *y += char_height_ + 4; } Loading
Android.mk +12 −0 Original line number Original line Diff line number Diff line Loading @@ -76,6 +76,7 @@ LOCAL_SRC_FILES := \ rotate_logs.cpp \ rotate_logs.cpp \ screen_ui.cpp \ screen_ui.cpp \ ui.cpp \ ui.cpp \ vr_ui.cpp \ wear_ui.cpp \ wear_ui.cpp \ wear_touch.cpp \ wear_touch.cpp \ Loading Loading @@ -182,6 +183,17 @@ LOCAL_STATIC_LIBRARIES := \ LOCAL_CFLAGS := -Werror LOCAL_CFLAGS := -Werror include $(BUILD_STATIC_LIBRARY) include $(BUILD_STATIC_LIBRARY) # vr headset default device # =============================== include $(CLEAR_VARS) LOCAL_SRC_FILES := vr_device.cpp # should match TARGET_RECOVERY_UI_LIB set in BoardConfig.mk LOCAL_MODULE := librecovery_ui_vr include $(BUILD_STATIC_LIBRARY) include \ include \ $(LOCAL_PATH)/applypatch/Android.mk \ $(LOCAL_PATH)/applypatch/Android.mk \ $(LOCAL_PATH)/boot_control/Android.mk \ $(LOCAL_PATH)/boot_control/Android.mk \ Loading
screen_ui.cpp +11 −6 Original line number Original line Diff line number Diff line Loading @@ -256,6 +256,10 @@ void ScreenRecoveryUI::DrawHorizontalRule(int* y) { *y += 4; *y += 4; } } void ScreenRecoveryUI::DrawHighlightBar(int x, int y, int width, int height) const { gr_fill(x, y, x + width, y + height); } void ScreenRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) const { void ScreenRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) const { gr_text(gr_sys_font(), x, *y, line, bold); gr_text(gr_sys_font(), x, *y, line, bold); *y += char_height_ + 4; *y += char_height_ + 4; Loading Loading @@ -310,15 +314,14 @@ void ScreenRecoveryUI::draw_screen_locked() { if (i == menu_sel) { if (i == menu_sel) { // Draw the highlight bar. // Draw the highlight bar. SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG); SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG); gr_fill(0, y - 2, gr_fb_width(), y + char_height_ + 2); DrawHighlightBar(0, y - 2, gr_fb_width(), char_height_ + 4); // Bold white text for the selected item. // Bold white text for the selected item. SetColor(MENU_SEL_FG); SetColor(MENU_SEL_FG); gr_text(gr_sys_font(), 4, y, menu_[i], true); DrawTextLine(TEXT_INDENT, &y, menu_[i], true); SetColor(MENU); SetColor(MENU); } else { } else { gr_text(gr_sys_font(), 4, y, menu_[i], false); DrawTextLine(TEXT_INDENT, &y, menu_[i], false); } } y += char_height_ + 4; } } DrawHorizontalRule(&y); DrawHorizontalRule(&y); } } Loading @@ -329,10 +332,11 @@ void ScreenRecoveryUI::draw_screen_locked() { SetColor(LOG); SetColor(LOG); int row = (text_top_ + text_rows_ - 1) % text_rows_; int row = (text_top_ + text_rows_ - 1) % text_rows_; size_t count = 0; size_t count = 0; for (int ty = gr_fb_height() - char_height_; for (int ty = gr_fb_height() - char_height_ - log_bottom_offset_; ty >= y && count < text_rows_; ty >= y && count < text_rows_; ty -= char_height_, ++count) { ty -= char_height_, ++count) { gr_text(gr_sys_font(), 0, ty, text_[row], false); int temp_y = ty; DrawTextLine(0, &temp_y, text_[row], false); --row; --row; if (row < 0) row = text_rows_ - 1; if (row < 0) row = text_rows_ - 1; } } Loading Loading @@ -453,6 +457,7 @@ bool ScreenRecoveryUI::InitTextParams() { gr_font_size(gr_sys_font(), &char_width_, &char_height_); gr_font_size(gr_sys_font(), &char_width_, &char_height_); text_rows_ = gr_fb_height() / char_height_; text_rows_ = gr_fb_height() / char_height_; text_cols_ = gr_fb_width() / char_width_; text_cols_ = gr_fb_width() / char_width_; log_bottom_offset_ = 0; return true; return true; } } Loading
screen_ui.h +4 −2 Original line number Original line Diff line number Diff line Loading @@ -107,6 +107,7 @@ class ScreenRecoveryUI : public RecoveryUI { // Log text overlay, displayed when a magic key is pressed. // Log text overlay, displayed when a magic key is pressed. char** text_; char** text_; size_t text_col_, text_row_, text_top_; size_t text_col_, text_row_, text_top_; int log_bottom_offset_; bool show_text; bool show_text; bool show_text_ever; // has show_text ever been true? bool show_text_ever; // has show_text ever been true? Loading Loading @@ -165,8 +166,9 @@ class ScreenRecoveryUI : public RecoveryUI { virtual int GetProgressBaseline(); virtual int GetProgressBaseline(); virtual int GetTextBaseline(); virtual int GetTextBaseline(); void DrawHorizontalRule(int* y); virtual void DrawHorizontalRule(int* y); void DrawTextLine(int x, int* y, const char* line, bool bold) const; virtual void DrawHighlightBar(int x, int y, int width, int height) const; virtual void DrawTextLine(int x, int* y, const char* line, bool bold) const; void DrawTextLines(int x, int* y, const char* const* lines) const; void DrawTextLines(int x, int* y, const char* const* lines) const; }; }; Loading
vr_device.cpp 0 → 100644 +23 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "device.h" #include "vr_ui.h" Device* make_device() { return new Device(new VrRecoveryUI); }
vr_ui.cpp 0 → 100644 +56 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "vr_ui.h" #include <minui/minui.h> VrRecoveryUI::VrRecoveryUI() : x_offset(400), y_offset(400), stereo_offset(100) { } bool VrRecoveryUI::InitTextParams() { if (gr_init() < 0) { return false; } gr_font_size(gr_sys_font(), &char_width_, &char_height_); int mid_divide = gr_fb_width() / 2; text_rows_ = (gr_fb_height() - 2 * y_offset) / char_height_; text_cols_ = (mid_divide - x_offset - stereo_offset) / char_width_; log_bottom_offset_ = gr_fb_height() - 2 * y_offset; return true; } void VrRecoveryUI::DrawHorizontalRule(int* y) { SetColor(MENU); *y += 4; gr_fill(0, *y + y_offset, gr_fb_width(), *y + y_offset + 2); *y += 4; } void VrRecoveryUI::DrawHighlightBar(int x, int y, int width, int height) const { gr_fill(x, y + y_offset, x + width, y + y_offset + height); } void VrRecoveryUI::DrawTextLine(int x, int* y, const char* line, bool bold) const { int mid_divide = gr_fb_width() / 2; gr_text(gr_sys_font(), x + x_offset + stereo_offset, *y + y_offset, line, bold); gr_text(gr_sys_font(), x + x_offset - stereo_offset + mid_divide, *y + y_offset, line, bold); *y += char_height_ + 4; }