Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.2 KiB

  1. /******************************Module*Header*******************************\
  2. * Module Name: sswproc.hxx
  3. *
  4. * Defines and externals for screen saver common shell
  5. *
  6. * Copyright (c) 1996 Microsoft Corporation
  7. *
  8. \**************************************************************************/
  9. #ifndef __sswproc_hxx__
  10. #define __sswproc_hxx__
  11. #include "sscommon.h"
  12. #include "sswindow.hxx"
  13. // Window proc messages
  14. enum {
  15. SS_WM_PALETTE = WM_USER,
  16. SS_WM_INITGL,
  17. SS_WM_START,
  18. SS_WM_CLOSING,
  19. SS_WM_IDLE
  20. };
  21. // message parameters
  22. enum {
  23. SS_IDLE_OFF = 0,
  24. SS_IDLE_ON
  25. };
  26. /**************************************************************************\
  27. * SSW_TABLE
  28. *
  29. \**************************************************************************/
  30. typedef struct {
  31. HWND hwnd;
  32. PSSW pssw;
  33. } SSW_TABLE_ENTRY;
  34. #define SS_MAX_WINDOWS 10
  35. class SSW_TABLE{
  36. public:
  37. SSW_TABLE();
  38. void Register( HWND hwnd, PSSW pssw );
  39. PSSW PsswFromHwnd( HWND hwnd );
  40. BOOL Remove( HWND hwnd );
  41. private:
  42. SSW_TABLE_ENTRY sswTable[SS_MAX_WINDOWS];
  43. int nEntries;
  44. };
  45. // Generic ss window proc
  46. extern LRESULT SS_ScreenSaverProc(HWND, UINT, WPARAM, LPARAM);
  47. #endif // __sswproc_hxx__