diff options
author | Linnea Gräf <nea@nea.moe> | 2024-10-18 00:41:25 +0200 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-10-18 14:36:51 +0200 |
commit | c89b663acad487caeb15f7521be3dd14342dd4e7 (patch) | |
tree | ae21daabaf5de1ac5281509c6fa9446259169ae5 /src/main/kotlin/util/render/DrawContextExt.kt | |
parent | 7de0e8e7e09e3428c17ca9717c21c02469c31b76 (diff) | |
download | Firmament-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.kt | 19 |
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() +} + |