diff options
| author | Manolo Gouy <Manolo> | 2016-04-01 10:28:03 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-04-01 10:28:03 +0000 |
| commit | f1a157bdd94c7680629145a577c2ce1d97f2e161 (patch) | |
| tree | 7b6c5d8a8a4c751f0a923e7c27b558de799d2c53 /src | |
| parent | 524ebcef0bd7db2c821414ae7296dd3bb5dfaf9c (diff) | |
Replace Fl_System_Driver::driver() by Fl::system_driver()
for coherence with the Fl::screen_driver() function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11494 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl.cxx | 6 | ||||
| -rw-r--r-- | src/Fl_System_Driver.cxx | 6 | ||||
| -rw-r--r-- | src/Fl_arg.cxx | 10 | ||||
| -rw-r--r-- | src/drivers/Darwin/Fl_Darwin_System_Driver.cxx | 12 | ||||
| -rw-r--r-- | src/drivers/Posix/Fl_Posix_System_Driver.cxx | 11 | ||||
| -rw-r--r-- | src/drivers/PostScript/Fl_PostScript.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 12 | ||||
| -rw-r--r-- | src/fl_utf8.cxx | 39 |
8 files changed, 60 insertions, 38 deletions
diff --git a/src/Fl.cxx b/src/Fl.cxx index f160876a3..88934c23e 100644 --- a/src/Fl.cxx +++ b/src/Fl.cxx @@ -181,6 +181,12 @@ Fl_Screen_Driver *Fl::screen_driver() return screen_driver_; } +Fl_System_Driver *Fl::system_driver() +{ + static Fl_System_Driver* system_driver_ = Fl_System_Driver::newSystemDriver(); + return system_driver_; +} + // // 'Fl::version()' - Return the API version number... // diff --git a/src/Fl_System_Driver.cxx b/src/Fl_System_Driver.cxx index 798c1296d..212c293fd 100644 --- a/src/Fl_System_Driver.cxx +++ b/src/Fl_System_Driver.cxx @@ -46,7 +46,7 @@ Fl_System_Driver::~Fl_System_Driver() void Fl_System_Driver::warning(const char* format, ...) { va_list args; va_start(args, format); - driver()->warning(format, args); + Fl::system_driver()->warning(format, args); va_end(args); } @@ -59,7 +59,7 @@ void Fl_System_Driver::warning(const char* format, va_list args) { void Fl_System_Driver::error(const char* format, ...) { va_list args; va_start(args, format); - driver()->error(format, args); + Fl::system_driver()->error(format, args); va_end(args); } @@ -72,7 +72,7 @@ void Fl_System_Driver::error(const char *format, va_list args) { void Fl_System_Driver::fatal(const char* format, ...) { va_list args; va_start(args, format); - driver()->fatal(format, args); + Fl::system_driver()->fatal(format, args); va_end(args); } diff --git a/src/Fl_arg.cxx b/src/Fl_arg.cxx index 5be54dc5e..776bd68a2 100644 --- a/src/Fl_arg.cxx +++ b/src/Fl_arg.cxx @@ -157,7 +157,7 @@ int Fl::arg(int argc, char **argv, int &i) { Fl_Tooltip::disable(); i++; return 1; - } else if (Fl_System_Driver::driver()->single_arg(s)) { + } else if (Fl::system_driver()->single_arg(s)) { i++; } @@ -168,14 +168,14 @@ int Fl::arg(int argc, char **argv, int &i) { if (fl_match(s, "geometry")) { int flags, gx, gy; unsigned int gw, gh; - flags = Fl_System_Driver::driver()->XParseGeometry(v, &gx, &gy, &gw, &gh); + flags = Fl::system_driver()->XParseGeometry(v, &gx, &gy, &gw, &gh); if (!flags) return 0; geometry = v; } else if (fl_match(s, "display", 2)) { - Fl_System_Driver::driver()->display_arg(v); + Fl::system_driver()->display_arg(v); - } else if (Fl_System_Driver::driver()->arg_and_value(s, v)) { + } else if (Fl::system_driver()->arg_and_value(s, v)) { // nothing to do } else if (fl_match(s, "title", 2)) { @@ -283,7 +283,7 @@ void Fl_Window::show(int argc, char **argv) { if (!beenhere) { if (geometry) { int fl = 0, gx = x(), gy = y(); unsigned int gw = w(), gh = h(); - fl = Fl_System_Driver::driver()->XParseGeometry(geometry, &gx, &gy, &gw, &gh); + fl = Fl::system_driver()->XParseGeometry(geometry, &gx, &gy, &gw, &gh); if (fl & Fl_System_Driver::flXNegative) gx = Fl::w()-w()+gx; if (fl & Fl_System_Driver::flYNegative) gy = Fl::h()-h()+gy; // int mw,mh; minsize(mw,mh); diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx index d28c8f516..3740e55cf 100644 --- a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx +++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx @@ -40,9 +40,15 @@ const char* fl_local_meta = "⌘\\"; // U+2318 (place of interest sign) //const char* fl_local_shift = "\xe2\x87\xa7\\"; // U+21E7 (upwards white arrow) const char* fl_local_shift = "⇧\\"; // U+21E7 (upwards white arrow) -Fl_System_Driver *Fl_System_Driver::driver() { - static Fl_System_Driver *d = new Fl_Darwin_System_Driver(); - return d; + +/** + Creates a driver that manages all screen and display related calls. + + This function must be implemented once for every platform. + */ +Fl_System_Driver *Fl_System_Driver::newSystemDriver() +{ + return new Fl_Darwin_System_Driver(); } Fl_Darwin_System_Driver::Fl_Darwin_System_Driver() { diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx index de156e422..dffedeb93 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx +++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx @@ -30,9 +30,14 @@ const char* fl_local_ctrl = "Ctrl"; const char* fl_local_meta = "Meta"; const char* fl_local_shift = "Shift"; -Fl_System_Driver *Fl_System_Driver::driver() { - static Fl_System_Driver *d = new Fl_Posix_System_Driver(); - return d; +/** + Creates a driver that manages all screen and display related calls. + + This function must be implemented once for every platform. + */ +Fl_System_Driver *Fl_System_Driver::newSystemDriver() +{ + return new Fl_Posix_System_Driver(); } void Fl_Posix_System_Driver::display_arg(const char *arg) { diff --git a/src/drivers/PostScript/Fl_PostScript.cxx b/src/drivers/PostScript/Fl_PostScript.cxx index d25915a5a..cd5e7d4a1 100644 --- a/src/drivers/PostScript/Fl_PostScript.cxx +++ b/src/drivers/PostScript/Fl_PostScript.cxx @@ -145,7 +145,7 @@ int Fl_PostScript_Graphics_Driver::clocale_printf(const char *format, ...) { va_list args; va_start(args, format); - int retval = Fl_System_Driver::driver()->clocale_printf(output, format, args); + int retval = Fl::system_driver()->clocale_printf(output, format, args); va_end(args); return retval; } diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx index 9f7693da0..3a0b94fc5 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -39,10 +39,14 @@ static wchar_t *mbwbuf = NULL; static wchar_t *wbuf = NULL; static wchar_t *wbuf1 = NULL; - -Fl_System_Driver *Fl_System_Driver::driver() { - static Fl_System_Driver *d = new Fl_WinAPI_System_Driver(); - return d; +/** + Creates a driver that manages all screen and display related calls. + + This function must be implemented once for every platform. + */ +Fl_System_Driver *Fl_System_Driver::newSystemDriver() +{ + return new Fl_WinAPI_System_Driver(); } void Fl_WinAPI_System_Driver::warning(const char *format, va_list args) { diff --git a/src/fl_utf8.cxx b/src/fl_utf8.cxx index 7bab0f89a..7ae9f1f8f 100644 --- a/src/fl_utf8.cxx +++ b/src/fl_utf8.cxx @@ -18,6 +18,7 @@ // http://www.fltk.org/str.php // +#include <FL/Fl.H> #include <FL/Fl_System_Driver.H> #include <FL/filename.H> #include <stdarg.h> @@ -282,7 +283,7 @@ unsigned int fl_nonspacing(unsigned int ucs) */ char * fl_utf2mbcs(const char *s) { - return Fl_System_Driver::driver()->utf2mbcs(s); + return Fl::system_driver()->utf2mbcs(s); } /** Cross-platform function to get environment variables with a UTF-8 encoded @@ -300,7 +301,7 @@ char * fl_utf2mbcs(const char *s) */ char *fl_getenv(const char* v) { - return Fl_System_Driver::driver()->getenv(v); + return Fl::system_driver()->getenv(v); } @@ -320,7 +321,7 @@ int fl_open(const char* f, int oflags, ...) va_start(ap, oflags); pmode = va_arg (ap, int); va_end(ap); - return Fl_System_Driver::driver()->open(f, oflags, pmode); + return Fl::system_driver()->open(f, oflags, pmode); } @@ -334,7 +335,7 @@ int fl_open(const char* f, int oflags, ...) \sa fl_open(). */ FILE *fl_fopen(const char* f, const char *mode) { - return Fl_System_Driver::driver()->fopen(f, mode); + return Fl::system_driver()->fopen(f, mode); } /** Cross-platform function to run a system command with a UTF-8 encoded string. @@ -350,12 +351,12 @@ FILE *fl_fopen(const char* f, const char *mode) { int fl_system(const char* cmd) { - return Fl_System_Driver::driver()->system(cmd); + return Fl::system_driver()->system(cmd); } int fl_execvp(const char *file, char *const *argv) { - return Fl_System_Driver::driver()->execvp(file, argv); + return Fl::system_driver()->execvp(file, argv); } /** Cross-platform function to set a files mode() with a UTF-8 encoded @@ -369,7 +370,7 @@ int fl_execvp(const char *file, char *const *argv) \return the return value of _wchmod() on Windows or chmod() on other platforms. */ int fl_chmod(const char* f, int mode) { - return Fl_System_Driver::driver()->chmod(f, mode); + return Fl::system_driver()->chmod(f, mode); } /** Cross-platform function to test a files access() with a UTF-8 encoded @@ -383,7 +384,7 @@ int fl_chmod(const char* f, int mode) { \return the return value of _waccess() on Windows or access() on other platforms. */ int fl_access(const char* f, int mode) { - return Fl_System_Driver::driver()->access(f, mode); + return Fl::system_driver()->access(f, mode); } /** Cross-platform function to stat() a file using a UTF-8 encoded @@ -397,7 +398,7 @@ int fl_access(const char* f, int mode) { \return the return value of _wstat() on Windows or stat() on other platforms. */ int fl_stat(const char* f, struct stat *b) { - return Fl_System_Driver::driver()->stat(f, b); + return Fl::system_driver()->stat(f, b); } // TODO: add fl_chdir if we have fl_getcwd @@ -416,7 +417,7 @@ char *fl_getcwd(char* b, int l) { if (b == NULL) { b = (char*) malloc(l+1); } - return Fl_System_Driver::driver()->getcwd(b, l); + return Fl::system_driver()->getcwd(b, l); } /** Cross-platform function to unlink() (that is, delete) a file using @@ -429,7 +430,7 @@ char *fl_getcwd(char* b, int l) { \return the return value of _wunlink() on Windows or unlink() on other platforms. */ int fl_unlink(const char* f) { - return Fl_System_Driver::driver()->unlink(f); + return Fl::system_driver()->unlink(f); } /** Cross-platform function to create a directory with a UTF-8 encoded @@ -443,7 +444,7 @@ int fl_unlink(const char* f) { \return the return value of _wmkdir() on Windows or mkdir() on other platforms. */ int fl_mkdir(const char* f, int mode) { - return Fl_System_Driver::driver()->mkdir(f, mode); + return Fl::system_driver()->mkdir(f, mode); } /** Cross-platform function to remove a directory with a UTF-8 encoded @@ -456,7 +457,7 @@ int fl_mkdir(const char* f, int mode) { \return the return value of _wrmdir() on Windows or rmdir() on other platforms. */ int fl_rmdir(const char* f) { - return Fl_System_Driver::driver()->rmdir(f); + return Fl::system_driver()->rmdir(f); } /** Cross-platform function to rename a filesystem object using @@ -470,7 +471,7 @@ int fl_rmdir(const char* f) { \return the return value of _wrename() on Windows or rename() on other platforms. */ int fl_rename(const char* f, const char *n) { - return Fl_System_Driver::driver()->rename(f, n); + return Fl::system_driver()->rename(f, n); } /** Cross-platform function to recursively create a path in the file system. @@ -1144,7 +1145,7 @@ int fl_wcwidth(const char* src) { unsigned fl_utf8towc(const char* src, unsigned srclen, wchar_t* dst, unsigned dstlen) { - return Fl_System_Driver::driver()->utf8towc(src, srclen, dst, dstlen); + return Fl::system_driver()->utf8towc(src, srclen, dst, dstlen); } @@ -1177,7 +1178,7 @@ unsigned fl_utf8towc(const char* src, unsigned srclen, */ unsigned fl_utf8fromwc(char* dst, unsigned dstlen, const wchar_t* src, unsigned srclen) { - return Fl_System_Driver::driver()->utf8fromwc(dst, dstlen, src, srclen); + return Fl::system_driver()->utf8fromwc(dst, dstlen, src, srclen); } @@ -1195,7 +1196,7 @@ unsigned fl_utf8fromwc(char* dst, unsigned dstlen, const wchar_t* src, unsigned */ int fl_utf8locale() { - return Fl_System_Driver::driver()->utf8locale(); + return Fl::system_driver()->utf8locale(); } @@ -1225,7 +1226,7 @@ unsigned fl_utf8to_mb(const char* src, unsigned srclen, char* dst, unsigned dstl } return srclen; } - return Fl_System_Driver::driver()->utf8to_mb(src, srclen, dst, dstlen); + return Fl::system_driver()->utf8to_mb(src, srclen, dst, dstlen); } @@ -1257,7 +1258,7 @@ unsigned fl_utf8from_mb(char* dst, unsigned dstlen, const char* src, unsigned sr } return srclen; } - return Fl_System_Driver::driver()->utf8from_mb(dst, dstlen, src, srclen); + return Fl::system_driver()->utf8from_mb(dst, dstlen, src, srclen); } //============================================================ |
