Leaked source code of windows server 2003
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.

119 lines
2.9 KiB

  1. // File: confroom.h
  2. #ifndef _TOPWINDOW_H_
  3. #define _TOPWINDOW_H_
  4. #include "GenWindow.h"
  5. #include "GenContainers.h"
  6. #include "ConfUtil.h"
  7. class CConfRoom;
  8. class CConfStatusBar;
  9. class CMainUI;
  10. class CSeparator;
  11. class CVideoWindow;
  12. struct IComponentWnd;
  13. struct IAppSharing;
  14. struct MYOWNERDRAWSTRUCT;
  15. struct TOOLSMENUSTRUCT;
  16. class CTopWindow : public CFrame
  17. {
  18. public:
  19. CTopWindow();
  20. // IGenWindow stuff
  21. virtual void GetDesiredSize(SIZE *ppt);
  22. virtual HPALETTE GetPalette();
  23. BOOL FIsClosing() { return m_fClosing; }
  24. BOOL Create(CConfRoom *pConfRoom, BOOL fShowUI);
  25. VOID SaveSettings();
  26. BOOL BringToFront();
  27. VOID UpdateUI(DWORD dwUIMask);
  28. VOID ForceWindowResize();
  29. void OnReleaseCamera();
  30. CVideoWindow* GetLocalVideo();
  31. CVideoWindow* GetRemoteVideo();
  32. protected:
  33. ~CTopWindow();
  34. LRESULT ProcessMessage( HWND hWnd,
  35. UINT message,
  36. WPARAM wParam,
  37. LPARAM lParam);
  38. private:
  39. enum WindowState
  40. {
  41. State_Default = 0,
  42. State_Normal,
  43. State_Compact,
  44. State_DataOnly,
  45. State_Mask = 0x00ff
  46. } ;
  47. enum WindowSubStates
  48. {
  49. SubState_OnTop = 0x2000,
  50. SubState_Dialpad = 0x4000,
  51. SubState_PicInPic = 0x8000,
  52. } ;
  53. HFONT m_hFontMenu;
  54. CTranslateAccelTable * m_pAccel;
  55. CConfRoom * m_pConfRoom;
  56. CSeparator * m_pSeparator;
  57. CMainUI * m_pMainUI;
  58. CConfStatusBar * m_pStatusBar;
  59. POINT m_ptTaskbarClickPos;
  60. HWND m_hwndPrevFocus;
  61. HCURSOR m_hWaitCursor;
  62. CSimpleArray<TOOLSMENUSTRUCT*> m_ExtToolsList;
  63. BOOL m_fTaskbarDblClick : 1;
  64. BOOL m_fMinimized : 1;
  65. BOOL m_fClosing : 1; // set when closing the NM UI
  66. BOOL m_fEnableAppSharingMenuItem : 1;
  67. BOOL m_fExitAndActivateRDSMenuItem : 1;
  68. BOOL m_fStateChanged : 1;
  69. BOOL IsOnTop();
  70. void SetOnTop(BOOL bOnTop);
  71. VOID CreateChildWindows(void);
  72. void OnInitMenu(HWND hwnd, HMENU hMenu);
  73. void OnInitMenuPopup(HWND hwnd, HMENU hMenu, UINT item, BOOL fSystemMenu);
  74. void OnMenuSelect(HWND hwnd, HMENU hMenu, int uItem, UINT fuFlags);
  75. void OnMeasureItem(HWND hwnd, MEASUREITEMSTRUCT * lpmis);
  76. void OnDrawItem(HWND hwnd, const DRAWITEMSTRUCT * lpdis);
  77. void OnCommand(HWND hwnd, int wCommand, HWND hwndCtl, UINT codeNotify);
  78. void OnClose(HWND hwnd, LPARAM lParam);
  79. BOOL SelAndRealizePalette();
  80. VOID InitMenuFont();
  81. VOID ResizeChildWindows(void);
  82. BOOL UpdateWindowTitle();
  83. VOID UpdateStatusBar();
  84. VOID UpdateCallAnim();
  85. VOID UpdateCallMenu(HMENU hMenu);
  86. VOID UpdateViewMenu(HMENU hMenu);
  87. VOID UpdateToolsMenu(HMENU hMenu);
  88. VOID UpdateHelpMenu(HMENU hMenu);
  89. VOID ShowUI(void);
  90. VOID TerminateAppSharing(void);
  91. VOID CloseChildWindows(void);
  92. BOOL OnExtToolsItem(UINT uID);
  93. CMainUI * GetMainUI() { return m_pMainUI; }
  94. };
  95. #endif // _TOPWINDOW_H_