From 92978a10576d52a0f6c9983d3b6afae7c40eff40 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Thu, 12 Mar 2026 15:29:23 -0700 Subject: Support scrolling by dragging scrollbars --- src/widget/widget.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/widget/widget.c') diff --git a/src/widget/widget.c b/src/widget/widget.c index ef79ac4..ebcaf10 100644 --- a/src/widget/widget.c +++ b/src/widget/widget.c @@ -63,11 +63,28 @@ uiPtr uiMakeTablePtr(uiTable* table) { return (uiPtr){.type = uiTypeTable, .table = table}; } -static uiPtr uiMakeWidgetPtr(uiWidget* widget) { +uiPtr uiMakeWidgetPtr(uiWidget* widget) { assert(widget); - return (uiPtr){.type = widget->type, .widget = widget}; + switch (widget->type) { + case uiTypeButton: + return uiMakeButtonPtr((uiButton*)widget); + case uiTypeFrame: + return uiMakeFramePtr((uiFrame*)widget); + case uiTypeLabel: + return uiMakeLabelPtr((uiLabel*)widget); + case uiTypeTable: + return uiMakeTablePtr((uiTable*)widget); + default: + ASSERT(false); + break; + } + return (uiPtr){0}; } +uiPtr uiNullptr(void) { return (uiPtr){0}; } + +bool uiIsNullptr(uiPtr ptr) { return ptr.widget == 0; } + uiButton* uiGetButtonPtr(uiPtr ptr) { assert(ptr.type == uiTypeButton); assert(ptr.button); -- cgit v1.2.3