From 9f179f2371fafcd8b8380f4621d52a5c64309623 Mon Sep 17 00:00:00 2001 From: Alvin Wong Date: Thu, 15 Apr 2021 14:32:09 +0800 Subject: [PATCH] Make BitmapEditor work with hex escape literals --- Translations/BitmapEditor.html | 47 ++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/Translations/BitmapEditor.html b/Translations/BitmapEditor.html index 4da92db4..b35d3af1 100644 --- a/Translations/BitmapEditor.html +++ b/Translations/BitmapEditor.html @@ -141,10 +141,36 @@ } } } + stringFromMatrix(true, false); + } + + function escapedToMatrix(str) { + app.encodedEscapeSequence = str; + clearMatrix(); + var strs = str.split("\\x"); + var c = 0; + var rs = 7; + for (var i = 0; i 0) { + v = parseInt(d, 16); + sv = padLeft(v.toString(2), "0", 8); + for (r = 0; r < 8; r++) { + paint(getCell(rs - r, c), sv.charAt(r) == '1'); + } + c++; + if (c >= app.matrix.cols) { + c = 0; + rs += 8; + } + } + } + stringFromMatrix(false, true); } - function stringFromMatrix() { + function stringFromMatrix(skipEncodedData, skipEncodedEscapeSequence) { var str = ""; + var strEscaped = ""; var delim = ""; var blocks = app.matrix.rows / 8; var rs = 7; @@ -158,11 +184,17 @@ } } str += delim + "0x" + padLeft(b.toString(16).toUpperCase(), "0", 2); + strEscaped += "\\x" + padLeft(b.toString(16).toUpperCase(), "0", 2); delim = ","; } rs += 8; } - app.encodedData = str; + if (!skipEncodedData) { + app.encodedData = str; + } + if (!skipEncodedEscapeSequence) { + app.encodedEscapeSequence = strEscaped; + } return str; } @@ -175,12 +207,16 @@ rows: 16 }, type: "big", - encodedData: "" + encodedData: "", + encodedEscapeSequence: "", }, methods : { VtoMatrix : function(val) { toMatrix(val); }, + escapedToMatrix : function(val) { + escapedToMatrix(val); + }, VchangeSize : function() { if (app.type == "big") { @@ -236,10 +272,11 @@
- +
- \ No newline at end of file +