Counter Strike : Global Offensive Source Code
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.

56 lines
1.8 KiB

  1. //===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
  2. //
  3. // Purpose: Interface for dealing with vgui focus issues across all plugins
  4. //
  5. // $NoKeywords: $
  6. //===========================================================================//
  7. #ifndef IMAYAVGUI_H
  8. #define IMAYAVGUI_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include <windows.h>
  13. #include "tier0/platform.h"
  14. #include "appframework/iappsystem.h"
  15. //-----------------------------------------------------------------------------
  16. // Forward declarations
  17. //-----------------------------------------------------------------------------
  18. namespace vgui
  19. {
  20. class EditablePanel;
  21. }
  22. //-----------------------------------------------------------------------------
  23. // Factory for creating vgui windows
  24. //-----------------------------------------------------------------------------
  25. abstract_class IMayaVguiWindowFactory
  26. {
  27. public:
  28. virtual void CreateVguiWindow( HWND in_hParent, const char *pPanelName ) = 0;
  29. virtual void DestroyVguiWindow( const char *pPanelName ) = 0;
  30. };
  31. //-----------------------------------------------------------------------------
  32. // Interface for dealing with vgui focus issues across all plugins
  33. //-----------------------------------------------------------------------------
  34. #define MAYA_VGUI_INTERFACE_VERSION "VMayaVGui001"
  35. abstract_class IMayaVGui : public IAppSystem
  36. {
  37. public:
  38. virtual void InstallVguiWindowFactory( const char *pWindowTypeName, IMayaVguiWindowFactory *pFactory ) = 0;
  39. virtual void RemoveVguiWindowFactory( const char *pWindowTypeName, IMayaVguiWindowFactory *pFactory ) = 0;
  40. virtual void SetFocus( void *hWnd, int hVGuiContext ) = 0;
  41. virtual bool HasFocus( void *hWnd ) = 0;
  42. };
  43. // hacked factory
  44. IMayaVGui* CoCreateIMayaVGuiInstance();
  45. #endif // IMAYAVGUI_H