import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.draw.LineJoin import org.openrndr.math.Vector2 import org.openrndr.shape.ShapeContour import org.openrndr.shape.contour /** * a simple demo that tests line joins * * This was made to assist in resolving https://github.com/openrndr/openrndr/issues/162 */ fun arc(start: Vector2, end: Vector2, radius: Double): ShapeContour { return contour { moveTo(start) arcTo(radius, radius, 0.0, false, false, end) } } fun main() = application { configure { width = 800 height = 800 } program { val center = Vector2(width / 2.0, height / 2.0) val extra = Vector2(75.0, 75.0) extend { drawer.clear(ColorRGBa.PINK) drawer.lineJoin = LineJoin.BEVEL drawer.strokeWeight = 40.0 drawer.contour(arc(center - extra, center - extra - extra, 75.0)) drawer.contour(arc(center, center + extra, 75.0 / 2.0)) drawer.contour(arc(center + extra + extra, center + extra, 75.0 / 2.0)) } } }