aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/syscb/callbacks/skincb.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Wasabi/api/syscb/callbacks/skincb.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/Wasabi/api/syscb/callbacks/skincb.h')
-rw-r--r--Src/Wasabi/api/syscb/callbacks/skincb.h41
1 files changed, 41 insertions, 0 deletions
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 <api/syscb/callbacks/syscbi.h>
+
+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