Team Fortress 2 Source Code as on 22/4/2020
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.

72 lines
2.2 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef MATSYSCONTROLS_H
  8. #define MATSYSCONTROLS_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "tier1/interface.h"
  13. //-----------------------------------------------------------------------------
  14. // Forward declarations
  15. //-----------------------------------------------------------------------------
  16. class IMaterialSystem;
  17. class IMaterialSystemHardwareConfig;
  18. class IMDLCache;
  19. class IMatSystemSurface;
  20. class IStudioRender;
  21. namespace vgui
  22. {
  23. //-----------------------------------------------------------------------------
  24. // handles the initialization of the vgui interfaces.
  25. // NOTE: Calls into VGui_InitInterfacesList
  26. // interfaces (listed below) are first attempted to be loaded from primaryProvider, then secondaryProvider
  27. // moduleName should be the name of the module that this instance of the vgui_controls has been compiled into
  28. //-----------------------------------------------------------------------------
  29. bool VGui_InitMatSysInterfacesList( const char *moduleName, CreateInterfaceFn *factoryList, int numFactories );
  30. //-----------------------------------------------------------------------------
  31. // set of accessor functions to matsys interfaces
  32. // the appropriate header file for each is listed above the item
  33. //-----------------------------------------------------------------------------
  34. // #include <materialsystem/imaterialsystem.h>
  35. IMaterialSystem *MaterialSystem();
  36. // #include <datacache/imdlcache.h>
  37. IMDLCache *MDLCache();
  38. // #include <VGuiMatSurface/IMatSystemSurface.h>
  39. IMatSystemSurface *MatSystemSurface();
  40. // #include <istudiorender.h"
  41. IStudioRender *StudioRender();
  42. // #include <materialsystem/imaterialsystemhardwareconfig.h>
  43. IMaterialSystemHardwareConfig *MaterialSystemHardwareConfig();
  44. } // end namespace vgui
  45. //-----------------------------------------------------------------------------
  46. // predeclare all the matsys control class names
  47. //-----------------------------------------------------------------------------
  48. class CMDLPanel;
  49. class CMDLSequencePicker;
  50. class CMDLPicker;
  51. class CSequencePicker;
  52. class CGameFileTreeView;
  53. #endif // MATSYSCONTROLS_H