summaryrefslogtreecommitdiff
path: root/src/gui/vectorinput.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/vectorinput.cpp')
-rw-r--r--src/gui/vectorinput.cpp17
1 files changed, 17 insertions, 0 deletions
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 );