aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/polyfrost/oneconfig/lwjgl/image
diff options
context:
space:
mode:
authornextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com>2022-04-19 13:44:15 +0100
committernextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com>2022-04-19 13:44:15 +0100
commitb8cfba6c28a6d6306e5161d122a58b4b476ede5c (patch)
tree298b9908075df0ce5328251bd37049e2a613f649 /src/main/java/io/polyfrost/oneconfig/lwjgl/image
parent01f85e9e40e3c065807ef9020ecf62266c2eec8a (diff)
downloadOneConfig-b8cfba6c28a6d6306e5161d122a58b4b476ede5c.tar.gz
OneConfig-b8cfba6c28a6d6306e5161d122a58b4b476ede5c.tar.bz2
OneConfig-b8cfba6c28a6d6306e5161d122a58b4b476ede5c.zip
svg stuff (this is very annoying)
Diffstat (limited to 'src/main/java/io/polyfrost/oneconfig/lwjgl/image')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/image/ImageLoader.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/lwjgl/image/ImageLoader.java b/src/main/java/io/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
index b0cb6d4..4e07215 100644
--- a/src/main/java/io/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
+++ b/src/main/java/io/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
@@ -1,6 +1,8 @@
package io.polyfrost.oneconfig.lwjgl.image;
import io.polyfrost.oneconfig.lwjgl.IOUtil;
+import org.lwjgl.nanovg.NSVGImage;
+import org.lwjgl.nanovg.NanoSVG;
import org.lwjgl.nanovg.NanoVG;
import org.lwjgl.stb.STBImage;
@@ -9,6 +11,7 @@ import java.util.HashMap;
public class ImageLoader {
private final HashMap<String, Image> imageHashMap = new HashMap<>();
+ private final HashMap<String, NSVGImage> NSVGImageHashMap = new HashMap<>();
public static ImageLoader INSTANCE = new ImageLoader();
public boolean loadImage(long vg, String fileName) {
@@ -33,7 +36,24 @@ public class ImageLoader {
return true;
}
+ public boolean loadSVGImage(String fileName) {
+ if(!NSVGImageHashMap.containsKey(fileName)) {
+ try {
+ NSVGImageHashMap.put(fileName, NanoSVG.nsvgParseFromFile(fileName, "px", 96f));
+ } catch (Exception e) { // just in case
+ System.err.println("Failed to parse SVG file");
+ return false;
+ }
+ return true;
+ }
+ return true;
+ }
+
public Image getImage(String fileName) {
return imageHashMap.get(fileName);
}
+
+ public NSVGImage getSVG(String fileName) {
+ return NSVGImageHashMap.get(fileName);
+ }
}