diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2025-01-21 21:04:54 +1300 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2025-01-21 21:04:54 +1300 |
commit | b4438b2fbe895694be98e6e8426103deefc51448 (patch) | |
tree | 760d86cd7c06420a91dad102cc9546aee73146fc /src/c_fl_cairo_window.cpp | |
parent | a4703a65b015140cd4a7a985db66264875ade734 (diff) |
Split public API and private implementation files into different directories
Diffstat (limited to 'src/c_fl_cairo_window.cpp')
-rw-r--r-- | src/c_fl_cairo_window.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/src/c_fl_cairo_window.cpp b/src/c_fl_cairo_window.cpp deleted file mode 100644 index 4bf75f0..0000000 --- a/src/c_fl_cairo_window.cpp +++ /dev/null @@ -1,98 +0,0 @@ - - -// Programmed by Jedidiah Barber -// Released into the public domain - - -#include <FL/Fl_Cairo_Window.H> -#include <FL/Fl_Double_Window.H> -#include "c_fl_cairo_window.h" - - - - -// 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_Cairo_Window : -#ifdef FLTK_HAVE_CAIRO -public Fl_Cairo_Window -#else -public Fl_Double_Window -#endif -{ -public: -#ifdef FLTK_HAVE_CAIRO - using Fl_Cairo_Window::Fl_Cairo_Window; -#else - using Fl_Double_Window::Fl_Double_Window; -#endif - - friend void fl_cairo_window_draw(CAIROWINDOW w); - - int handle(int e); - void draw(); -}; - - -void My_Cairo_Window::draw() { - widget_draw_hook(this->user_data()); -} - -int My_Cairo_Window::handle(int e) { - return widget_handle_hook(this->user_data(), e); -} - - - - -// Flattened C API begins here - -CAIROWINDOW new_fl_cairo_window(int w, int h) { - My_Cairo_Window *c = new My_Cairo_Window(w, h); - return c; -} - -void free_fl_cairo_window(CAIROWINDOW w) { - delete static_cast<My_Cairo_Window*>(w); -} - - - - -void fl_cairo_window_set_draw_cb(CAIROWINDOW w, void * cb) { - #ifdef FLTK_HAVE_CAIRO - static_cast<Fl_Cairo_Window*>(w)->set_draw_cb(reinterpret_cast<cairo_draw_cb>(cb)); - #else - (void)(w); - (void)(cb); - #endif -} - - - - -void fl_cairo_window_draw(CAIROWINDOW w) { - #ifdef FLTK_HAVE_CAIRO - static_cast<My_Cairo_Window*>(w)->Fl_Cairo_Window::draw(); - #else - static_cast<My_Cairo_Window*>(w)->Fl_Double_Window::draw(); - #endif -} - -int fl_cairo_window_handle(CAIROWINDOW w, int e) { - #ifdef FLTK_HAVE_CAIRO - return static_cast<My_Cairo_Window*>(w)->Fl_Cairo_Window::handle(e); - #else - return static_cast<My_Cairo_Window*>(w)->Fl_Double_Window::handle(e); - #endif -} - - |