From 01727649bb1fbe3e0c721a850bd21973d7e760f2 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Mon, 28 Dec 2020 15:06:36 +0000 Subject: Initial implementation --- src/main/kotlin/Renderer.kt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/kotlin/Renderer.kt (limited to 'src/main/kotlin/Renderer.kt') 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 -- cgit v1.2.3