Rewrite Fl_get_system_colors.cxx under the driver model.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2016-04-10 19:37:18 +00:00
parent 78213fc57e
commit 95fa60b71d
3 changed files with 5 additions and 8 deletions

View File

@ -29,6 +29,7 @@
#include <FL/filename.H>
#include <FL/Fl_Preferences.H>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
@ -79,6 +80,7 @@ public:
// implement these to support cross-platform file operations
virtual char *utf2mbcs(const char *s) {return (char*)s;}
virtual char *getenv(const char* v);
virtual int putenv(char* v) {return ::putenv(v);}
virtual int open(const char* f, int oflags, int pmode) {return -1;}
virtual FILE *fopen(const char* f, const char *mode) {return NULL;}
virtual int system(const char* cmd) {return -1;}

View File

@ -18,6 +18,7 @@
#include <FL/Fl.H>
#include <FL/Fl_Screen_Driver.H>
#include <FL/Fl_System_Driver.H>
#include <FL/fl_draw.H>
#include <FL/x.H>
#include <FL/math.h>
@ -29,13 +30,6 @@
#include <FL/Fl_Tiled_Image.H>
#include "tile.xpm"
#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
// Visual C++ 2005 incorrectly displays a warning about the use of POSIX APIs
// on Windows, which is supposed to be POSIX compliant...
# define putenv _putenv
#endif // WIN32 && !__CYGWIN__
/**
Changes fl_color(FL_BACKGROUND_COLOR) to the given color,
and changes the gray ramp from 32 to 56 to black to white. These are
@ -184,7 +178,7 @@ int Fl::scheme(const char *s) {
static char e[1024];
strcpy(e,"FLTK_SCHEME=");
if (s) strlcat(e,s,sizeof(e));
putenv(e);
Fl::system_driver()->putenv(e);
// Load the scheme...
return reload_scheme();

View File

@ -47,6 +47,7 @@ public:
virtual void fatal(const char *format, va_list args);
virtual char *utf2mbcs(const char *s);
virtual char *getenv(const char* v);
virtual int putenv(char* v) {return _putenv(v);}
virtual int open(const char* f, int oflags, int pmode);
virtual FILE *fopen(const char* f, const char *mode);
virtual int system(const char* cmd);