aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/Renderer.kt
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2020-12-28 15:06:36 +0000
committerJames Barnett <noreply@jamesbarnett.xyz>2020-12-28 15:06:36 +0000
commit01727649bb1fbe3e0c721a850bd21973d7e760f2 (patch)
treef9beb156683534e2619879598cd29f8c9e5f5ed7 /src/main/kotlin/Renderer.kt
parenta4250a3959dd99b567d41a4e85f02a17de2c00ce (diff)
downloadkotlin-raycaster-01727649bb1fbe3e0c721a850bd21973d7e760f2.tar.xz
kotlin-raycaster-01727649bb1fbe3e0c721a850bd21973d7e760f2.zip
Initial implementation
Diffstat (limited to 'src/main/kotlin/Renderer.kt')
-rw-r--r--src/main/kotlin/Renderer.kt31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/kotlin/Renderer.kt b/src/main/kotlin/Renderer.kt
new file mode 100644
index 0000000..b266e61
--- /dev/null
+++ b/src/main/kotlin/Renderer.kt
@@ -0,0 +1,31 @@
+import kotlinx.browser.document
+import org.w3c.dom.CanvasRenderingContext2D
+import org.w3c.dom.HTMLCanvasElement
+
+class Renderer(val w: Int, val h: Int) {
+
+ private val canvas = (document.createElement("canvas") as HTMLCanvasElement)
+ .apply {
+ width = w
+ height = h
+ }
+ private val context = canvas.getContext("2d") as CanvasRenderingContext2D
+
+ init {
+ document.body!!.appendChild(canvas)
+ }
+
+ fun drawLine(startX: Int, startY: Int, endX: Int, endY: Int, cssColour: String = "#FF0000") {
+ context.strokeStyle = cssColour
+ context.lineWidth = 4.0
+ context.beginPath()
+ context.moveTo(startX.toDouble(), startY.toDouble())
+ context.lineTo(endX.toDouble(), endY.toDouble())
+ context.stroke()
+ }
+
+ fun clear() {
+ context.clearRect(0.0, 0.0, w.toDouble(), h.toDouble())
+ }
+
+} \ No newline at end of file