From 595e25d482335da10b5fb39d84e725c6f1f18ee5 Mon Sep 17 00:00:00 2001
From: IU1JFE <47338441+IU1JFE@users.noreply.github.com>
Date: Mon, 27 Mar 2023 11:21:33 +0200
Subject: [PATCH] add PrettyPrintQr for print as real qr on shall

---
 cpp/QrCodeGeneratorDemo.cpp | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/cpp/QrCodeGeneratorDemo.cpp b/cpp/QrCodeGeneratorDemo.cpp
index b64bf5e..41beff4 100644
--- a/cpp/QrCodeGeneratorDemo.cpp
+++ b/cpp/QrCodeGeneratorDemo.cpp
@@ -46,7 +46,7 @@ static void doSegmentDemo();
 static void doMaskDemo();
 static std::string toSvgString(const QrCode &qr, int border);
 static void printQr(const QrCode &qr);
-
+static void PrettyPrintQr(const QrCode &qr);
 
 // The main application program.
 int main() {
@@ -68,7 +68,7 @@ static void doBasicDemo() {
 	
 	// Make and print the QR Code symbol
 	const QrCode qr = QrCode::encodeText(text, errCorLvl);
-	printQr(qr);
+	PrettyPrintQr(qr);
 	std::cout << toSvgString(qr, 4) << std::endl;
 }
 
@@ -230,3 +230,19 @@ static void printQr(const QrCode &qr) {
 	}
 	std::cout << std::endl;
 }
+
+
+// Prints the given QrCode object to the console.
+static void PrettyPrintQr(const QrCode &qr) 
+{
+	int border = 4;
+	for (int y = -border; y < qr.getSize() + border; y++) 
+	{
+		for (int x = -border; x < qr.getSize() + border; x++) 
+		{
+			std::cout << (qr.getModule(x, y) ? (char)255 : (char)219);
+		}
+		std::cout << std::endl;
+	}
+	std::cout << std::endl;
+}