diff options
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/platform')
| -rw-r--r-- | src/main/java/cc/polyfrost/oneconfig/platform/NanoVGPlatform.java | 42 | ||||
| -rw-r--r-- | src/main/java/cc/polyfrost/oneconfig/platform/Platform.java | 13 |
2 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/platform/NanoVGPlatform.java b/src/main/java/cc/polyfrost/oneconfig/platform/NanoVGPlatform.java new file mode 100644 index 0000000..af269ce --- /dev/null +++ b/src/main/java/cc/polyfrost/oneconfig/platform/NanoVGPlatform.java @@ -0,0 +1,42 @@ +package cc.polyfrost.oneconfig.platform; + +import org.jetbrains.annotations.Nullable; +import org.lwjgl.nanovg.NVGLUFramebuffer; + +public interface NanoVGPlatform { + int NVG_ANTIALIAS = 1; + int NVG_STENCIL_STROKES = 2; + int NVG_DEBUG = 4; + int NVG_IMAGE_NODELETE = 65536; + + int nnvglCreateImageFromHandle(long var0, int var2, int var3, int var4, int var5); + + int nvglCreateImageFromHandle(long ctx, int textureId, int w, int h, int flags); + + int nnvglImageHandle(long var0, int var2); + + int nvglImageHandle(long ctx, int image); + + long nnvgCreate(int var0); + + long nvgCreate(int flags); + + void nnvgDelete(long var0); + + void nvgDelete(long ctx); + + long nnvgluCreateFramebuffer(long var0, int var2, int var3, int var4); + + @Nullable + NVGLUFramebuffer nvgluCreateFramebuffer(long ctx, int w, int h, int imageFlags); + + void nnvgluBindFramebuffer(long var0, long var2); + + void nvgluBindFramebuffer(long ctx, @Nullable NVGLUFramebuffer fb); + + void nnvgluDeleteFramebuffer(long var0, long var2); + + void nvgluDeleteFramebuffer(long ctx, NVGLUFramebuffer fb); + + void triggerStaticInitialization(); +} diff --git a/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java b/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java index 62e9e2a..0fc2626 100644 --- a/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java +++ b/src/main/java/cc/polyfrost/oneconfig/platform/Platform.java @@ -37,10 +37,16 @@ public interface Platform { return PlatformHolder.INSTANCE.i18nPlatform; } + static NanoVGPlatform getNanoVGPlatform() { + return PlatformHolder.INSTANCE.nvgPlatform; + } + boolean isCallingFromMinecraftThread(); int getMinecraftVersion(); + Loader getLoader(); + class PlatformHolder { private PlatformHolder() { @@ -53,5 +59,12 @@ public interface Platform { GLPlatform glPlatform = ServiceLoader.load(GLPlatform.class, GLPlatform.class.getClassLoader()).iterator().next(); GuiPlatform guiPlatform = ServiceLoader.load(GuiPlatform.class, GuiPlatform.class.getClassLoader()).iterator().next(); I18nPlatform i18nPlatform = ServiceLoader.load(I18nPlatform.class, I18nPlatform.class.getClassLoader()).iterator().next(); + + NanoVGPlatform nvgPlatform = ServiceLoader.load(NanoVGPlatform.class, NanoVGPlatform.class.getClassLoader()).iterator().next(); + } + + enum Loader { + FORGE, + FABRIC } } |
