30 lines
457 B
Kotlin
30 lines
457 B
Kotlin
|
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)
|
||
|
}
|
||
|
|
||
|
}
|