ASMR/src/main/kotlin/net/shadowfacts/shadowui/Window.kt

30 lines
457 B
Kotlin
Raw Normal View History

package net.shadowfacts.shadowui
import net.shadowfacts.shadowui.geometry.Point
import no.birkett.kiwi.Solver
class Window {
var solver = Solver()
val views = mutableListOf<View>()
fun <T: View> addView(view: T): T {
views.add(view)
view.solver = solver
view.wasAdded()
return view
}
fun layout() {
solver.updateVariables()
views.forEach(View::didLayout)
}
fun draw(mouse: Point, delta: Float) {
views.forEach(View::draw)
}
}