Something went wrong. Try again.
A fork of https://github.com/crosspoint-reader/crosspoint-reader
Something went wrong. Try again.
1.5 kB · 45 lines
C++
at master
12345678910111213141516171819202122232425262728293031323334353637383940414243444546#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() { if (mappedInput.wasReleased(MappedInputManager::Button::Back) || mappedInput.wasReleased(MappedInputManager::Button::Confirm)) { 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();}