diff options
Diffstat (limited to 'Src/Wasabi/api/syscb/callbacks/wndcb.cpp')
-rw-r--r-- | Src/Wasabi/api/syscb/callbacks/wndcb.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Src/Wasabi/api/syscb/callbacks/wndcb.cpp b/Src/Wasabi/api/syscb/callbacks/wndcb.cpp new file mode 100644 index 00000000..69a95bce --- /dev/null +++ b/Src/Wasabi/api/syscb/callbacks/wndcb.cpp @@ -0,0 +1,36 @@ +#include "precomp.h" +#include "wndcb.h" + +using namespace WndCallback; + +int WndCallbackI::syscb_notify(int msg, intptr_t param1, intptr_t param2) +{ + switch (msg) + { + case SHOWWINDOW: + { + WndInfo *i = reinterpret_cast<WndInfo *>((void *)param1); + if (!i) return 0; + return onShowWindow(i->c, i->guid, i->groupid); + } + case HIDEWINDOW: + { + WndInfo *i = reinterpret_cast<WndInfo *>((void *)param1); + if (!i) return 0; + return onHideWindow(i->c, i->guid, i->groupid); + } + case GROUPCHANGE: + { + WndInfo *i = reinterpret_cast<WndInfo *>((void *)param1); + if (!i) return 0; + return onGroupChange(i->groupid); + } + case TYPECHANGE: + { + WndInfo *i = reinterpret_cast<WndInfo *>((void *)param1); + if (!i) return 0; + return onTypeChange(i->wndtype); + } + } + return 0; +} |