package net.shadowfacts.shadowui import net.shadowfacts.shadowui.geometry.Point import no.birkett.kiwi.Solver /** * @author shadowfacts */ class Window { var solver = Solver() val views = mutableListOf() fun 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) } }