// Test negative widths & heights for drawing aligned rectangles. // Also draw a circle with negative radius. // All shapes should appear with a white 4-pixel border import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.extra.noise.Random import org.openrndr.math.Vector2 import org.openrndr.shape.Rectangle suspend fun main() = application { program { val margin = 5.0 val squareSize = 100.0 extend { drawer.clear(ColorRGBa.GRAY) drawer.fill = ColorRGBa.PINK drawer.stroke = ColorRGBa.WHITE drawer.strokeWeight = 4.0 // Top Left drawer.rectangle(margin, margin, squareSize, squareSize) // Top Right drawer.rectangle(width - margin, margin, -squareSize, squareSize) // Bottom Right drawer.rectangle(width - margin, height - margin, -squareSize, -squareSize) // Bottom Left drawer.rectangle(margin, height - margin, squareSize, -squareSize) // Circle with negative radius drawer.circle(drawer.bounds.center, -squareSize * 2) // Rectangles with the bottom right corner centered in the window drawer.rectangles(List(10) { Rectangle(drawer.bounds.center, -squareSize * 2 + it * 10, -squareSize * 2 + it * 10) }) } } }