From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/syscb/callbacks/skincb.h | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Src/Wasabi/api/syscb/callbacks/skincb.h (limited to 'Src/Wasabi/api/syscb/callbacks/skincb.h') diff --git a/Src/Wasabi/api/syscb/callbacks/skincb.h b/Src/Wasabi/api/syscb/callbacks/skincb.h new file mode 100644 index 00000000..41df3aa7 --- /dev/null +++ b/Src/Wasabi/api/syscb/callbacks/skincb.h @@ -0,0 +1,41 @@ +#ifndef _SKINCB_H +#define _SKINCB_H + +#include + +namespace SkinCallback { + enum { + UNLOADING=100, // beginning, haven't killed anything yet + RESET=200, // skin is gone + RELOAD=300, // stuff is loading + BEFORELOADINGELEMENTS=350, + GUILOADED=400, // skin gui objects loaded from xml + LOADED=500, // all done, new skin in place + CHECKPREVENTSWITCH=600, // we're about to switch skin, wanna abort ? return 1 if so + COLORTHEMECHANGED=700, // color theme has been changed, trap this if you're not using automaticly themed widgets + COLORTHEMESLISTCHANGED=710, // color theme list has been modified, trap this if you're showing a list of the colorthemes and you want to mirror changes + }; +}; + +#define SKINCALLBACKI_PARENT SysCallbackI +class SkinCallbackI : public SKINCALLBACKI_PARENT { +public: + virtual FOURCC syscb_getEventType() { return SysCallback::SKINCB; } + +protected: + // override these + virtual int skincb_onUnloading() { return 0; } + virtual int skincb_onReset() { return 0; } + virtual int skincb_onReload() { return 0; } + virtual int skincb_onBeforeLoadingElements() { return 0; } + virtual int skincb_onGuiLoaded() { return 0; } + virtual int skincb_onLoaded() { return 0; } + virtual int skincb_onCheckPreventSwitch(const wchar_t *skinname) { return 0; } + virtual int skincb_onColorThemeChanged(const wchar_t *newcolortheme) { return 0; } + virtual int skincb_onColorThemesListChanged() { return 0; } + +private: + virtual int syscb_notify(int msg, intptr_t param1=0, intptr_t param2=0); +}; + +#endif -- cgit