diff options
Diffstat (limited to 'src/Fl_Window.cxx')
| -rw-r--r-- | src/Fl_Window.cxx | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx index adc3fa094..0c641fe32 100644 --- a/src/Fl_Window.cxx +++ b/src/Fl_Window.cxx @@ -40,6 +40,8 @@ #include <FL/fl_draw.H> #endif +char *Fl_Window::default_xclass_ = 0L; + void Fl_Window::_Fl_Window() { type(FL_WINDOW); box(FL_FLAT_BOX); @@ -178,6 +180,53 @@ Fl_Window *Fl_Window::current() { return current_; } +/** Returns the default xclass */ +const char *Fl_Window::default_xclass() +{ + if (default_xclass_) { + return default_xclass_; + } else { + return "FLTK"; + } +} + +/** Sets the defaul xclass */ +void Fl_Window::default_xclass(const char *xc) +{ + if (default_xclass_) { + free(default_xclass_); + default_xclass_ = 0L; + } + if (xc) { + default_xclass_ = strdup(xc); + } +} + +/** Set the xclass for this window */ +void Fl_Window::xclass(const char *xc) +{ + if (xclass_) { + free(xclass_); + xclass_ = 0L; + } + if (xc) { + xclass_ = strdup(xc); + if (!default_xclass_) { + default_xclass(xc); + } + } +} + +/** Return the XClass for this window, or a default. */ +const char *Fl_Window::xclass() const +{ + if (xclass_) { + return xclass_; + } else { + return default_xclass(); + } +} + // // End of "$Id$". |
