aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/Scissor.java5
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java21
2 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/Scissor.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/Scissor.java
index 9523865..089268f 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/Scissor.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/Scissor.java
@@ -1,5 +1,10 @@
package cc.polyfrost.oneconfig.lwjgl.scissor;
+/**
+ * A class that represents a scissor rectangle.
+ *
+ * @see ScissorManager
+ */
public class Scissor {
public float x;
public float y;
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java
index 1697b7e..05747df 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/scissor/ScissorManager.java
@@ -4,9 +4,21 @@ import org.lwjgl.nanovg.NanoVG;
import java.util.ArrayList;
+/**
+ * Provides an easy way to manage and group scissor rectangles.
+ */
public class ScissorManager {
private static final ArrayList<Scissor> scissors = new ArrayList<>();
+ /**
+ * Adds and applies a scissor rectangle to the list of scissor rectangles.
+ * @param vg The NanoVG context.
+ * @param x The x coordinate of the scissor rectangle.
+ * @param y The y coordinate of the scissor rectangle.
+ * @param width The width of the scissor rectangle.
+ * @param height The height of the scissor rectangle.
+ * @return The scissor rectangle.
+ */
public static Scissor scissor(long vg, float x, float y, float width, float height) {
Scissor scissor = new Scissor(x, y, width, height);
if (scissors.contains(scissor)) return scissor;
@@ -15,6 +27,11 @@ public class ScissorManager {
return scissor;
}
+ /**
+ * Resets the scissor rectangle provided.
+ * @param vg The NanoVG context.
+ * @param scissor The scissor rectangle to reset.
+ */
public static void resetScissor(long vg, Scissor scissor) {
if (scissors.contains(scissor)) {
scissors.remove(scissor);
@@ -22,6 +39,10 @@ public class ScissorManager {
}
}
+ /**
+ * Clear all scissor rectangles.
+ * @param vg The NanoVG context.
+ */
public static void clearScissors(long vg) {
scissors.clear();
NanoVG.nvgResetScissor(vg);