diff options
Diffstat (limited to 'FL/names.h')
| -rw-r--r-- | FL/names.h | 118 |
1 files changed, 53 insertions, 65 deletions
diff --git a/FL/names.h b/FL/names.h index 33bc6caa4..0cdc9edea 100644 --- a/FL/names.h +++ b/FL/names.h @@ -25,8 +25,6 @@ #define FL_NAMES_H #include <FL/Fl.H> // for event constants -#include <string> -#include <map> /** \defgroup fl_events Events handling functions @{ @@ -47,63 +45,53 @@ } \endcode */ -static std::map<int, const char*> fl_eventnames = { - { FL_NO_EVENT, "FL_NO_EVENT" }, - { FL_PUSH, "FL_PUSH" }, - { FL_RELEASE, "FL_RELEASE" }, - { FL_ENTER, "FL_ENTER" }, - { FL_LEAVE, "FL_LEAVE" }, - { FL_DRAG, "FL_DRAG" }, - { FL_FOCUS, "FL_FOCUS" }, - { FL_UNFOCUS, "FL_UNFOCUS" }, - { FL_KEYDOWN, "FL_KEYDOWN" }, - { FL_KEYUP, "FL_KEYUP" }, - { FL_CLOSE, "FL_CLOSE" }, - { FL_MOVE, "FL_MOVE" }, - { FL_SHORTCUT, "FL_SHORTCUT" }, - { FL_DEACTIVATE, "FL_DEACTIVATE" }, - { FL_ACTIVATE, "FL_ACTIVATE" }, - { FL_HIDE, "FL_HIDE" }, - { FL_SHOW, "FL_SHOW" }, - { FL_PASTE, "FL_PASTE" }, - { FL_SELECTIONCLEAR, "FL_SELECTIONCLEAR" }, - { FL_MOUSEWHEEL, "FL_MOUSEWHEEL" }, - { FL_DND_ENTER, "FL_DND_ENTER" }, - { FL_DND_DRAG, "FL_DND_DRAG" }, - { FL_DND_LEAVE, "FL_DND_LEAVE" }, - { FL_DND_RELEASE, "FL_DND_RELEASE" }, - { FL_SCREEN_CONFIGURATION_CHANGED, "FL_SCREEN_CONFIGURATION_CHANGED" }, - { FL_FULLSCREEN, "FL_FULLSCREEN" }, - { FL_ZOOM_GESTURE, "FL_ZOOM_GESTURE" }, - { FL_ZOOM_EVENT, "FL_ZOOM_EVENT" }, - { FL_BEFORE_TOOLTIP, "FL_BEFORE_TOOLTIP" }, - { FL_BEFORE_MENU, "FL_BEFORE_MENU" }, - { FL_APP_ACTIVATE, "FL_APP_ACTIVATE" }, - { FL_APP_DEACTIVATE, "FL_APP_DEACTIVATE" }, - { Fl::Pen::DETECTED, "Fl::Pen::DETECTED" }, - { Fl::Pen::CHANGED, "Fl::Pen::CHANGED" }, - { Fl::Pen::ENTER, "Fl::Pen::ENTER" }, - { Fl::Pen::LEAVE, "Fl::Pen::LEAVE" }, - { Fl::Pen::TOUCH, "Fl::Pen::TOUCH" }, - { Fl::Pen::LIFT, "Fl::Pen::LIFT" }, - { Fl::Pen::HOVER, "Fl::Pen::HOVER" }, - { Fl::Pen::DRAW, "Fl::Pen::DRAW" }, - { Fl::Pen::BUTTON_PUSH, "Fl::Pen::BUTTON_PUSH" }, - { Fl::Pen::BUTTON_RELEASE, "Fl::Pen::BUTTON_RELEASE" } +static const char * const fl_eventnames[] = { + "FL_NO_EVENT", + "FL_PUSH", + "FL_RELEASE", + "FL_ENTER", + "FL_LEAVE", + "FL_DRAG", + "FL_FOCUS", + "FL_UNFOCUS", + "FL_KEYDOWN", + "FL_KEYUP", + "FL_CLOSE", + "FL_MOVE", + "FL_SHORTCUT", + "FL_DEACTIVATE", + "FL_ACTIVATE", + "FL_HIDE", + "FL_SHOW", + "FL_PASTE", + "FL_SELECTIONCLEAR", + "FL_MOUSEWHEEL", + "FL_DND_ENTER", + "FL_DND_DRAG", + "FL_DND_LEAVE", + "FL_DND_RELEASE", + "FL_SCREEN_CONFIGURATION_CHANGED", + "FL_FULLSCREEN", + "FL_ZOOM_GESTURE", + "FL_ZOOM_EVENT", + "FL_BEFORE_TOOLTIP", + "FL_BEFORE_MENU", + "FL_APP_ACTIVATE", + "FL_APP_DEACTIVATE" }; +#define FL_EVENTNAMES_MAX 32 + /** Return the C++ symbol of an Fl_Event as a string. \param[in] event index as an integer - \return C++ symbol of event index as a string + \return C++ symbol of event index as a string, or 0 if out of range */ -inline std::string fl_eventname_str(int event) { - auto it = fl_eventnames.find(event); - if (it == fl_eventnames.end()) { - return "FL_EVENT_" + std::to_string(event); - } else { - return it->second; +inline const char *fl_eventname(int event) { + if (event >= 0 && event < FL_EVENTNAMES_MAX) { + return fl_eventnames[event]; } + return 0; } @@ -147,14 +135,13 @@ const char * const fl_fontnames[] = /** Return the C++ symbol of an Fl_Font as a string. \param[in] font index as an integer - \return C++ symbol of font index as a string + \return C++ symbol of font index as a string, or 0 if out of range */ -inline std::string fl_fontname_str(int font) { - if ((font < 0) || (font >= FL_ZAPF_DINGBATS)) { - return "FL_FONT_" + std::to_string(font); - } else { +inline const char *fl_fontname(int font) { + if (font >= 0 && font <= FL_ZAPF_DINGBATS) { return fl_fontnames[font]; } + return 0; } @@ -178,23 +165,24 @@ const char * const fl_callback_reason_names[] = "FL_REASON_LOST_FOCUS", "FL_REASON_RELEASED", "FL_REASON_ENTER_KEY", - NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, "FL_REASON_USER", "FL_REASON_USER+1", "FL_REASON_USER+2", "FL_REASON_USER+3", }; +#define FL_REASON_NAMES_MAX 36 + /** Return the C++ symbol of an Fl_Callback_Reason as a string. \param[in] reason as an integer - \return C++ symbol of reason as a string + \return C++ symbol of reason as a string, or 0 if out of range or invalid */ -inline std::string fl_callback_reason_str(int reason) { - if ((reason < 0) || (reason >= FL_REASON_USER+3) || (fl_callback_reason_names[reason] == 0)) { - return "FL_REASON_" + std::to_string(reason); - } else { +inline const char *fl_callback_reason_name(int reason) { + if (reason >= 0 && reason < FL_REASON_NAMES_MAX) { return fl_callback_reason_names[reason]; } + return 0; } /** @} */ |
