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

104 lines
3.1 KiB
Kotlin

package net.shadowfacts.asmr
import net.minecraft.util.Identifier
import net.shadowfacts.kiwidsl.dsl
import net.shadowfacts.cacao.CacaoScreen
import net.shadowfacts.cacao.view.View
import net.shadowfacts.cacao.Window
import net.shadowfacts.cacao.geometry.Axis
import net.shadowfacts.cacao.geometry.Size
import net.shadowfacts.cacao.util.Color
import net.shadowfacts.cacao.util.Texture
import net.shadowfacts.cacao.view.Label
import net.shadowfacts.cacao.view.StackView
import net.shadowfacts.cacao.view.TextureView
import net.shadowfacts.cacao.view.button.Button
/**
* @author shadowfacts
*/
class TestCacaoScreen: CacaoScreen() {
init {
addWindow(Window().apply {
val stack = addView(StackView(Axis.VERTICAL, StackView.Distribution.CENTER).apply {
backgroundColor = Color.WHITE
})
val red = stack.addArrangedSubview(TextureView(Texture(Identifier("textures/block/birch_log_top.png"), 0, 0, 16, 16)).apply {
intrinsicContentSize = Size(50.0, 50.0)
})
val green = stack.addArrangedSubview(View().apply {
intrinsicContentSize = Size(75.0, 100.0)
backgroundColor = Color(0x00ff00)
})
val blue = stack.addArrangedSubview(View().apply {
intrinsicContentSize = Size(50.0, 50.0)
backgroundColor = Color(0x0000ff)
})
val purple = blue.addSubview(Button(Label("Hello, button!")).apply {
handler = {
println("$it clicked!")
}
background = View().apply {
backgroundColor = Color(0xebfc00)
}
})
solver.dsl {
stack.topAnchor equalTo 50
stack.leftAnchor equalTo 50
stack.rightAnchor equalTo 150
purple.centerXAnchor equalTo blue.centerXAnchor
purple.centerYAnchor equalTo blue.centerYAnchor
}
layout()
// 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)
// })
// purple.intrinsicContentSize = Size(width = 150.0, height = 150.0)
// val label = purple.addSubview(Label("Hello, world!").apply {
// textColor = Color.WHITE
// })
//
// 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
//
// label.centerXAnchor equalTo purple.centerXAnchor
// label.centerYAnchor equalTo purple.centerYAnchor
// }
//
// layout()
})
}
}