From 86d248ed2b033fe36ce53b0387b2cbdcb69c0b72 Mon Sep 17 00:00:00 2001 From: aura Date: Tue, 28 Jul 2026 19:11:34 +0200 Subject: finish undo/redo --- src/gui/vectorinput.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/gui/vectorinput.cpp') diff --git a/src/gui/vectorinput.cpp b/src/gui/vectorinput.cpp index ad28c0d..3e36e31 100644 --- a/src/gui/vectorinput.cpp +++ b/src/gui/vectorinput.cpp @@ -39,6 +39,20 @@ void gui_vectorinput_child_cb( void* ptr ) { parent->cb( parent ); } +void gui_vectorinput_child_pre_cb( void* ptr ) { + GUI_FLOATINPUT* child = (GUI_FLOATINPUT*)ptr; + GUI_VECTORINPUT* parent = (GUI_VECTORINPUT*)child->parent->parent; + if( parent->pre_cb ) + parent->pre_cb( parent ); +} + +void gui_vectorinput_child_release_cb( void* ptr ) { + GUI_FLOATINPUT* child = (GUI_FLOATINPUT*)ptr; + GUI_VECTORINPUT* parent = (GUI_VECTORINPUT*)child->parent->parent; + if( parent->release_cb ) + parent->release_cb( parent ); +} + void __gui_internal_vectorinput_init( GUI_VECTORINPUT *input, I32 x, I32 y, I32 w, @@ -69,6 +83,7 @@ void __gui_internal_vectorinput_init( gui_set_view( input ); input->cb = 0; + input->release_cb = 0; input->pval = pval; input->letters = letters; input->inputview = gui_view( 0, VECTORINPUT_TITLE_OFFSET, w, input->h ); @@ -90,6 +105,8 @@ void __gui_internal_vectorinput_init( input->inputs.push( slider ); slider->cb = gui_vectorinput_child_cb; + slider->pre_cb = gui_vectorinput_child_pre_cb; + slider->release_cb = gui_vectorinput_child_release_cb; } gui_set_view( parent ); -- cgit v1.2.3