summaryrefslogtreecommitdiffstats
path: root/vr_ui.cpp
diff options
context:
space:
mode:
authorLuke Song <songwalker@google.com>2017-09-19 19:51:35 +0200
committerTao Bao <tbao@google.com>2017-10-05 21:02:13 +0200
commit92eda4db6cf6aae9fb9954c2555742ad7d1cd96a (patch)
treeff3dae97202620c6a9a37f891b580ecf3fd6be7e /vr_ui.cpp
parentMerge "graphics: add rotation logic" (diff)
downloadandroid_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.tar
android_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.tar.gz
android_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.tar.bz2
android_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.tar.lz
android_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.tar.xz
android_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.tar.zst
android_bootable_recovery-92eda4db6cf6aae9fb9954c2555742ad7d1cd96a.zip
Diffstat (limited to 'vr_ui.cpp')
-rw-r--r--vr_ui.cpp44
1 files changed, 37 insertions, 7 deletions
diff --git a/vr_ui.cpp b/vr_ui.cpp
index 125167268..07cc9da59 100644
--- a/vr_ui.cpp
+++ b/vr_ui.cpp
@@ -20,16 +20,46 @@
VrRecoveryUI::VrRecoveryUI() : kStereoOffset(RECOVERY_UI_VR_STEREO_OFFSET) {}
-bool VrRecoveryUI::InitTextParams() {
- if (!ScreenRecoveryUI::InitTextParams()) return false;
- int mid_divide = gr_fb_width() / 2;
- text_cols_ = (mid_divide - kMarginWidth - kStereoOffset) / char_width_;
- return true;
+int VrRecoveryUI::ScreenWidth() const {
+ return gr_fb_width() / 2;
+}
+
+int VrRecoveryUI::ScreenHeight() const {
+ return gr_fb_height();
+}
+
+void VrRecoveryUI::DrawSurface(GRSurface* surface, int sx, int sy, int w, int h, int dx,
+ int dy) const {
+ gr_blit(surface, sx, sy, w, h, dx + kStereoOffset, dy);
+ gr_blit(surface, sx, sy, w, h, dx - kStereoOffset + ScreenWidth(), dy);
+}
+
+void VrRecoveryUI::DrawTextIcon(int x, int y, GRSurface* surface) const {
+ gr_texticon(x + kStereoOffset, y, surface);
+ gr_texticon(x - kStereoOffset + ScreenWidth(), y, surface);
}
int 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 + kStereoOffset, y, line, bold);
- gr_text(gr_sys_font(), x - kStereoOffset + mid_divide, y, line, bold);
+ gr_text(gr_sys_font(), x - kStereoOffset + ScreenWidth(), y, line, bold);
return char_height_ + 4;
}
+
+int VrRecoveryUI::DrawHorizontalRule(int y) const {
+ y += 4;
+ gr_fill(kMarginWidth + kStereoOffset, y, ScreenWidth() - kMarginWidth + kStereoOffset, y + 2);
+ gr_fill(ScreenWidth() + kMarginWidth - kStereoOffset, y,
+ gr_fb_width() - kMarginWidth - kStereoOffset, y + 2);
+ return y + 4;
+}
+
+void VrRecoveryUI::DrawHighlightBar(int x, int y, int width, int height) const {
+ gr_fill(kMarginWidth + kStereoOffset, y, ScreenWidth() - kMarginWidth + kStereoOffset, y + height);
+ gr_fill(ScreenWidth() + kMarginWidth - kStereoOffset, y,
+ gr_fb_width() - kMarginWidth - kStereoOffset, y + height);
+}
+
+void VrRecoveryUI::DrawFill(int x, int y, int w, int h) const {
+ gr_fill(x + kStereoOffset, y, w, h);
+ gr_fill(x - kStereoOffset + ScreenWidth(), y, w, h);
+}