e2bd876043
A version of screen ui with specific adjustments for vr device
compatibility.
(cherrypick of a44dba7f4e
to AOSP)
Bug: 37779982
Test: "adb reboot recovery" to view
Change-Id: If6b0f26c1b587f8d0176060685b5efb6c67593b1
56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
/*
|
|
* 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;
|
|
}
|