aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils
diff options
context:
space:
mode:
authorWyvest <45589059+Wyvest@users.noreply.github.com>2022-07-21 04:04:48 +0900
committerGitHub <noreply@github.com>2022-07-20 20:04:48 +0100
commitf06946c01b2c8f210b398a16610c260eca093a8b (patch)
tree22bda7a5e9b0a1e7370ff2b1e74fc7c9e4035379 /src/main/java/cc/polyfrost/oneconfig/internal/hud/utils
parentff2ead62333e90b61e05c8cb6a91f692fcf30805 (diff)
downloadOneConfig-f06946c01b2c8f210b398a16610c260eca093a8b.tar.gz
OneConfig-f06946c01b2c8f210b398a16610c260eca093a8b.tar.bz2
OneConfig-f06946c01b2c8f210b398a16610c260eca093a8b.zip
HUD Improvements, 1.16 port, fix NanoVG with ARM (#52)
* egg 1 * separate Hud from background stuff * 1984 This reverts commit 9ae517d57bbd495d30d35cb1cbfe81a03556e6bd. * hitboxes woo!!!!! * Revert "hitboxes woo!!!!!" This reverts commit 405d32d17df3c83f2e79eddf0de853f7279767a6. * padding * allow position to go slightly off the screen * stop using ints for ABSOLUTELY EVERYTHING, DIAMOND ... fix vigilance compat not setting color * start on new pos system * some stuff * finish new position system * api momento * 1.16.2 fabric port * start on hud gui * temp remove 1.16.2 fabric since it doesn't compile * fix fabric build * hud gui stuff * apiDump * fix fabric build 2 * so true * selecting stuff * scaling + other small things * More protecting * fix nanovg not working with macOS ARM move OneConfig.preLaunch to OneConfigInit * clean up OneUIScreen make kotlin version of TestNanoVGGui * make keybinds have runnable by default * rollback keybind things * merge master into hud-improvements (#55) * Release workflow (#53) * release workflow * update normal version to hash * fix * fix naming * fix some stuff * fix version thing * switch to number from hash * Release workflow (#54) * release workflow * update normal version to hash * fix * fix naming * fix some stuff * fix version thing * switch to number from hash * Maybe epic fixo * gotta love those Java principles * Revert "gotta love those Java principles", wrong branch This reverts commit 333d8b2ad8941790c13c4bfe0777fbd203d463e5. * start on snapping * Finish snapping * stop including mixin by default on legacy versions this breaks builds if the mod itself does not use mixin * merge draw and drawExample * fix gradle publish * Some fixes * Api DUmpidy * Help subcommand impovments (#59) * Made the overall look of the "help" subcommand better + added the ability to change the colour for the command overall + each individual SubCommand * Made the alliases show batter + added support for to show subcommand aliasses * mr deliverer didnt reply but whatever, added a space between command/subcommand and alliasses Co-authored-by: pinkulu <pinkulumc@gmail.com> * fix file not overwriting toJavaColor * Fix full shadow not scaling correctly Co-authored-by: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> Co-authored-by: nxtdaydelivery <12willettsh@gmail.com> Co-authored-by: pinkulu <56201697+pinkulu@users.noreply.github.com> Co-authored-by: pinkulu <pinkulumc@gmail.com>
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/internal/hud/utils')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/GrabOffset.java27
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/SnappingLine.java49
2 files changed, 76 insertions, 0 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/GrabOffset.java b/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/GrabOffset.java
new file mode 100644
index 0000000..122ff77
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/GrabOffset.java
@@ -0,0 +1,27 @@
+package cc.polyfrost.oneconfig.internal.hud.utils;
+
+public class GrabOffset {
+ private float offsetX;
+ private float offsetY;
+
+ public GrabOffset(float offsetX, float offsetY) {
+ setOffset(offsetX, offsetY);
+ }
+
+ public GrabOffset() {
+ this(0, 0);
+ }
+
+ public void setOffset(float offsetX, float offsetY) {
+ this.offsetX = offsetX;
+ this.offsetY = offsetY;
+ }
+
+ public float getX() {
+ return offsetX;
+ }
+
+ public float getY() {
+ return offsetY;
+ }
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/SnappingLine.java b/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/SnappingLine.java
new file mode 100644
index 0000000..2a89e1f
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/internal/hud/utils/SnappingLine.java
@@ -0,0 +1,49 @@
+package cc.polyfrost.oneconfig.internal.hud.utils;
+
+import cc.polyfrost.oneconfig.libs.universal.UResolution;
+import cc.polyfrost.oneconfig.renderer.RenderManager;
+
+import java.awt.*;
+
+public class SnappingLine {
+ private static final int COLOR = new Color(138, 43, 226).getRGB();
+ private final float line;
+ private final float distance;
+ private final float position;
+
+ public SnappingLine(float line, float left, float size, boolean multipleSides) {
+ this.line = line;
+ float center = left + size / 2f;
+ float right = left + size;
+ float leftDistance = Math.abs(line - left);
+ float centerDistance = Math.abs(line - center);
+ float rightDistance = Math.abs(line - right);
+ if (!multipleSides || leftDistance <= centerDistance && leftDistance <= rightDistance) {
+ distance = leftDistance;
+ position = line;
+ } else if (centerDistance <= rightDistance) {
+ distance = centerDistance;
+ position = line - size / 2f;
+ } else {
+ distance = rightDistance;
+ position = line - size;
+ }
+ }
+
+ public void drawLine(long vg, float lineWidth, boolean isX) {
+ float pos = (float) (line * UResolution.getScaleFactor() - lineWidth / 2f);
+ if (isX) {
+ RenderManager.drawLine(vg, pos, 0, pos, UResolution.getWindowHeight(), lineWidth, COLOR);
+ } else {
+ RenderManager.drawLine(vg, 0, pos, UResolution.getWindowWidth(), pos, lineWidth, COLOR);
+ }
+ }
+
+ public float getPosition() {
+ return position;
+ }
+
+ public float getDistance() {
+ return distance;
+ }
+}