diff options
| author | Manolo Gouy <Manolo> | 2017-10-04 11:46:33 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2017-10-04 11:46:33 +0000 |
| commit | 5e6bf76b0a75f84dcdaa277d1aef7ab76e2d0631 (patch) | |
| tree | a6b337e3d88fc23fe1941e09d22a0b28f5e31223 /src/drivers/Posix | |
| parent | 6434d5d602344631cef2a75c015fa9e72035852d (diff) | |
Fl_SVG_Image class: add support for compressed .svgz image files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/Posix')
| -rw-r--r-- | src/drivers/Posix/Fl_Posix_System_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Posix/Fl_Posix_System_Driver.cxx | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.H b/src/drivers/Posix/Fl_Posix_System_Driver.H index 5b2060283..9ef8a2909 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.H +++ b/src/drivers/Posix/Fl_Posix_System_Driver.H @@ -75,6 +75,7 @@ public: virtual const char *home_directory_name() { return ::getenv("HOME"); } virtual int dot_file_hidden() {return 1;} virtual void gettime(time_t *sec, int *usec); + virtual void* gzopen(const char *fname, const char *mode); }; #endif // FL_POSIX_SYSTEM_DRIVER_H diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx index c2576b268..f603c2d17 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx +++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx @@ -34,6 +34,9 @@ #include <pwd.h> #include <unistd.h> #include <time.h> +#if defined(HAVE_LIBZ) +# include <zlib.h> +#endif // // Define missing POSIX/XPG4 macros as needed... @@ -99,6 +102,18 @@ void Fl_Posix_System_Driver::gettime(time_t *sec, int *usec) { *usec = tv.tv_usec; } +void* Fl_Posix_System_Driver::gzopen(const char *fname, const char *mode) { +#if defined(HAVE_LIBZ) + FILE *in = fl_fopen(fname, mode); + if (!in) return NULL; + int fd = dup(fileno(in)); + fclose(in); + return gzdopen(fd, mode); +#else + return NULL; +#endif +} + // // End of "$Id$". // |
