//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $Workfile: $ // $Date: $ // $NoKeywords: $ //=============================================================================// #if !defined( IENGINEVGUI_H ) #define IENGINEVGUI_H #ifdef _WIN32 #pragma once #endif #include "interface.h" #include "vgui/vgui.h" // Forward declarations. namespace vgui { class Panel; }; enum VGuiPanel_t { PANEL_ROOT = 0, PANEL_GAMEUIDLL, // the console, game menu PANEL_CLIENTDLL, PANEL_TOOLS, PANEL_INGAMESCREENS, PANEL_GAMEDLL, PANEL_CLIENTDLL_TOOLS, PANEL_GAMEUIBACKGROUND, // the console background, shows under all other stuff in 3d engine view PANEL_TRANSITIONEFFECT, PANEL_STEAMOVERLAY, }; // In-game panels are cropped to the current engine viewport size enum PaintMode_t { PAINT_UIPANELS = (1<<0), PAINT_INGAMEPANELS = (1<<1), }; abstract_class IEngineVGui { public: virtual ~IEngineVGui( void ) { } virtual vgui::VPANEL GetPanel( VGuiPanel_t type ) = 0; virtual bool IsGameUIVisible() = 0; virtual void ActivateGameUI() = 0; }; #define VENGINE_VGUI_VERSION "VEngineVGui001" #if defined(_STATIC_LINKED) && defined(CLIENT_DLL) namespace Client { extern IEngineVGui *enginevgui; } #else extern IEngineVGui *enginevgui; #endif #endif // IENGINEVGUI_H