diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2025-01-04 15:20:44 +1300 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2025-01-04 15:20:44 +1300 |
commit | db6e6c0d15554879df2c4af3f1cfa903106f88c1 (patch) | |
tree | 56e4a1672577d5467500e65db5fad36db39b2a0b /src/c_fl_postscript_file_device.cpp | |
parent | b870f2a1e8fcb956ce316e6a600d7d0625604830 (diff) |
Added Fl_PostScript_File_Device
Diffstat (limited to 'src/c_fl_postscript_file_device.cpp')
-rw-r--r-- | src/c_fl_postscript_file_device.cpp | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/src/c_fl_postscript_file_device.cpp b/src/c_fl_postscript_file_device.cpp new file mode 100644 index 0000000..22495dd --- /dev/null +++ b/src/c_fl_postscript_file_device.cpp @@ -0,0 +1,125 @@ + + +// Programmed by Jedidiah Barber +// Released into the public domain + + +#include <FL/Fl_PostScript.H> +#include "c_fl_postscript_file_device.h" + + + + +// Making available protected methods + +class My_PostScript_File_Device : Fl_PostScript_File_Device { +public: + using Fl_PostScript_File_Device::driver; +}; + + + + +// Flattened C API + +POSTSCRIPTFILEDEVICE new_fl_postscript_file_device(void) { + Fl_PostScript_File_Device *p = new Fl_PostScript_File_Device(); + return p; +} + +void free_fl_postscript_file_device(POSTSCRIPTFILEDEVICE p) { + delete reinterpret_cast<Fl_PostScript_File_Device*>(p); +} + + + + +const char * fl_postscript_file_device_get_file_chooser_title() { + return Fl_PostScript_File_Device::file_chooser_title; +} + +void fl_postscript_file_device_set_file_chooser_title(const char * v) { + Fl_PostScript_File_Device::file_chooser_title = v; +} + + + + +void * fl_postscript_file_device_get_driver(POSTSCRIPTFILEDEVICE p) { + return (reinterpret_cast<Fl_PostScript_File_Device*>(p)->*(&My_PostScript_File_Device::driver))(); +} + + + + +int fl_postscript_file_device_start_job(POSTSCRIPTFILEDEVICE p, int c) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->start_job(c, 0, 0); +} + +int fl_postscript_file_device_start_job2(POSTSCRIPTFILEDEVICE p, int c, int * f, int * t) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->start_job(c, f, t); +} + +int fl_postscript_file_device_start_job3(POSTSCRIPTFILEDEVICE p, void * o, int c, int f, int l) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->start_job + (reinterpret_cast<FILE*>(o), + c, + static_cast<Fl_Paged_Device::Page_Format>(f), + static_cast<Fl_Paged_Device::Page_Layout>(l)); +} + +int fl_postscript_file_device_start_job4(POSTSCRIPTFILEDEVICE p, int c, int f, int l) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->start_job + (c, + static_cast<Fl_Paged_Device::Page_Format>(f), + static_cast<Fl_Paged_Device::Page_Layout>(l)); +} + +void fl_postscript_file_device_end_job(POSTSCRIPTFILEDEVICE p) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->end_job(); +} + +int fl_postscript_file_device_start_page(POSTSCRIPTFILEDEVICE p) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->start_page(); +} + +int fl_postscript_file_device_end_page(POSTSCRIPTFILEDEVICE p) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->end_page(); +} + + + + +void fl_postscript_file_device_margins(POSTSCRIPTFILEDEVICE p, int * l, int * t, int * r, int * b) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->margins(l,t,r,b); +} + +int fl_postscript_file_device_printable_rect(POSTSCRIPTFILEDEVICE p, int * w, int * h) { + return reinterpret_cast<Fl_PostScript_File_Device*>(p)->printable_rect(w,h); +} + +void fl_postscript_file_device_get_origin(POSTSCRIPTFILEDEVICE p, int * x, int * y) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->origin(x,y); +} + +void fl_postscript_file_device_set_origin(POSTSCRIPTFILEDEVICE p, int x, int y) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->origin(x,y); +} + +void fl_postscript_file_device_rotate(POSTSCRIPTFILEDEVICE p, float r) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->rotate(r); +} + +void fl_postscript_file_device_scale(POSTSCRIPTFILEDEVICE p, float x, float y) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->scale(x,y); +} + +void fl_postscript_file_device_translate(POSTSCRIPTFILEDEVICE p, int x, int y) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->translate(x,y); +} + +void fl_postscript_file_device_untranslate(POSTSCRIPTFILEDEVICE p) { + reinterpret_cast<Fl_PostScript_File_Device*>(p)->untranslate(); +} + + |