wndcb.h 952 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef _WNDCB_H
  2. #define _WNDCB_H
  3. #include <api/syscb/callbacks/syscbi.h>
  4. #include <bfc/common.h>
  5. class Container;
  6. class ifc_window;
  7. class WndInfo {
  8. public:
  9. GUID guid;
  10. const wchar_t *groupid;
  11. const wchar_t *wndtype;
  12. Container *c;
  13. };
  14. namespace WndCallback {
  15. enum {
  16. SHOWWINDOW=10,
  17. HIDEWINDOW=20,
  18. GROUPCHANGE=30,
  19. TYPECHANGE=40,
  20. };
  21. };
  22. #define WNDCALLBACKI_PARENT SysCallbackI
  23. class WndCallbackI : public WNDCALLBACKI_PARENT {
  24. public:
  25. virtual FOURCC syscb_getEventType() { return SysCallback::WINDOW; }
  26. protected:
  27. virtual int onShowWindow(Container *c, GUID guid, const wchar_t *groupid) { return 0; }
  28. virtual int onHideWindow(Container *c, GUID guid, const wchar_t *groupid) { return 0; }
  29. virtual int onGroupChange(const wchar_t *groupid) { return 0; }
  30. virtual int onTypeChange(const wchar_t *type) { return 0; }
  31. private:
  32. virtual int syscb_notify(int msg, intptr_t param1=0, intptr_t param2=0);
  33. };
  34. #endif