diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2020-12-29 20:13:01 +0000 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2020-12-29 20:13:01 +0000 |
| commit | ad192fe7068081ed88f8616581bf450d601e99b1 (patch) | |
| tree | e3cda400065c051ee628dbeb85709f778c90311e /src/main/kotlin/Renderer.kt | |
| parent | e816c727624056b91c5ef5152c3121a7f8497c5b (diff) | |
| download | kotlin-raycaster-ad192fe7068081ed88f8616581bf450d601e99b1.tar.xz kotlin-raycaster-ad192fe7068081ed88f8616581bf450d601e99b1.zip | |
Add textures
Diffstat (limited to 'src/main/kotlin/Renderer.kt')
| -rw-r--r-- | src/main/kotlin/Renderer.kt | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/main/kotlin/Renderer.kt b/src/main/kotlin/Renderer.kt index 8f71352..3a7111e 100644 --- a/src/main/kotlin/Renderer.kt +++ b/src/main/kotlin/Renderer.kt @@ -2,29 +2,38 @@ import kotlinx.browser.document import org.w3c.dom.CanvasRenderingContext2D import org.w3c.dom.HTMLCanvasElement -class Renderer(val viewportWidth: Int, val viewportHeight: Int) { +class Renderer(val viewportWidth: Int, val viewportHeight: Int, private val outputScale: Int) { private val canvas = (document.createElement("canvas") as HTMLCanvasElement) .apply { - width = viewportWidth - height = viewportHeight + width = viewportWidth * outputScale + height = viewportHeight * outputScale } private val context = canvas.getContext("2d") as CanvasRenderingContext2D init { + context.scale(outputScale.toDouble(), outputScale.toDouble()) document.body!!.appendChild(canvas) } - fun drawLine(startX: Int, startY: Int, endX: Int, endY: Int, cssColour: String = "#FF0000") { + fun drawLine(startX: Double, startY: Double, endX: Double, endY: Double, cssColour: String = "#FF0000") { context.strokeStyle = cssColour - context.lineWidth = 4.0 + context.lineWidth = 2.0 context.beginPath() - context.moveTo(startX.toDouble(), startY.toDouble()) - context.lineTo(endX.toDouble(), endY.toDouble()) + context.moveTo(startX, startY) + context.lineTo(endX, endY) context.stroke() } + fun drawLine(startX: Int, startY: Double, endX: Int, endY: Double, cssColour: String = "#FF0000") { + drawLine(startX.toDouble(), startY, endX.toDouble(), endY, cssColour) + } + + fun drawLine(startX: Int, startY: Double, endX: Int, endY: Int, cssColour: String = "#FF0000") { + drawLine(startX.toDouble(), startY, endX.toDouble(), endY.toDouble(), cssColour) + } + fun clear() { context.clearRect(0.0, 0.0, viewportWidth.toDouble(), viewportHeight.toDouble()) } |