Migrate to Clay main branch rather than release

This commit is contained in:
Zachary Levy
2026-05-08 15:58:33 -07:00
parent 43f08ed30c
commit c0fd79457c
9 changed files with 204 additions and 95 deletions
+2
View File
@@ -915,6 +915,8 @@ dispatch_clay_command :: proc(
}
}
case clay.RenderCommandType.ScissorEnd:
case clay.RenderCommandType.OverlayColorStart, clay.RenderCommandType.OverlayColorEnd:
unimplemented("Clay overlays not supported yet...")
case clay.RenderCommandType.Rectangle:
render_data := render_command.renderData.rectangle
cr := render_data.cornerRadius
+10 -15
View File
@@ -244,9 +244,8 @@ hellope_clay :: proc() {
base_layer := draw.begin({width = 500, height = 500})
clay.SetLayoutDimensions({width = base_layer.bounds.width, height = base_layer.bounds.height})
clay.BeginLayout()
if clay.UI()(
if clay.UI(clay.ID("outer"))(
{
id = clay.ID("outer"),
layout = {
sizing = {clay.SizingGrow({}), clay.SizingGrow({})},
childAlignment = {x = .Center, y = .Center},
@@ -254,11 +253,11 @@ hellope_clay :: proc() {
backgroundColor = {127, 127, 127, 255},
},
) {
clay.Text("Hellope!", &text_config)
clay.Text("Hellope!", text_config)
}
clay_batch := draw.ClayBatch {
bounds = base_layer.bounds,
cmds = clay.EndLayout(),
cmds = clay.EndLayout(0),
}
draw.prepare_clay_batch(base_layer, &clay_batch, {0, 0})
draw.end(gpu, window)
@@ -320,9 +319,8 @@ hellope_custom :: proc() {
clay.SetLayoutDimensions({width = base_layer.bounds.width, height = base_layer.bounds.height})
clay.BeginLayout()
if clay.UI()(
if clay.UI(clay.ID("outer"))(
{
id = clay.ID("outer"),
layout = {
sizing = {clay.SizingGrow({}), clay.SizingGrow({})},
childAlignment = {x = .Center, y = .Center},
@@ -332,8 +330,8 @@ hellope_custom :: proc() {
backgroundColor = {50, 50, 50, 255},
},
) {
if clay.UI()({id = clay.ID("title"), layout = {sizing = {clay.SizingFit({}), clay.SizingFit({})}}}) {
clay.Text("Custom Draw Demo", &text_config)
if clay.UI(clay.ID("title"))({layout = {sizing = {clay.SizingFit({}), clay.SizingFit({})}}}) {
clay.Text("Custom Draw Demo", text_config)
}
// gauge1 is BEHIND the backdrop — the backdrop is declared as a floating CHILD
@@ -344,17 +342,15 @@ hellope_custom :: proc() {
// reflection inside the strip), and gauge2 is deferred-replayed by
// `prepare_clay_batch` after the bracket closes (renders crisp on top of the
// bracket output — unrelated to the strip since they don't overlap).
if clay.UI()(
if clay.UI(clay.ID("gauge"))(
{
id = clay.ID("gauge"),
layout = {sizing = {clay.SizingFixed(300), clay.SizingFixed(30)}},
custom = {customData = &gauge_custom},
backgroundColor = {80, 80, 80, 255},
},
) {
if clay.UI()(
if clay.UI(clay.ID("backdrop"))(
{
id = clay.ID("backdrop"),
floating = {attachTo = .Parent, attachment = {parent = .LeftTop, element = .LeftTop}},
layout = {sizing = {clay.SizingFixed(300), clay.SizingFixed(30)}},
custom = {customData = &backdrop_custom},
@@ -362,9 +358,8 @@ hellope_custom :: proc() {
) {}
}
if clay.UI()(
if clay.UI(clay.ID("gauge2"))(
{
id = clay.ID("gauge2"),
layout = {sizing = {clay.SizingFixed(300), clay.SizingFixed(30)}},
custom = {customData = &gauge2_custom},
backgroundColor = {80, 80, 80, 255},
@@ -374,7 +369,7 @@ hellope_custom :: proc() {
clay_batch := draw.ClayBatch {
bounds = base_layer.bounds,
cmds = clay.EndLayout(),
cmds = clay.EndLayout(0),
}
draw.prepare_clay_batch(base_layer, &clay_batch, {0, 0}, custom_draw = draw_custom)
draw.end(gpu, window)