summaryrefslogtreecommitdiff
path: root/body/c_fl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'body/c_fl.cpp')
-rw-r--r--body/c_fl.cpp42
1 files changed, 36 insertions, 6 deletions
diff --git a/body/c_fl.cpp b/body/c_fl.cpp
index a9e6d16..24119a6 100644
--- a/body/c_fl.cpp
+++ b/body/c_fl.cpp
@@ -6,6 +6,7 @@
#include <FL/Enumerations.H>
#include <FL/Fl.H>
+#include <FL/Fl_Widget.H>
#include "c_fl.h"
@@ -115,24 +116,53 @@ void fl_redraw() {
+short fl_inside_callback = 0;
+
+void fl_delete_widget(void * w) {
+ Fl::delete_widget(static_cast<Fl_Widget*>(w));
+}
+
+
+
+
int fl_check() {
- return Fl::check();
+ short temp = fl_inside_callback;
+ fl_inside_callback = 1;
+ int ret = Fl::check();
+ fl_inside_callback = temp;
+ return ret;
}
int fl_ready() {
- return Fl::ready();
+ short temp = fl_inside_callback;
+ fl_inside_callback = 1;
+ int ret = Fl::ready();
+ fl_inside_callback = temp;
+ return ret;
}
int fl_wait() {
- return Fl::wait();
+ short temp = fl_inside_callback;
+ fl_inside_callback = 1;
+ int ret = Fl::wait();
+ fl_inside_callback = temp;
+ return ret;
}
-int fl_wait2(double s) {
- return Fl::wait(s);
+double fl_wait2(double s) {
+ short temp = fl_inside_callback;
+ fl_inside_callback = 1;
+ double ret = Fl::wait(s);
+ fl_inside_callback = temp;
+ return ret;
}
int fl_run() {
- return Fl::run();
+ short temp = fl_inside_callback;
+ fl_inside_callback = 1;
+ int ret = Fl::run();
+ fl_inside_callback = temp;
+ return ret;
}