hl2_src-leak-2017/src/public/panorama/panorama.h

77 lines
2.4 KiB
C++

//=========== Copyright Valve Corporation, All rights reserved. ===============//
//
// Purpose: Public header for panorama UI framework
//
//
//=============================================================================//
#ifndef PANORAMA_H
#define PANORAMA_H
#pragma once
namespace panorama
{
#ifndef PANORAMA_EXPORTS
#define PANORAMA_INTERFACE
#else
#define PANORAMA_INTERFACE DLL_EXPORT
#endif
#ifdef PANORAMA_CLIENT_EXPORTS
#if defined(PLATFORM_WINDOWS_PC32) || ( defined( _WIN32 ) && !defined( _WIN64 ) )
#define REFERENCE_PANEL_CORE( className, layoutName ) \
__pragma( comment( linker, "/INCLUDE:?g_"#layoutName"LinkerHack@panorama@@3PAV"#className"@1@A" ) );
#elif defined(PLATFORM_WINDOWS_PC64) || defined( _WIN64 )
#define REFERENCE_PANEL_CORE( className, layoutName ) \
__pragma( comment( linker, "/INCLUDE:?g_"#layoutName"LinkerHack@panorama@@3PEAV"#className"@1@EA" ) );
#else
#define REFERENCE_PANEL_CORE( className, layoutName ) \
class className; \
extern className *g_##layoutName##LinkerHack; \
className *g_##layoutName##PullInModule SELECTANY = g_##layoutName##LinkerHack;
#endif
#define REFERENCE_PANEL( name ) \
REFERENCE_PANEL_CORE( C##name, name )
// Referenced internal to the framework, so this becomes unneeded
//REFERENCE_PANEL( Image )
//REFERENCE_PANEL( Panel )
REFERENCE_PANEL( Label )
REFERENCE_PANEL( Button )
REFERENCE_PANEL( ToggleButton )
REFERENCE_PANEL( Carousel )
REFERENCE_PANEL( HTML )
REFERENCE_PANEL( TextEntry )
REFERENCE_PANEL( Tooltip )
REFERENCE_PANEL( VerticalScrollList )
REFERENCE_PANEL( DebugLayout )
REFERENCE_PANEL( DebugPanelParents )
REFERENCE_PANEL( DebugAutoComplete )
REFERENCE_PANEL( DebugPanel )
REFERENCE_PANEL( DebugPanelComputed )
REFERENCE_PANEL( DebugPanelStyle )
REFERENCE_PANEL( DebugIndividualStyle )
REFERENCE_PANEL( DebugStyleAnimation )
REFERENCE_PANEL( DebugInheritedStylesHeader )
REFERENCE_PANEL( DebugStyleBlock )
REFERENCE_PANEL( DropDown )
REFERENCE_PANEL( Grid )
REFERENCE_PANEL( ProgressBar )
REFERENCE_PANEL( ContextMenu )
REFERENCE_PANEL( SimpleContextMenu )
REFERENCE_PANEL( Slider )
REFERENCE_PANEL( ListSegmentView )
REFERENCE_PANEL( AnimatedImageStrip )
REFERENCE_PANEL_CORE( CMoviePlayer, Movie )
REFERENCE_PANEL( MoviePanel )
REFERENCE_PANEL( VolumeSliderPopup )
REFERENCE_PANEL_CORE( CMovieVideoQualityPopup, VideoQualityPopup )
REFERENCE_PANEL( EdgeScroller )
#endif
} // namespace panorama
#endif // PANORAMA_H