summaryrefslogtreecommitdiff
path: root/body/c_fl_image_surface.cpp
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2025-01-21 21:04:54 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2025-01-21 21:04:54 +1300
commitb4438b2fbe895694be98e6e8426103deefc51448 (patch)
tree760d86cd7c06420a91dad102cc9546aee73146fc /body/c_fl_image_surface.cpp
parenta4703a65b015140cd4a7a985db66264875ade734 (diff)
Split public API and private implementation files into different directories
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();
+}
+
+