summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2017-09-19 19:33:54 +0000
committerManolo Gouy <Manolo>2017-09-19 19:33:54 +0000
commitda2d4a8ee53e49b21f315516dad2c96b232013a0 (patch)
tree229a358107a28be70298fa1e9db81335f0025462
parent213b955442a2b1428996fb30cb965d001c7da252 (diff)
Convert the initialisation of global variables fl_local_shift, fl_local_meta, etc... using the driver approach.
This avoids repeating the default values "Shift", "Meta", etc... for several platforms. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--FL/Fl_System_Driver.H5
-rw-r--r--src/Fl.cxx7
-rw-r--r--src/drivers/Darwin/Fl_Darwin_System_Driver.H4
-rw-r--r--src/drivers/Darwin/Fl_Darwin_System_Driver.cxx21
-rw-r--r--src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx9
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx7
-rw-r--r--src/drivers/X11/Fl_X11_System_Driver.cxx6
7 files changed, 29 insertions, 30 deletions
diff --git a/FL/Fl_System_Driver.H b/FL/Fl_System_Driver.H
index 469128206..bd73a96f9 100644
--- a/FL/Fl_System_Driver.H
+++ b/FL/Fl_System_Driver.H
@@ -213,6 +213,11 @@ public:
virtual void open_callback(void (*)(const char *));
// The default implementation may be enough.
virtual void gettime(time_t *sec, int *usec);
+ // The default implementation of the next 4 functions may be enough.
+ virtual const char *shift_name() { return "Shift"; }
+ virtual const char *meta_name() { return "Meta"; }
+ virtual const char *alt_name() { return "Alt"; }
+ virtual const char *control_name() { return "Ctrl"; }
};
#endif // FL_SYSTEM_DRIVER_H
diff --git a/src/Fl.cxx b/src/Fl.cxx
index c60f707a3..6a3e0170b 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -2030,6 +2030,13 @@ int Fl::get_font_sizes(Fl_Font fnum, int*& sizep) {
return Fl_Graphics_Driver::default_driver().get_font_sizes(fnum, sizep);
}
+// Pointers you can use to change FLTK to another language.
+// Note: Similar pointers are defined in FL/fl_ask.H and src/fl_ask.cxx
+FL_EXPORT const char* fl_local_shift = Fl::system_driver()->shift_name();
+FL_EXPORT const char* fl_local_meta = Fl::system_driver()->meta_name();
+FL_EXPORT const char* fl_local_alt = Fl::system_driver()->alt_name();
+FL_EXPORT const char* fl_local_ctrl = Fl::system_driver()->control_name();
+
//
// End of "$Id$".
//
diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.H b/src/drivers/Darwin/Fl_Darwin_System_Driver.H
index ff2ab8205..cec33d2a9 100644
--- a/src/drivers/Darwin/Fl_Darwin_System_Driver.H
+++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.H
@@ -77,6 +77,10 @@ public:
virtual void remove_fd(int, int when);
virtual void remove_fd(int);
virtual void open_callback(void (*)(const char *));
+ virtual const char *shift_name();
+ virtual const char *meta_name();
+ virtual const char *alt_name();
+ virtual const char *control_name();
};
#endif // FL_DARWIN_SYSTEM_DRIVER_H
diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx
index 19a200c69..8a103c2e9 100644
--- a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx
+++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx
@@ -38,15 +38,18 @@
#include <sys/mount.h>
#include <sys/stat.h>
-//const char* fl_local_alt = "\xe2\x8c\xa5\\"; // U+2325 (option key)
-const char* fl_local_alt = "⌥\\"; // U+2325 (option key)
-//const char* fl_local_ctrl = "\xe2\x8c\x83\\"; // U+2303 (up arrowhead)
-const char* fl_local_ctrl = "⌃\\"; // U+2303 (up arrowhead)
-//const char* fl_local_meta = "\xe2\x8c\x98\\"; // U+2318 (place of interest sign)
-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)
-
+const char *Fl_Darwin_System_Driver::shift_name() {
+ return "⇧\\"; // "\xe2\x87\xa7\\"; // U+21E7 (upwards white arrow)
+}
+const char *Fl_Darwin_System_Driver::meta_name() {
+ return "⌘\\"; // "\xe2\x8c\x98\\"; // U+2318 (place of interest sign)
+}
+const char *Fl_Darwin_System_Driver::alt_name() {
+ return "⌥\\"; // "\xe2\x8c\xa5\\"; // U+2325 (option key)
+}
+const char *Fl_Darwin_System_Driver::control_name() {
+ return "⌃\\"; // "\xe2\x8c\x83\\"; // U+2303 (up arrowhead)
+}
/*
Creates a driver that manages all system related calls.
diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx
index db1564196..1cfe1f477 100644
--- a/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx
+++ b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx
@@ -25,13 +25,6 @@
#include <FL/Fl_Window.H>
-
-const char *fl_local_alt = "alt";
-const char *fl_local_ctrl = "ctrl";
-const char *fl_local_meta = "meta";
-const char *fl_local_shift = "shift";
-
-
Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *win)
{
return new Fl_PicoSDL_Window_Driver(win);
@@ -119,4 +112,4 @@ void Fl_PicoSDL_Window_Driver::show() {
//
// End of "$Id$".
-// \ No newline at end of file
+//
diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
index 219cfad80..efbe65d01 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
@@ -53,13 +53,6 @@ typedef RPC_STATUS (WINAPI* uuid_func)(UUID __RPC_FAR *Uuid);
inline int isdirsep(char c) { return c == '/' || c == '\\'; }
-#if !defined(FL_DOXYGEN)
-const char* fl_local_alt = "Alt";
-const char* fl_local_ctrl = "Ctrl";
-const char* fl_local_meta = "Meta";
-const char* fl_local_shift = "Shift";
-#endif
-
static wchar_t *mbwbuf = NULL;
static wchar_t *wbuf = NULL;
static wchar_t *wbuf1 = NULL;
diff --git a/src/drivers/X11/Fl_X11_System_Driver.cxx b/src/drivers/X11/Fl_X11_System_Driver.cxx
index 0ee3f2e00..ff4812edb 100644
--- a/src/drivers/X11/Fl_X11_System_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_System_Driver.cxx
@@ -58,12 +58,6 @@ extern "C" {
}
#endif
-// Pointers you can use to change FLTK to another language.
-// Note: Similar pointers are defined in FL/fl_ask.H and src/fl_ask.cxx
-const char* fl_local_alt = "Alt";
-const char* fl_local_ctrl = "Ctrl";
-const char* fl_local_meta = "Meta";
-const char* fl_local_shift = "Shift";
/**
Creates a driver that manages all system related calls.