From b8cfba6c28a6d6306e5161d122a58b4b476ede5c Mon Sep 17 00:00:00 2001 From: nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> Date: Tue, 19 Apr 2022 13:44:15 +0100 Subject: svg stuff (this is very annoying) --- .../polyfrost/oneconfig/lwjgl/image/ImageLoader.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/main/java/io/polyfrost/oneconfig/lwjgl/image') 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 imageHashMap = new HashMap<>(); + private final HashMap 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); + } } -- cgit