diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2020-12-28 15:06:36 +0000 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2020-12-28 15:06:36 +0000 |
| commit | 01727649bb1fbe3e0c721a850bd21973d7e760f2 (patch) | |
| tree | f9beb156683534e2619879598cd29f8c9e5f5ed7 /src/main/kotlin/Renderer.kt | |
| parent | a4250a3959dd99b567d41a4e85f02a17de2c00ce (diff) | |
| download | kotlin-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.kt | 31 |
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 |