diff options
| author | moneromooo.monero <moneromooo.monero@users.noreply.github.com> | 2016-11-20 12:36:14 +0000 |
|---|---|---|
| committer | moneromooo.monero <moneromooo.monero@users.noreply.github.com> | 2016-11-20 18:53:12 +0000 |
| commit | 96c7ddeea8e590726ef3c28faead8205bb45ac41 (patch) | |
| tree | 601b36221a05c638d713c013045ecfb77652e9b3 /src/libwalletqt/QRCodeImageProvider.cpp | |
| parent | c83336cc4714215725cba957d8ea164a57c33987 (diff) | |
| download | monzero-gui-96c7ddeea8e590726ef3c28faead8205bb45ac41.tar.gz monzero-gui-96c7ddeea8e590726ef3c28faead8205bb45ac41.tar.xz monzero-gui-96c7ddeea8e590726ef3c28faead8205bb45ac41.zip | |
Add QR code display on the receive page
This embeds MIT licenced code from Project Nayuki:
https://www.nayuki.io/page/qr-code-generator-library
The C++ part of the code is embedded in src/QR-Code-generator.
See src/QR-Code-generator/Readme.markdown for more info.
Diffstat (limited to 'src/libwalletqt/QRCodeImageProvider.cpp')
| -rw-r--r-- | src/libwalletqt/QRCodeImageProvider.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libwalletqt/QRCodeImageProvider.cpp b/src/libwalletqt/QRCodeImageProvider.cpp new file mode 100644 index 00000000..217d3d7d --- /dev/null +++ b/src/libwalletqt/QRCodeImageProvider.cpp @@ -0,0 +1,17 @@ +#include "QrCode.hpp" + +#include "QRCodeImageProvider.h" + +QImage QRCodeImageProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize) +{ + using namespace qrcodegen; + + QrCode qrcode = QrCode::encodeText(id.toStdString().c_str(), QrCode::Ecc::MEDIUM); + QImage img = QImage(qrcode.size, qrcode.size, QImage::Format_Mono); + for (int y = 0; y < qrcode.size; ++y) + for (int x = 0; x < qrcode.size; ++x) + img.setPixel(x, y, qrcode.getModule(x, y)); + if (size) + *size = QSize(qrcode.size, qrcode.size); + return img; +} |
