@@ -18,8 +18,9 @@ class Converters {
18
18
String message,
19
19
bool isInverted,
20
20
int rows,
21
- ScreenSize screenSize,
22
- ) async {
21
+ ScreenSize screenSize, {
22
+ bool scale = true ,
23
+ }) async {
23
24
List <String > hexStrings = [];
24
25
25
26
for (int i = 0 ; i < message.length; i++ ) {
@@ -28,7 +29,7 @@ class Converters {
28
29
hexStrings.addAll (await _handleEmoji (index, screenSize));
29
30
i += 5 ;
30
31
} else {
31
- hexStrings.addAll (_handleChar (message[i], screenSize));
32
+ hexStrings.addAll (_handleChar (message[i], screenSize, scale ));
32
33
}
33
34
}
34
35
@@ -61,42 +62,39 @@ class Converters {
61
62
62
63
var image = data.cast <List <dynamic >>().map ((e) => e.cast <int >()).toList ();
63
64
var scaled = _scaleBitmapToBadgeSize (image, size.width, size.height);
64
- logger.d ("Added scaled bitmap hex for index $index " );
65
65
return convertBitmapToLEDHex (scaled, true );
66
66
}
67
67
68
68
if (index < controllerData.vectors.length) {
69
- var hex = await imageUtils.generateLedHexWithSize (
69
+ return await imageUtils.generateLedHexWithSize (
70
70
controllerData.vectors[index], size.width, size.height);
71
- logger
72
- .d ("Added scaled vector hex for index $index : ${hex .length } strings" );
73
- return hex;
74
71
}
75
72
76
73
logger.e ("Vector index $index out of range" );
77
74
return [];
78
75
}
79
76
80
- List <String > _handleChar (String ch, ScreenSize size) {
77
+ List <String > _handleChar (String ch, ScreenSize size, bool scale ) {
81
78
if (! converter.charCodes.containsKey (ch)) {
82
79
logger.w ("Character '$ch ' not found in charCodes" );
83
80
return [];
84
81
}
85
82
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 );
92
91
}
93
92
94
- List <String > _scaleCharacterToBadgeSize (String hex, int width, int height) {
93
+ List <List <int >> _scaleCharacterToBadgeSize (
94
+ String hex, int width, int height) {
95
95
var bitmap = _hexStringToBitmap (hex);
96
96
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);
100
98
}
101
99
102
100
List <List <int >> _scaleTextCharacterToBadgeSize (
@@ -214,7 +212,6 @@ class Converters {
214
212
if (msg.isEmpty) return List .generate (height, (_) => []);
215
213
216
214
int totalWidth = msg.length * (w + spacing) - spacing;
217
-
218
215
var bitmap = List .generate (height, (_) => List .filled (totalWidth, false ));
219
216
220
217
for (int i = 0 ; i < msg.length; i++ ) {
0 commit comments