summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/server.cpp
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-14 12:20:24 +0900
committerAdam Malczewski <[email protected]>2026-06-14 12:20:24 +0900
commita044b44c936569db7e790546b81b4792c8e72058 (patch)
tree00f048830f8f77c9d6e8ab11cdc0729b3ed8a56c /packages/kernel/src/server.cpp
parent4fd36d643f9c66455e245eb65f5f9f916200ed5a (diff)
downloadunbox-a044b44c936569db7e790546b81b4792c8e72058.tar.gz
unbox-a044b44c936569db7e790546b81b4792c8e72058.zip
kernel: add UiSurface::bind_drag (RmlUi drag events with surface-local coords)
Forwards RmlUi Dragstart/Drag/Dragend for a named callback as DragPhase {start,move,end} with surface-local x/y, so an extension can drive an interactive drag from a captured ui-surface touch (the touch bus never sees it). Mirrors bind_event's error-isolation + hot-reload handling.
Diffstat (limited to 'packages/kernel/src/server.cpp')
-rw-r--r--packages/kernel/src/server.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/packages/kernel/src/server.cpp b/packages/kernel/src/server.cpp
index cbd23c3..66f2cc3 100644
--- a/packages/kernel/src/server.cpp
+++ b/packages/kernel/src/server.cpp
@@ -105,6 +105,10 @@ auto Server::ui_click_element(const char* tag, int index) -> bool {
return impl_->substrate != nullptr && impl_->substrate->click_element(tag, index);
}
+auto Server::ui_drag_element(const char* tag, int index, double dx, double dy) -> bool {
+ return impl_->substrate != nullptr && impl_->substrate->drag_element(tag, index, dx, dy);
+}
+
auto Server::ui_reload_surface() -> bool {
return impl_->substrate != nullptr && impl_->substrate->reload_first_surface();
}