diff options
Diffstat (limited to 'src/c_fl_input.cpp')
-rw-r--r-- | src/c_fl_input.cpp | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/c_fl_input.cpp b/src/c_fl_input.cpp deleted file mode 100644 index c66b46d..0000000 --- a/src/c_fl_input.cpp +++ /dev/null @@ -1,82 +0,0 @@ - - -// Programmed by Jedidiah Barber -// Released into the public domain - - -#include <FL/Fl_Input.H> -#include "c_fl_input.h" - - - - -// Telprot stopovers - -extern "C" void text_input_extra_init_hook(void * aobj, int x, int y, int w, int h, const char * l); -void fl_text_input_extra_init(void * adaobj, int x, int y, int w, int h, const char * label) { - text_input_extra_init_hook(adaobj, x, y, w, h, label); -} - -extern "C" void text_input_extra_final_hook(void * aobj); -void fl_text_input_extra_final(void * adaobj) { - text_input_extra_final_hook(adaobj); -} - - - - -// Exports from Ada - -extern "C" void widget_draw_hook(void * ud); -extern "C" int widget_handle_hook(void * ud, int e); - - - - -// Attaching all relevant hooks and friends - -class My_Text_Input : public Fl_Input { -public: - using Fl_Input::Fl_Input; - - friend void fl_text_input_draw(TEXTINPUT t); - friend int fl_text_input_handle(TEXTINPUT t, int e); - - void draw(); - int handle(int e); -}; - -void My_Text_Input::draw() { - widget_draw_hook(this->user_data()); -} - -int My_Text_Input::handle(int e) { - return widget_handle_hook(this->user_data(), e); -} - - - - -// Flattened C API - -TEXTINPUT new_fl_text_input(int x, int y, int w, int h, char * label) { - My_Text_Input * t = new My_Text_Input(x, y, w, h, label); - return t; -} - -void free_fl_text_input(TEXTINPUT t) { - delete reinterpret_cast<My_Text_Input*>(t); -} - - - - -void fl_text_input_draw(TEXTINPUT t) { - reinterpret_cast<My_Text_Input*>(t)->Fl_Input::draw(); -} - -int fl_text_input_handle(TEXTINPUT t, int e) { - return reinterpret_cast<My_Text_Input*>(t)->Fl_Input::handle(e); -} - - |