aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/lwjgl
diff options
context:
space:
mode:
authorMoonTidez <79183852+MoonTidez@users.noreply.github.com>2022-05-15 19:50:30 +0400
committerGitHub <noreply@github.com>2022-05-15 17:50:30 +0200
commit6254bbc42d0611f8eaee97b6d4c7710d082c6826 (patch)
tree78337ed22153af7cb992eb98e3a569b9a372d534 /src/main/java/cc/polyfrost/oneconfig/lwjgl
parent2c592090b9448203559e01326bc2c2d995b15d53 (diff)
downloadOneConfig-6254bbc42d0611f8eaee97b6d4c7710d082c6826.tar.gz
OneConfig-6254bbc42d0611f8eaee97b6d4c7710d082c6826.tar.bz2
OneConfig-6254bbc42d0611f8eaee97b6d4c7710d082c6826.zip
SVG + asset reorganization (#10)
* Assets reorganization * forgot 4 pixels in alpha grid oops * Updated huegradient.png Reduces file size by only use 1px height instead of 720px while maintaining quality * we do a little renaming * new assets mapping * moon I hate you * e * moon is weird * make it compile * temp * part png rendering * svgs * fix some positionings and stuff Co-authored-by: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/lwjgl')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java100
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java21
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java84
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java55
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java132
5 files changed, 305 insertions, 87 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
index 4276865..a2da805 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
@@ -1,18 +1,18 @@
package cc.polyfrost.oneconfig.lwjgl;
import cc.polyfrost.oneconfig.config.OneConfigConfig;
+import cc.polyfrost.oneconfig.gui.OneConfigGui;
import cc.polyfrost.oneconfig.lwjgl.font.FontManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
-import cc.polyfrost.oneconfig.lwjgl.image.Image;
import cc.polyfrost.oneconfig.lwjgl.image.ImageLoader;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import gg.essential.universal.UGraphics;
import gg.essential.universal.UMinecraft;
import gg.essential.universal.UResolution;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.shader.Framebuffer;
-import org.lwjgl.nanovg.NVGColor;
-import org.lwjgl.nanovg.NVGPaint;
+import org.lwjgl.nanovg.*;
import org.lwjgl.opengl.GL11;
import java.util.function.LongConsumer;
@@ -203,10 +203,9 @@ public final class RenderManager {
public static void drawImage(long vg, String filePath, float x, float y, float width, float height) {
if (ImageLoader.INSTANCE.loadImage(vg, filePath)) {
NVGPaint imagePaint = NVGPaint.calloc();
- cc.polyfrost.oneconfig.lwjgl.image.Image image = ImageLoader.INSTANCE.getImage(filePath);
+ int image = ImageLoader.INSTANCE.getImage(filePath);
nvgBeginPath(vg);
-
- nvgImagePattern(vg, x, y, width, height, 0, image.getReference(), 1, imagePaint);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
nvgRect(vg, x, y, width, height);
nvgFillPaint(vg, imagePaint);
nvgFill(vg);
@@ -217,9 +216,9 @@ public final class RenderManager {
public static void drawImage(long vg, String filePath, float x, float y, float width, float height, int color) {
if (ImageLoader.INSTANCE.loadImage(vg, filePath)) {
NVGPaint imagePaint = NVGPaint.calloc();
- Image image = ImageLoader.INSTANCE.getImage(filePath);
+ int image = ImageLoader.INSTANCE.getImage(filePath);
nvgBeginPath(vg);
- nvgImagePattern(vg, x, y, width, height, 0, image.getReference(), 1, imagePaint);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
nvgRGBA((byte) (color >> 16 & 0xFF), (byte) (color >> 8 & 0xFF), (byte) (color & 0xFF), (byte) (color >> 24 & 0xFF), imagePaint.innerColor());
nvgRect(vg, x, y, width, height);
nvgFillPaint(vg, imagePaint);
@@ -231,15 +230,14 @@ public final class RenderManager {
public static void drawRoundImage(long vg, String filePath, float x, float y, float width, float height, float radius) {
if (ImageLoader.INSTANCE.loadImage(vg, filePath)) {
NVGPaint imagePaint = NVGPaint.calloc();
- cc.polyfrost.oneconfig.lwjgl.image.Image image = ImageLoader.INSTANCE.getImage(filePath);
+ int image = ImageLoader.INSTANCE.getImage(filePath);
nvgBeginPath(vg);
- nvgImagePattern(vg, x, y, width, height, 0, image.getReference(), 1, imagePaint);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
nvgRoundedRect(vg, x, y, width, height, radius);
nvgFillPaint(vg, imagePaint);
nvgFill(vg);
imagePaint.free();
}
-
}
public static void drawRoundImage(long vg, Images filePath, float x, float y, float width, float height, float radius) {
@@ -299,6 +297,86 @@ public final class RenderManager {
return nvgColor;
}
+ public static void drawSvg(long vg, String filePath, float x, float y, float width, float height) {
+ float w = width;
+ float h = height;
+ if (OneConfigGui.INSTANCE != null) {
+ w *= OneConfigGui.INSTANCE.getScaleFactor();
+ h *= OneConfigGui.INSTANCE.getScaleFactor();
+ }
+ if (ImageLoader.INSTANCE.loadSVG(vg, filePath, w, h)) {
+ NVGPaint imagePaint = NVGPaint.calloc();
+ int image = ImageLoader.INSTANCE.getSVG(filePath, w, h);
+ nvgBeginPath(vg);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
+ nvgRect(vg, x, y, width, height);
+ nvgFillPaint(vg, imagePaint);
+ nvgFill(vg);
+ imagePaint.free();
+ }
+ }
+
+ public static void drawSvg(long vg, String filePath, float x, float y, float width, float height, int color) {
+ float w = width;
+ float h = height;
+ if (OneConfigGui.INSTANCE != null) {
+ w *= OneConfigGui.INSTANCE.getScaleFactor();
+ h *= OneConfigGui.INSTANCE.getScaleFactor();
+ }
+ if (ImageLoader.INSTANCE.loadSVG(vg, filePath, w, h)) {
+ NVGPaint imagePaint = NVGPaint.calloc();
+ int image = ImageLoader.INSTANCE.getSVG(filePath, w, h);
+ nvgBeginPath(vg);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
+ nvgRGBA((byte) (color >> 16 & 0xFF), (byte) (color >> 8 & 0xFF), (byte) (color & 0xFF), (byte) (color >> 24 & 0xFF), imagePaint.innerColor());
+ nvgRect(vg, x, y, width, height);
+ nvgFillPaint(vg, imagePaint);
+ nvgFill(vg);
+ imagePaint.free();
+ }
+ }
+
+ public static void drawSvg(long vg, SVGs svg, float x, float y, float width, float height) {
+ drawSvg(vg, svg.filePath, x, y, width, height);
+ }
+
+ public static void drawSvg(long vg, SVGs svg, float x, float y, float width, float height, int color) {
+ drawSvg(vg, svg.filePath, x, y, width, height, color);
+ }
+
+ /*public static void drawSvg(long vg, String filename) {
+ if (ImageLoader.INSTANCE.loadSVGImage(filename)) {
+ try {
+ NSVGImage image = ImageLoader.INSTANCE.getSVG(filename);
+ NSVGShape shape = image.shapes();
+ NSVGPath path = shape.paths();
+ while (shape.address() != 0) {
+ while (path.address() != 0) {
+ nvgBeginPath(vg);
+ nvgFillColor(vg, color(vg, new Color(255, 255, 255).getRGB()));
+ nvgStrokeColor(vg, color(vg, new Color(255, 255, 255).getRGB()));
+ nvgStrokeWidth(vg, shape.strokeWidth());
+ FloatBuffer points = path.pts();
+ nvgMoveTo(vg, points.get(), points.get());
+ while (points.remaining() >= 6){
+ nvgBezierTo(vg, points.get(), points.get(), points.get(), points.get(), points.get(), points.get());
+ }
+ if (path.closed() == 1) {
+ nvgLineTo(vg, points.get(0), points.get(1));
+ }
+ nvgStroke(vg);
+ nvgClosePath(vg);
+ path = path.next();
+ }
+ shape = shape.next();
+ }
+ path.free();
+ shape.free();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }*/
// gl
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java
deleted file mode 100644
index 2e63154..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package cc.polyfrost.oneconfig.lwjgl.image;
-
-import java.nio.ByteBuffer;
-
-public class Image {
- private final int reference;
- private final ByteBuffer buffer;
-
- public Image(int reference, ByteBuffer buffer) {
- this.reference = reference;
- this.buffer = buffer;
- }
-
- public ByteBuffer getBuffer() {
- return buffer;
- }
-
- public int getReference() {
- return reference;
- }
-}
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
index 479104c..128ae48 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
@@ -1,14 +1,21 @@
package cc.polyfrost.oneconfig.lwjgl.image;
import cc.polyfrost.oneconfig.utils.IOUtils;
+import org.lwjgl.nanovg.NSVGImage;
+import org.lwjgl.nanovg.NanoSVG;
import org.lwjgl.nanovg.NanoVG;
import org.lwjgl.stb.STBImage;
+import org.lwjgl.system.MemoryUtil;
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import java.util.HashMap;
public class ImageLoader {
- private final HashMap<String, Image> imageHashMap = new HashMap<>();
+ private final HashMap<String, Integer> imageHashMap = new HashMap<>();
+ private final HashMap<String, Integer> SVGHashMap = new HashMap<>();
public static ImageLoader INSTANCE = new ImageLoader();
public boolean loadImage(long vg, String fileName) {
@@ -27,19 +34,86 @@ public class ImageLoader {
return false;
}
- imageHashMap.put(fileName, new Image(NanoVG.nvgCreateImageRGBA(vg, width[0], height[0], NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, buffer), buffer));
+ imageHashMap.put(fileName, NanoVG.nvgCreateImageRGBA(vg, width[0], height[0], NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, buffer));
return true;
}
return true;
}
+ public boolean loadSVG(long vg, String fileName, float SVGWidth, float SVGHeight) {
+ String name = fileName + "-" + SVGWidth + "-" + SVGHeight;
+ if (!SVGHashMap.containsKey(name)) {
+ try {
+ InputStream inputStream = this.getClass().getResourceAsStream(fileName);
+ if (inputStream == null) return false;
+ StringBuilder resultStringBuilder = new StringBuilder();
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
+ String line;
+ while ((line = br.readLine()) != null) {
+ resultStringBuilder.append(line);
+ }
+ }
+ CharSequence s = resultStringBuilder.toString();
+ NSVGImage svg = NanoSVG.nsvgParse(s, "px", 96f);
+ if (svg == null) return false;
+ long rasterizer = NanoSVG.nsvgCreateRasterizer();
- public void removeImage(String fileName) {
- imageHashMap.remove(fileName);
+ int w = (int) svg.width();
+ int h = (int) svg.height();
+ float scale = Math.max(SVGWidth / w, SVGHeight / h);
+ w = (int) (w * scale);
+ h = (int) (h * scale);
+
+ ByteBuffer image = MemoryUtil.memAlloc(w * h * 4);
+ NanoSVG.nsvgRasterize(rasterizer, svg, 0, 0, scale, image, w, h, w * 4);
+
+ NanoSVG.nsvgDeleteRasterizer(rasterizer);
+ NanoSVG.nsvgDelete(svg);
+
+ SVGHashMap.put(name, NanoVG.nvgCreateImageRGBA(vg, w, h, NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, image));
+ return true;
+ } catch (Exception e) {
+ System.err.println("Failed to parse SVG file");
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
}
- public Image getImage(String fileName) {
+ public int getImage(String fileName) {
return imageHashMap.get(fileName);
}
+ public void removeImage(long vg, String fileName) {
+ NanoVG.nvgDeleteImage(vg, imageHashMap.get(fileName));
+ imageHashMap.remove(fileName);
+ }
+
+ public void clearImages(long vg) {
+ HashMap<String, Integer> temp = new HashMap<>(imageHashMap);
+ for (String image : temp.keySet()) {
+ NanoVG.nvgDeleteImage(vg, imageHashMap.get(image));
+ imageHashMap.remove(image);
+ }
+ }
+
+ public int getSVG( String fileName, float width, float height) {
+ String name = fileName + "-" + width + "-" + height;
+ return SVGHashMap.get(name);
+ }
+
+ public void removeSVG(long vg, String fileName, float width, float height) {
+ String name = fileName + "-" + width + "-" + height;
+ NanoVG.nvgDeleteImage(vg, imageHashMap.get(name));
+ SVGHashMap.remove(name);
+ }
+
+ public void clearSVGs(long vg) {
+ HashMap<String, Integer> temp = new HashMap<>(SVGHashMap);
+ for (String image : temp.keySet()) {
+ NanoVG.nvgDeleteImage(vg, SVGHashMap.get(image));
+ SVGHashMap.remove(image);
+ }
+ }
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java
index 97ed221..55aa8f0 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java
@@ -1,59 +1,14 @@
package cc.polyfrost.oneconfig.lwjgl.image;
public enum Images {
- CHEVRON_ARROW("/assets/oneconfig/icons/chevron.png"),
- DROPDOWN_ARROW("/assets/oneconfig/icons/dropdown_arrow.png"),
- UP_ARROW("/assets/oneconfig/icons/up_arrow.png"),
- CIRCLE_ARROW("/assets/oneconfig/icons/circle_arrow.png"),
-
- CHECKMARK("/assets/oneconfig/icons/checkmark.png"),
- FAVORITE("/assets/oneconfig/icons/favorite_active.png"),
- FAVORITE_OFF("/assets/oneconfig/icons/favorite_inactive.png"),
- HIDE_EYE("/assets/oneconfig/icons/hide_eye.png"),
- HIDE_EYE_OFF("/assets/oneconfig/icons/hide_eye_off.png"),
- KEYSTROKE("/assets/oneconfig/icons/keystroke.png"),
-
- COLOR_BASE("/assets/oneconfig/colorui/color_base.png"),
- COLOR_BASE_LONG("/assets/oneconfig/colorui/color_base_long.png"),
- COLOR_BASE_LARGE("/assets/oneconfig/colorui/color_base_large.png"),
- COLOR_WHEEL("/assets/oneconfig/colorui/color_wheel.png"),
- HUE_GRADIENT("/assets/oneconfig/colorui/hue_gradient.png"),
- CLOSE_COLOR("/assets/oneconfig/colorui/close_color.png"),
-
- INFO("/assets/oneconfig/icons/info.png"),
- SUCCESS("/assets/oneconfig/icons/success.png"),
- WARNING("/assets/oneconfig/icons/warning.png"),
- ERROR("/assets/oneconfig/icons/error.png"),
-
- SHARE("/assets/oneconfig/icons/share.png"),
- LAUNCH("/assets/oneconfig/icons/launch.png"),
- SEARCH("/assets/oneconfig/icons/search.png"),
- MINIMIZE("/assets/oneconfig/icons/minimize.png"),
- CLOSE("/assets/oneconfig/icons/close.png"),
- HELP("/assets/oneconfig/icons/help.png"),
- COPY("/assets/oneconfig/icons/copy.png"),
- PASTE("/assets/oneconfig/icons/paste.png"),
-
- LOGO("/assets/oneconfig/icons/logo.png"),
-
- HUD("/assets/oneconfig/icons/hud.png"),
- HUD_SETTINGS("/assets/oneconfig/icons/settings.png"),
-
- MOD_BOX("/assets/oneconfig/icons/mod_box.png"),
- MODS("/assets/oneconfig/icons/mods.png"),
- PERFORMANCE("/assets/oneconfig/icons/performance.png"),
-
- DASHBOARD("/assets/oneconfig/icons/dashboard.png"),
- PREFERENCES("/assets/oneconfig/icons/preferences.png"),
- PROFILES("/assets/oneconfig/icons/profiles.png"),
- SCREENSHOT("/assets/oneconfig/icons/screenshot.png"),
- THEMES("/assets/oneconfig/icons/themes.png"),
- UPDATES("/assets/oneconfig/icons/updates.png"),
- ;
+ HUE_GRADIENT("/assets/oneconfig/colorui/huegradient.png"),
+ COLOR_WHEEL("/assets/oneconfig/colorui/colorwheel.png"),
+ HSB_GRADIENT("/assets/oneconfig/colorui/hsbgradient.png"),
+ ALPHA_GRID("/assets/oneconfig/colorui/alphagrid.png");
public final String filePath;
Images(String filePath) {
this.filePath = filePath;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java
new file mode 100644
index 0000000..1b8744f
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java
@@ -0,0 +1,132 @@
+package cc.polyfrost.oneconfig.lwjgl.image;
+
+public enum SVGs {
+ ALIGN_H_CENTER("/assets/oneconfig/icons/AlignHCenter.svg"),
+ ALIGN_H_LEFT("/assets/oneconfig/icons/AlignHLeft.svg"),
+ ALIGN_H_RIGHT("/assets/oneconfig/icons/AlignHRight.svg"),
+ ALIGN_V_BOTTOM("/assets/oneconfig/icons/AlignVBottom.svg"),
+ ALIGN_V_MIDDLE("/assets/oneconfig/icons/AlignVMiddle.svg"),
+ ALIGN_V_TOP("/assets/oneconfig/icons/AlignVTop.svg"),
+ ARROW_CIRCLE_DOWN("/assets/oneconfig/icons/ArrowCircleDown.svg"),
+ ARROW_CIRCLE_LEFT("/assets/oneconfig/icons/ArrowCircleLeft.svg"),
+ ARROW_CIRCLE_RIGHT("/assets/oneconfig/icons/ArrowCircleRight.svg"),
+ ARROW_CIRCLE_UP("/assets/oneconfig/icons/ArrowCircleUp.svg"),
+ ARROW_DOWN("/assets/oneconfig/icons/ArrowDown.svg"),
+ ARROW_LEFT("/assets/oneconfig/icons/ArrowLeft.svg"),
+ ARROW_RIGHT("/assets/oneconfig/icons/ArrowRight.svg"),
+ ARROW_UP("/assets/oneconfig/icons/ArrowUp.svg"),
+ AUDIO_PAUSE("/assets/oneconfig/icons/AudioPause.svg"),
+ AUDIO_PLAY("/assets/oneconfig/icons/AudioPlay.svg"),
+ AUDIO_PREVIOUS("/assets/oneconfig/icons/AudioPrevious.svg"),
+ AUDIO_SKIP("/assets/oneconfig/icons/AudioSkip.svg"),
+ BELL("/assets/oneconfig/icons/Bell.svg"),
+ BELL_OFF("/assets/oneconfig/icons/BellOff.svg"),
+ BOX("/assets/oneconfig/icons/Box.svg"),
+ CAMERA("/assets/oneconfig/icons/Camera.svg"),
+ CART("/assets/oneconfig/icons/Cart.svg"),
+ CASH("/assets/oneconfig/icons/Cash.svg"),
+ CASH_DOLLAR("/assets/oneconfig/icons/CashDollar.svg"),
+ CHECKBOX_MIXED("/assets/oneconfig/icons/CheckboxMixed.svg"),
+ CHECKBOX_TICK("/assets/oneconfig/icons/CheckboxTick.svg"),
+ CHECK_CIRCLE("/assets/oneconfig/icons/CheckCircle.svg"),
+ CHEVRON_DOWN("/assets/oneconfig/icons/ChevronDown.svg"),
+ CHEVRON_LEFT("/assets/oneconfig/icons/ChevronLeft.svg"),
+ CHEVRON_RIGHT("/assets/oneconfig/icons/ChevronRight.svg"),
+ CHEVRON_UP("/assets/oneconfig/icons/ChevronUp.svg"),
+ CLOCK("/assets/oneconfig/icons/Clock.svg"),
+ CODE("/assets/oneconfig/icons/Code.svg"),
+ COMBO_BOX_UP("/assets/oneconfig/icons/ComboBoxUp.svg"),
+ COMBO_BOX_DOWN("/assets/oneconfig/icons/ComboBoxDown.svg"),
+ CONTENT("/assets/oneconfig/icons/Content.svg"),
+ COPY("/assets/oneconfig/icons/Copy.svg"),
+ CREDIT_CARD("/assets/oneconfig/icons/CreditCard.svg"),
+ CREDIT_CARD_ADD("/assets/oneconfig/icons/CreditCardAdd.svg"),
+ CUBE("/assets/oneconfig/icons/Cube.svg"),
+ DASHBOARD("/assets/oneconfig/icons/Dashboard.svg"),
+ DELETE("/assets/oneconfig/icons/Delete.svg"),
+ DOLLAR("/assets/oneconfig/icons/Dollar.svg"),
+ DOLLAR_CIRCLE("/assets/oneconfig/icons/DollarCircle.svg"),
+ DROPDOWN_LIST("/assets/oneconfig/icons/DropdownList.svg"), // TODO: old usage is DROPDOWN_ARROW, needs some work from developer side
+ EARTH("/assets/oneconfig/icons/Earth.svg"),
+ EDIT("/assets/oneconfig/icons/Edit.svg"),
+ ERROR("/assets/oneconfig/icons/Error.svg"),
+ EXPORT("/assets/oneconfig/icons/Export.svg"),
+ EYE("/assets/oneconfig/icons/Eye.svg"),
+ EYE_OFF("/assets/oneconfig/icons/EyeOff.svg"),
+ FABRIC_LOADER("/assets/oneconfig/icons/FabricLoader.svg"),
+ FILE("/assets/oneconfig/icons/File.svg"),
+ FILTER("/assets/oneconfig/icons/Filter.svg"),
+ FOLDER("/assets/oneconfig/icons/Folder.svg"),
+ FORGE_LOADER("/assets/oneconfig/icons/ForgeLoader.svg"),
+ HAMBURGER("/assets/oneconfig/icons/Hamburger.svg"),
+ HEART_BROKEN("/assets/oneconfig/icons/HeartBroken.svg"),
+ HEART_FILL("/assets/oneconfig/icons/HeartFill.svg"),
+ HEART_OUTLINE("/assets/oneconfig/icons/HeartOutline.svg"),
+ HELP_CIRCLE("/assets/oneconfig/icons/HelpCircle.svg"),
+ HISTORY("/assets/oneconfig/icons/History.svg"),
+ HOME("/assets/oneconfig/icons/Home.svg"),
+ HUD("/assets/oneconfig/icons/HUD.svg"),
+ HUD_SETTINGS("/assets/oneconfig/icons/HUDSettings.svg"),
+ IMAGE("/assets/oneconfig/icons/Image.svg"),
+ INFO_CIRCLE("/assets/oneconfig/icons/InfoCircle.svg"),
+ ITEM_LINK_BROKE("/assets/oneconfig/icons/ItemLinkBroke.svg"),
+ ITEM_LINKED("/assets/oneconfig/icons/ItemLinked.svg"),
+ KEYSTROKE("/assets/oneconfig/icons/Keystroke.svg"),
+ LAUNCH_PROFILES("/assets/oneconfig/icons/LaunchProfiles.svg"),
+ LINK_DIAGONAL("/assets/oneconfig/icons/LinkDiagonal.svg"),
+ LINK_HORIZONTAL("/assets/oneconfig/icons/LinkHorizontal.svg"),
+ LOCATION_POINT("/assets/oneconfig/icons/LocationPoint.svg"),
+ MAXIMISE("/assets/oneconfig/icons/Maximise.svg"),
+ MIC("/assets/oneconfig/icons/Mic.svg"),
+ MIC_OFF("/assets/oneconfig/icons/MicOff.svg"),
+ MICROSOFT_ICON("/assets/oneconfig/icons/MicrosoftIcon.svg"),
+ MINIMISE("/assets/oneconfig/icons/Minimise.svg"),
+ MINUS_CIRCLE("/assets/oneconfig/icons/MinusCircle.svg"),
+ MODS("/assets/oneconfig/icons/Mods.svg"),
+ MOVE("/assets/oneconfig/icons/Move.svg"),
+ NAVIGATION("/assets/oneconfig/icons/Navigation.svg"),
+ ONECONFIG("/assets/oneconfig/icons/OneConfig.svg"),
+ ONECONFIG_OFF("/assets/oneconfig/icons/OneConfigOff.svg"),
+ PASTE("/assets/oneconfig/icons/Paste.svg"),
+ PERFORMANCE("/assets/oneconfig/icons/Performance.svg"),
+ PLUS_CIRCLE("/assets/oneconfig/icons/PlusCircle.svg"),
+ POP_OUT("/assets/oneconfig/icons/PopOut.svg"),
+ PROFILES("/assets/oneconfig/icons/Profiles.svg"),
+ RESET("/assets/oneconfig/icons/Reset.svg"),
+ SAVE("/assets/oneconfig/icons/Save.svg"),
+ SEARCH("/assets/oneconfig/icons/Search.svg"),
+ SEND("/assets/oneconfig/icons/Send.svg"),
+ SETTINGS("/assets/oneconfig/icons/Settings.svg"),
+ SHAPE_CIRCLE("/assets/oneconfig/icons/ShapeCircle.svg"),
+ SHAPE_DOT("/assets/oneconfig/icons/ShapeDot.svg"),
+ SHAPE_HEXAGON("/assets/oneconfig/icons/ShapeHexagon.svg"),
+ SHAPE_SQUARE("/assets/oneconfig/icons/ShapeSquare.svg"),
+ SHAPE_TRIANGLE("/assets/oneconfig/icons/ShapeTriangle.svg"),
+ SHARE("/assets/oneconfig/icons/Share.svg"),
+ SHOPPING_BAG("/assets/oneconfig/icons/ShoppingBag.svg"),
+ SPACING("/assets/oneconfig/icons/Spacing.svg"),
+ THEME("/assets/oneconfig/icons/Theme.svg"),
+ THUMBS_DOWN("/assets/oneconfig/icons/ThumbsDown.svg"),
+ THUMBS_UP("/assets/oneconfig/icons/ThumbsUp.svg"),
+ UPDATE("/assets/oneconfig/icons/Update.svg"),
+ VOLUME_HIGH("/assets/oneconfig/icons/VolumeHigh.svg"),
+ VOLUME_MEDIUM("/assets/oneconfig/icons/VolumeMedium.svg"),
+ VOLUME_LOW("/assets/oneconfig/icons/VolumeLow.svg"),
+ VOLUME_NONE("/assets/oneconfig/icons/VolumeNone.svg"),
+ VOLUME_MUTE("/assets/oneconfig/icons/VolumeMute.svg"),
+ VOLUME_OFF("/assets/oneconfig/icons/VolumeOff.svg"),
+ VOLUME_MINUS("/assets/oneconfig/icons/VolumeMinus.svg"),
+ VOLUME_PLUS("/assets/oneconfig/icons/VolumePlus.svg"),
+ WARNING("/assets/oneconfig/icons/Warning.svg"),
+ WEBSITE("/assets/oneconfig/icons/Website.svg"),
+ X_CIRCLE("/assets/oneconfig/icons/XCircle.svg"),
+ X_CROSS("/assets/oneconfig/icons/XCross.svg"),
+ ZOOM_IN("/assets/oneconfig/icons/ZoomIn.svg"),
+ ZOOM_OUT("/assets/oneconfig/icons/ZoomOut.svg");
+
+ public final String filePath;
+
+ SVGs(String filePath) {
+ this.filePath = filePath;
+ }
+}