ASMR/src/main/kotlin/net/shadowfacts/asmr/TestScreen.kt

52 lines
1.3 KiB
Kotlin

package net.shadowfacts.asmr
import net.shadowfacts.kiwidsl.dsl
import net.shadowfacts.shadowui.Screen
import net.shadowfacts.shadowui.View
import net.shadowfacts.shadowui.Window
import net.shadowfacts.shadowui.util.Color
class TestScreen: Screen() {
init {
windows.add(Window().apply {
val red = addView(View().apply {
backgroundColor = Color(0xff0000)
})
val green = addView(View().apply {
backgroundColor = Color(0x00ff00)
})
val blue = addView(View().apply {
backgroundColor = Color(0x0000ff)
})
val purple = green.addSubview(View().apply {
backgroundColor = Color(0x800080)
})
solver.dsl {
red.leftAnchor equalTo 0
red.widthAnchor equalTo 200
red.topAnchor equalTo 0
red.heightAnchor equalTo 100
green.leftAnchor equalTo (red.leftAnchor + red.widthAnchor + 20)
green.widthAnchor equalTo red.widthAnchor
green.topAnchor equalTo 0
green.heightAnchor equalTo (red.heightAnchor + 100)
blue.leftAnchor equalTo green.leftAnchor
blue.widthAnchor equalTo green.widthAnchor
blue.topAnchor equalTo (green.topAnchor + green.heightAnchor)
blue.heightAnchor equalTo 50
purple.widthAnchor equalTo 100
purple.heightAnchor equalTo 100
purple.centerXAnchor equalTo green.centerXAnchor
purple.centerYAnchor equalTo green.centerYAnchor
}
layout()
})
}
}