diff options
| author | Adam Malczewski <[email protected]> | 2026-06-13 17:31:27 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-13 17:31:27 +0900 |
| commit | c1dbe7494fb88ceb59bc26914e47ef38eba1cf9e (patch) | |
| tree | 0195cc431eb5b72603344bab3542b0e22e38b31e /packages/kernel/src/server.cpp | |
| parent | 64c21337e7ccd3e158462771cd2e2886554256f0 (diff) | |
| download | unbox-c1dbe7494fb88ceb59bc26914e47ef38eba1cf9e.tar.gz unbox-c1dbe7494fb88ceb59bc26914e47ef38eba1cf9e.zip | |
Slice 10 b2: UiSurface list/container data bindings
The stage dock is one RML document rendering a variable list of slots (one per
minimized window). Adds the deferred slice-6 list-binding shape to UiSurface:
bind_list(name, count) + typed per-row fields bind_list_string/int/double/bool
(list, field, getter(row)) read as {{ row.field }} via data-for, and
bind_list_event(list, event, callback(row)) routed from data-event-*(it_index).
dirty(<list>) re-reads count + visible rows. Same error-isolation + bind-before-
first-frame contract as the scalar bindings; nested lists unsupported.
kernel suite green on build + build-asan (asan clean). Edits confined to packages/kernel/.
Diffstat (limited to 'packages/kernel/src/server.cpp')
| -rw-r--r-- | packages/kernel/src/server.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/kernel/src/server.cpp b/packages/kernel/src/server.cpp index b302c68..95631df 100644 --- a/packages/kernel/src/server.cpp +++ b/packages/kernel/src/server.cpp @@ -89,6 +89,14 @@ auto Server::ui_pixel(int x, int y) const -> unsigned int { return impl_->substrate != nullptr ? impl_->substrate->surface_pixel(x, y) : 0U; } +auto Server::ui_element_count(const char* tag) const -> int { + return impl_->substrate != nullptr ? impl_->substrate->element_count(tag) : 0; +} + +auto Server::ui_click_element(const char* tag, int index) -> bool { + return impl_->substrate != nullptr && impl_->substrate->click_element(tag, index); +} + void Server::ui_set_touch_override(UiTouchOverride ov) { if (impl_->substrate == nullptr) { return; |
