diff --git a/README.md b/README.md index 6cc9109..63e5c6e 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ Clay_LayoutConfig sidebarItemLayout = (Clay_LayoutConfig) { // Re-useable components are just normal functions void SidebarItemComponent(int index) { - CLAY_RECTANGLE(CLAY_IDI("SidebarBlob", index), sidebarItemLayout, CLAY_RECTANGLE_CONFIG(.color = COLOR_ORANGE)) {}; + CLAY_RECTANGLE(CLAY_IDI("SidebarBlob", index), sidebarItemLayout, CLAY_RECTANGLE_CONFIG(.color = COLOR_ORANGE)) {} } // An example function to begin the "root" of your layout tree diff --git a/bindings/odin/clay-odin/clay.odin b/bindings/odin/clay-odin/clay.odin index f002ea4..740a2f6 100644 --- a/bindings/odin/clay-odin/clay.odin +++ b/bindings/odin/clay-odin/clay.odin @@ -282,7 +282,8 @@ foreign Clay { _StoreCustomElementConfig :: proc(config: CustomElementConfig) -> ^CustomElementConfig --- _StoreScrollElementConfig :: proc(config: ScrollElementConfig) -> ^ScrollElementConfig --- _StoreBorderElementConfig :: proc(config: BorderElementConfig) -> ^BorderElementConfig --- - _HashString :: proc(toHash: String, index: u32) -> ElementId --- + _HashString :: proc(toHash: String, index: u32, seed: u32) -> ElementId --- + _GetOpenLayoutElementId :: proc() -> u32 --- } @(require_results, deferred_none = _CloseElementWithChildren) @@ -409,5 +410,9 @@ MakeString :: proc(label: string) -> String { } ID :: proc(label: string, index: u32 = 0) -> ElementId { - return _HashString(MakeString(label), index) + return _HashString(MakeString(label), index, 0) +} + +IDLocal :: proc(label: string, index: u32 = 0) -> ElementId { + return _HashString(MakeString(label), index, _GetOpenLayoutElementId()) } diff --git a/bindings/odin/clay-odin/linux/clay.a b/bindings/odin/clay-odin/linux/clay.a index de15bdb..c39dc35 100644 Binary files a/bindings/odin/clay-odin/linux/clay.a and b/bindings/odin/clay-odin/linux/clay.a differ diff --git a/bindings/odin/clay-odin/macos-arm64/clay.a b/bindings/odin/clay-odin/macos-arm64/clay.a index 9a816b0..67974dc 100644 Binary files a/bindings/odin/clay-odin/macos-arm64/clay.a and b/bindings/odin/clay-odin/macos-arm64/clay.a differ diff --git a/bindings/odin/clay-odin/macos/clay.a b/bindings/odin/clay-odin/macos/clay.a index 1989cde..4e9e57c 100644 Binary files a/bindings/odin/clay-odin/macos/clay.a and b/bindings/odin/clay-odin/macos/clay.a differ diff --git a/bindings/odin/clay-odin/wasm/clay.o b/bindings/odin/clay-odin/wasm/clay.o index 81ce2bb..f2497e9 100644 Binary files a/bindings/odin/clay-odin/wasm/clay.o and b/bindings/odin/clay-odin/wasm/clay.o differ diff --git a/bindings/odin/clay-odin/windows/clay.lib b/bindings/odin/clay-odin/windows/clay.lib index 34cee6b..8822de7 100644 Binary files a/bindings/odin/clay-odin/windows/clay.lib and b/bindings/odin/clay-odin/windows/clay.lib differ