From 83029c2698f87ddfb2760ca720f47e218e60fe2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20Glind=C3=A5s?= Date: Mon, 19 Feb 2018 13:05:42 +0100 Subject: [PATCH 1/4] Refactors ColorTags --- Engine/src/mini/font/ColorTags.java | 58 +++++++++++++++++++---------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/Engine/src/mini/font/ColorTags.java b/Engine/src/mini/font/ColorTags.java index bed02b3..7096746 100644 --- a/Engine/src/mini/font/ColorTags.java +++ b/Engine/src/mini/font/ColorTags.java @@ -104,27 +104,47 @@ class Range { Range(int start, String colorStr) { this.start = start; this.color = new ColorRGBA(); + if (colorStr.length() >= 6) { - color.set(Integer.parseInt(colorStr.subSequence(0, 2).toString(), 16) / 255f, - Integer.parseInt(colorStr.subSequence(2, 4).toString(), 16) / 255f, - Integer.parseInt(colorStr.subSequence(4, 6).toString(), 16) / 255f, - 1); - if (baseAlpha != -1) { - color.a = baseAlpha; - } else if (colorStr.length() == 8) { - color.a = Integer.parseInt(colorStr.subSequence(6, 8).toString(), 16) / 255f; - } - } else { - color.set(Integer.parseInt(Character.toString(colorStr.charAt(0)), 16) / 15f, - Integer.parseInt(Character.toString(colorStr.charAt(1)), 16) / 15f, - Integer.parseInt(Character.toString(colorStr.charAt(2)), 16) / 15f, - 1); - if (baseAlpha != -1) { - color.a = baseAlpha; - } else if (colorStr.length() == 4) { - color.a = Integer.parseInt(Character.toString(colorStr.charAt(3)), 16) / 15f; - } + readHexColor(colorStr); + return; + } + + readColor(colorStr); + } + + private void readHexColor(String colorStr) { + color.r = readHexColorValue(colorStr, 0); + color.g = readHexColorValue(colorStr, 1); + color.b = readHexColorValue(colorStr, 2); + + if (baseAlpha != -1) { + color.a = baseAlpha; + } else if (colorStr.length() == 8) { + color.a = readHexColorValue(colorStr, 3); } } + + private float readHexColorValue(String colorStr, int index) { + int start = index * 2; + int end = start + 2; + return Integer.parseInt(colorStr.subSequence(start, end).toString(), 16) / 255f; + } + + private void readColor(String colorStr) { + color.r = readColorValue(colorStr, 0); + color.g = readColorValue(colorStr, 1); + color.b = readColorValue(colorStr, 2); + + if (baseAlpha != -1) { + color.a = baseAlpha; + } else if (colorStr.length() == 4) { + readColorValue(colorStr, 3); + } + } + + private float readColorValue(String colorStr, int index) { + return Integer.parseInt(Character.toString(colorStr.charAt(index)), 16) / 15f; + } } } From 4956221b0ce1b837fe703a7afe2662cc28b365f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20Glind=C3=A5s?= Date: Mon, 19 Feb 2018 13:08:15 +0100 Subject: [PATCH 2/4] Fixes default alpha color assignment. --- Engine/src/mini/font/ColorTags.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Engine/src/mini/font/ColorTags.java b/Engine/src/mini/font/ColorTags.java index 7096746..575dbe1 100644 --- a/Engine/src/mini/font/ColorTags.java +++ b/Engine/src/mini/font/ColorTags.java @@ -122,6 +122,8 @@ private void readHexColor(String colorStr) { color.a = baseAlpha; } else if (colorStr.length() == 8) { color.a = readHexColorValue(colorStr, 3); + } else { + color.a = 0; } } @@ -140,6 +142,8 @@ private void readColor(String colorStr) { color.a = baseAlpha; } else if (colorStr.length() == 4) { readColorValue(colorStr, 3); + } else { + color.a = 0; } } From 3ceccd1a0d76be5ae71f15514327e21c054eb35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20Glind=C3=A5s?= Date: Wed, 20 Jun 2018 12:20:39 +0200 Subject: [PATCH 3/4] Update ColorTags.java Fix indentation. --- Engine/src/mini/font/ColorTags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/src/mini/font/ColorTags.java b/Engine/src/mini/font/ColorTags.java index 575dbe1..1b496ad 100644 --- a/Engine/src/mini/font/ColorTags.java +++ b/Engine/src/mini/font/ColorTags.java @@ -113,7 +113,7 @@ class Range { readColor(colorStr); } - private void readHexColor(String colorStr) { + private void readHexColor(String colorStr) { color.r = readHexColorValue(colorStr, 0); color.g = readHexColorValue(colorStr, 1); color.b = readHexColorValue(colorStr, 2); From cb4ac54b19e3b2c4991ad3cbc02353006981ac29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20Glind=C3=A5s?= Date: Wed, 20 Jun 2018 18:01:43 +0200 Subject: [PATCH 4/4] Fix tabs & alpha assignments. --- Engine/src/mini/font/ColorTags.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Engine/src/mini/font/ColorTags.java b/Engine/src/mini/font/ColorTags.java index 1b496ad..1454cd3 100644 --- a/Engine/src/mini/font/ColorTags.java +++ b/Engine/src/mini/font/ColorTags.java @@ -107,7 +107,7 @@ class Range { if (colorStr.length() >= 6) { readHexColor(colorStr); - return; + return; } readColor(colorStr); @@ -123,7 +123,7 @@ private void readHexColor(String colorStr) { } else if (colorStr.length() == 8) { color.a = readHexColorValue(colorStr, 3); } else { - color.a = 0; + color.a = 1; } } @@ -141,9 +141,9 @@ private void readColor(String colorStr) { if (baseAlpha != -1) { color.a = baseAlpha; } else if (colorStr.length() == 4) { - readColorValue(colorStr, 3); + color.a = readColorValue(colorStr, 3); } else { - color.a = 0; + color.a = 1; } }