@@ -18,8 +18,9 @@ class Converters {
1818 String message,
1919 bool isInverted,
2020 int rows,
21- ScreenSize screenSize,
22- ) async {
21+ ScreenSize screenSize, {
22+ bool scale = true ,
23+ }) async {
2324 List <String > hexStrings = [];
2425
2526 for (int i = 0 ; i < message.length; i++ ) {
@@ -28,7 +29,7 @@ class Converters {
2829 hexStrings.addAll (await _handleEmoji (index, screenSize));
2930 i += 5 ;
3031 } else {
31- hexStrings.addAll (_handleChar (message[i], screenSize));
32+ hexStrings.addAll (_handleChar (message[i], screenSize, scale ));
3233 }
3334 }
3435
@@ -61,42 +62,39 @@ class Converters {
6162
6263 var image = data.cast <List <dynamic >>().map ((e) => e.cast <int >()).toList ();
6364 var scaled = _scaleBitmapToBadgeSize (image, size.width, size.height);
64- logger.d ("Added scaled bitmap hex for index $index " );
6565 return convertBitmapToLEDHex (scaled, true );
6666 }
6767
6868 if (index < controllerData.vectors.length) {
69- var hex = await imageUtils.generateLedHexWithSize (
69+ return await imageUtils.generateLedHexWithSize (
7070 controllerData.vectors[index], size.width, size.height);
71- logger
72- .d ("Added scaled vector hex for index $index : ${hex .length } strings" );
73- return hex;
7471 }
7572
7673 logger.e ("Vector index $index out of range" );
7774 return [];
7875 }
7976
80- List <String > _handleChar (String ch, ScreenSize size) {
77+ List <String > _handleChar (String ch, ScreenSize size, bool scale ) {
8178 if (! converter.charCodes.containsKey (ch)) {
8279 logger.w ("Character '$ch ' not found in charCodes" );
8380 return [];
8481 }
8582
86- var charHex = converter.charCodes[ch]! ;
87- var scaledHex =
88- _scaleCharacterToBadgeSize (charHex, size.width, size.height);
89- logger.d (
90- "Added scaled character '$ch ' for badge size ${size .width }x${size .height }" );
91- return scaledHex;
83+ String hex = converter.charCodes[ch]! ;
84+
85+ if (! scale) {
86+ return [hex]; // ✅ return raw hex for test
87+ }
88+
89+ var scaledBitmap = _scaleCharacterToBadgeSize (hex, size.width, size.height);
90+ return convertBitmapToLEDHex (scaledBitmap, true );
9291 }
9392
94- List <String > _scaleCharacterToBadgeSize (String hex, int width, int height) {
93+ List <List <int >> _scaleCharacterToBadgeSize (
94+ String hex, int width, int height) {
9595 var bitmap = _hexStringToBitmap (hex);
9696 int scaledWidth = (width * 0.12 ).round ().clamp (6 , width ~ / 2 );
97- var scaledBitmap =
98- _scaleTextCharacterToBadgeSize (bitmap, scaledWidth, height);
99- return convertBitmapToLEDHex (scaledBitmap, true );
97+ return _scaleTextCharacterToBadgeSize (bitmap, scaledWidth, height);
10098 }
10199
102100 List <List <int >> _scaleTextCharacterToBadgeSize (
@@ -214,7 +212,6 @@ class Converters {
214212 if (msg.isEmpty) return List .generate (height, (_) => []);
215213
216214 int totalWidth = msg.length * (w + spacing) - spacing;
217-
218215 var bitmap = List .generate (height, (_) => List .filled (totalWidth, false ));
219216
220217 for (int i = 0 ; i < msg.length; i++ ) {
0 commit comments