X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ad252c96ad1e5a27f2f2222c172ec00b555ce7d..b5b49e42939fd7ef098241733648b534f71b526c:/include/wx/univ/theme.h diff --git a/include/wx/univ/theme.h b/include/wx/univ/theme.h index 0c571dd95b..ea2cedfce8 100644 --- a/include/wx/univ/theme.h +++ b/include/wx/univ/theme.h @@ -25,6 +25,7 @@ class WXDLLEXPORT wxRenderer; class WXDLLEXPORT wxColourScheme; class WXDLLEXPORT wxInputHandler; +class WXDLLEXPORT wxArtProvider; struct WXDLLEXPORT wxThemeInfo; class WXDLLEXPORT wxTheme @@ -51,6 +52,9 @@ public: // get the renderer implementing all the control-drawing operations in // this theme virtual wxRenderer *GetRenderer() = 0; + + // get the art provider to be used together with this theme + virtual wxArtProvider *GetArtProvider() = 0; // get the input handler of the given type virtual wxInputHandler *GetInputHandler(const wxString& handlerType) = 0; @@ -101,7 +105,7 @@ struct WXDLLEXPORT wxThemeInfo // without it, an over optimizing linker may discard the object module // containing the theme implementation entirely #define WX_USE_THEME(themename) \ - extern bool wxThemeUse##themename; \ + WXDLLEXPORT_DATA(extern bool) wxThemeUse##themename; \ static struct wxThemeUserFor##themename \ { \ wxThemeUserFor##themename() { wxThemeUse##themename = TRUE; } \ @@ -117,10 +121,10 @@ struct WXDLLEXPORT wxThemeInfo // and this one must be inserted in the source file #define WX_IMPLEMENT_THEME(classname, themename, themedesc) \ - bool wxThemeUse##themename = TRUE; \ + WXDLLEXPORT_DATA(bool) wxThemeUse##themename = TRUE; \ wxTheme *wxCtorFor##themename() { return new classname; } \ wxThemeInfo classname::ms_info##themename(wxCtorFor##themename, \ - #themename, themedesc) + wxT( #themename ), themedesc) #endif // _WX_UNIV_THEME_H_