diff options
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/lwjgl')
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; + } +} |