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.

76 lines
2.4 KiB

  1. //=========== Copyright Valve Corporation, All rights reserved. ===============//
  2. //
  3. // Purpose: Public header for panorama UI framework
  4. //
  5. //
  6. //=============================================================================//
  7. #ifndef PANORAMA_H
  8. #define PANORAMA_H
  9. #pragma once
  10. namespace panorama
  11. {
  12. #ifndef PANORAMA_EXPORTS
  13. #define PANORAMA_INTERFACE
  14. #else
  15. #define PANORAMA_INTERFACE DLL_EXPORT
  16. #endif
  17. #ifdef PANORAMA_CLIENT_EXPORTS
  18. #if defined(PLATFORM_WINDOWS_PC32) || ( defined( _WIN32 ) && !defined( _WIN64 ) )
  19. #define REFERENCE_PANEL_CORE( className, layoutName ) \
  20. __pragma( comment( linker, "/INCLUDE:?g_"#layoutName"LinkerHack@panorama@@3PAV"#className"@1@A" ) );
  21. #elif defined(PLATFORM_WINDOWS_PC64) || defined( _WIN64 )
  22. #define REFERENCE_PANEL_CORE( className, layoutName ) \
  23. __pragma( comment( linker, "/INCLUDE:?g_"#layoutName"LinkerHack@panorama@@3PEAV"#className"@1@EA" ) );
  24. #else
  25. #define REFERENCE_PANEL_CORE( className, layoutName ) \
  26. class className; \
  27. extern className *g_##layoutName##LinkerHack; \
  28. className *g_##layoutName##PullInModule SELECTANY = g_##layoutName##LinkerHack;
  29. #endif
  30. #define REFERENCE_PANEL( name ) \
  31. REFERENCE_PANEL_CORE( C##name, name )
  32. // Referenced internal to the framework, so this becomes unneeded
  33. //REFERENCE_PANEL( Image )
  34. //REFERENCE_PANEL( Panel )
  35. REFERENCE_PANEL( Label )
  36. REFERENCE_PANEL( Button )
  37. REFERENCE_PANEL( ToggleButton )
  38. REFERENCE_PANEL( Carousel )
  39. REFERENCE_PANEL( HTML )
  40. REFERENCE_PANEL( TextEntry )
  41. REFERENCE_PANEL( Tooltip )
  42. REFERENCE_PANEL( VerticalScrollList )
  43. REFERENCE_PANEL( DebugLayout )
  44. REFERENCE_PANEL( DebugPanelParents )
  45. REFERENCE_PANEL( DebugAutoComplete )
  46. REFERENCE_PANEL( DebugPanel )
  47. REFERENCE_PANEL( DebugPanelComputed )
  48. REFERENCE_PANEL( DebugPanelStyle )
  49. REFERENCE_PANEL( DebugIndividualStyle )
  50. REFERENCE_PANEL( DebugStyleAnimation )
  51. REFERENCE_PANEL( DebugInheritedStylesHeader )
  52. REFERENCE_PANEL( DebugStyleBlock )
  53. REFERENCE_PANEL( DropDown )
  54. REFERENCE_PANEL( Grid )
  55. REFERENCE_PANEL( ProgressBar )
  56. REFERENCE_PANEL( ContextMenu )
  57. REFERENCE_PANEL( SimpleContextMenu )
  58. REFERENCE_PANEL( Slider )
  59. REFERENCE_PANEL( ListSegmentView )
  60. REFERENCE_PANEL( AnimatedImageStrip )
  61. REFERENCE_PANEL_CORE( CMoviePlayer, Movie )
  62. REFERENCE_PANEL( MoviePanel )
  63. REFERENCE_PANEL( VolumeSliderPopup )
  64. REFERENCE_PANEL_CORE( CMovieVideoQualityPopup, VideoQualityPopup )
  65. REFERENCE_PANEL( EdgeScroller )
  66. #endif
  67. } // namespace panorama
  68. #endif // PANORAMA_H