diff options
Diffstat (limited to 'body/c_fl_bitmap.cpp')
-rw-r--r-- | body/c_fl_bitmap.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/body/c_fl_bitmap.cpp b/body/c_fl_bitmap.cpp new file mode 100644 index 0000000..01077b2 --- /dev/null +++ b/body/c_fl_bitmap.cpp @@ -0,0 +1,51 @@ + + +// Programmed by Jedidiah Barber +// Released into the public domain + + +#include <FL/Fl_Bitmap.H> +#include "c_fl_bitmap.h" + + + + +BITMAP new_fl_bitmap(void *data, int w, int h) { + Fl_Bitmap *b = new Fl_Bitmap(static_cast<uchar*>(data), w, h); + return b; +} + +void free_fl_bitmap(BITMAP b) { + delete static_cast<Fl_Bitmap*>(b); +} + +BITMAP fl_bitmap_copy(BITMAP b, int w, int h) { + // virtual so disable dispatch + return static_cast<Fl_Bitmap*>(b)->Fl_Bitmap::copy(w, h); +} + +BITMAP fl_bitmap_copy2(BITMAP b) { + return static_cast<Fl_Bitmap*>(b)->copy(); +} + + + + +void fl_bitmap_uncache(BITMAP b) { + // virtual so disable dispatch + static_cast<Fl_Bitmap*>(b)->Fl_Bitmap::uncache(); +} + + + + +void fl_bitmap_draw2(BITMAP b, int x, int y) { + static_cast<Fl_Bitmap*>(b)->draw(x, y); +} + +void fl_bitmap_draw(BITMAP b, int x, int y, int w, int h, int cx, int cy) { + // virtual so disable dispatch + static_cast<Fl_Bitmap*>(b)->Fl_Bitmap::draw(x, y, w, h, cx, cy); +} + + |