summaryrefslogtreecommitdiff
path: root/body/c_fl_image_surface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'body/c_fl_image_surface.cpp')
-rw-r--r--body/c_fl_image_surface.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/body/c_fl_image_surface.cpp b/body/c_fl_image_surface.cpp
new file mode 100644
index 0000000..51df5fb
--- /dev/null
+++ b/body/c_fl_image_surface.cpp
@@ -0,0 +1,55 @@
+
+
+// Programmed by Jedidiah Barber
+// Released into the public domain
+
+
+#include <FL/Fl_Image_Surface.H>
+#include <FL/Fl_Widget.H>
+#include <FL/Fl_Window.H>
+#include "c_fl_image_surface.h"
+
+
+
+
+// Flattened C API
+
+IMAGESURFACE new_fl_image_surface(int w, int h, int r) {
+ Fl_Image_Surface *s = new Fl_Image_Surface(w,h,r);
+ return s;
+}
+
+void free_fl_image_surface(IMAGESURFACE s) {
+ delete static_cast<Fl_Image_Surface*>(s);
+}
+
+
+
+
+void fl_image_surface_draw(IMAGESURFACE s, void * w, int dx, int dy) {
+ static_cast<Fl_Image_Surface*>(s)->draw(static_cast<Fl_Widget*>(w),dx,dy);
+}
+
+void fl_image_surface_draw_decorated_window(IMAGESURFACE s, void * w, int dx, int dy) {
+ static_cast<Fl_Image_Surface*>(s)->draw_decorated_window(static_cast<Fl_Window*>(w),dx,dy);
+}
+
+
+
+
+void * fl_image_surface_image(IMAGESURFACE s) {
+ return static_cast<Fl_Image_Surface*>(s)->image();
+}
+
+void * fl_image_surface_highres_image(IMAGESURFACE s) {
+ return static_cast<Fl_Image_Surface*>(s)->highres_image();
+}
+
+
+
+
+void fl_image_surface_set_current(IMAGESURFACE s) {
+ static_cast<Fl_Image_Surface*>(s)->set_current();
+}
+
+