Something went wrong. Try again.
A fork of https://github.com/crosspoint-reader/crosspoint-reader
Something went wrong. Try again.
1.5 kB · 47 lines
C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include "QrDisplayActivity.h"
#include <GfxRenderer.h>#include <I18n.h>
#include "MappedInputManager.h"#include "components/UITheme.h"#include "fontIds.h"#include "util/QrUtils.h"
void QrDisplayActivity::onEnter() { Activity::onEnter(); requestUpdate();}
void QrDisplayActivity::onExit() { Activity::onExit(); }
void QrDisplayActivity::loop() { int x = 0; int y = 0; if (mappedInput.wasReleased(MappedInputManager::Button::Back) || mappedInput.wasReleased(MappedInputManager::Button::Confirm) || mappedInput.wasScreenTapped(x, y)) { finish(); return; }}
void QrDisplayActivity::render(RenderLock&&) { renderer.clearScreen(); auto metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight();
GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, tr(STR_DISPLAY_QR), nullptr);
const int availableWidth = pageWidth - 40; const int availableHeight = pageHeight - metrics.topPadding - metrics.headerHeight - metrics.verticalSpacing * 2 - 40; const int startY = metrics.topPadding + metrics.headerHeight + metrics.verticalSpacing;
const Rect qrBounds(20, startY, availableWidth, availableHeight); QrUtils::drawQrCode(renderer, qrBounds, textPayload);
const auto labels = mappedInput.mapLabels(tr(STR_BACK), "", "", ""); GUI.drawButtonHints(renderer, labels.btn1, labels.btn2, labels.btn3, labels.btn4);
renderer.displayBuffer();}