aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/render/DrawContextExt.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-10-18 00:41:25 +0200
committerLinnea Gräf <nea@nea.moe>2024-10-18 14:36:51 +0200
commitc89b663acad487caeb15f7521be3dd14342dd4e7 (patch)
treeae21daabaf5de1ac5281509c6fa9446259169ae5 /src/main/kotlin/util/render/DrawContextExt.kt
parent7de0e8e7e09e3428c17ca9717c21c02469c31b76 (diff)
downloadFirmament-c89b663acad487caeb15f7521be3dd14342dd4e7.tar.gz
Firmament-c89b663acad487caeb15f7521be3dd14342dd4e7.tar.bz2
Firmament-c89b663acad487caeb15f7521be3dd14342dd4e7.zip
Add slot binding
Diffstat (limited to 'src/main/kotlin/util/render/DrawContextExt.kt')
-rw-r--r--src/main/kotlin/util/render/DrawContextExt.kt19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/kotlin/util/render/DrawContextExt.kt b/src/main/kotlin/util/render/DrawContextExt.kt
index 48698b4..3e086b8 100644
--- a/src/main/kotlin/util/render/DrawContextExt.kt
+++ b/src/main/kotlin/util/render/DrawContextExt.kt
@@ -1,8 +1,27 @@
package moe.nea.firmament.util.render
+import com.mojang.blaze3d.systems.RenderSystem
+import me.shedaniel.math.Color
import org.joml.Matrix4f
import net.minecraft.client.gui.DrawContext
+import moe.nea.firmament.util.MC
fun DrawContext.isUntranslatedGuiDrawContext(): Boolean {
return (matrices.peek().positionMatrix.properties() and Matrix4f.PROPERTY_IDENTITY.toInt()) != 0
}
+
+fun DrawContext.drawLine(fromX: Int, fromY: Int, toX: Int, toY: Int, color: Color) {
+ // TODO: push scissors
+ if (toY < fromY) {
+ drawLine(toX, toY, fromX, fromY, color)
+ return
+ }
+ RenderSystem.lineWidth(MC.window.scaleFactor.toFloat())
+ val buf = this.vertexConsumers.getBuffer(RenderInWorldContext.RenderLayers.LINES)
+ buf.vertex(fromX.toFloat(), fromY.toFloat(), 0F).color(color.color)
+ .normal(toX - fromX.toFloat(), toY - fromY.toFloat(), 0F)
+ buf.vertex(toX.toFloat(), toY.toFloat(), 0F).color(color.color)
+ .normal(toX - fromX.toFloat(), toY - fromY.toFloat(), 0F)
+ this.draw()
+}
+