//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef REPLAYBROWSER_RENDERDIALOG_H #define REPLAYBROWSER_RENDERDIALOG_H #ifdef _WIN32 #pragma once #endif #include "replaybrowserbasepanel.h" #include "vgui/IScheme.h" #include "vgui_controls/CheckButton.h" #include "vgui_controls/ComboBox.h" #include "vgui_controls/Slider.h" #include "replay/replayhandle.h" using namespace vgui; class CExLabel; class CExButton; //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- class CReplayRenderDialog : public CReplayBasePanel { DECLARE_CLASS_SIMPLE( CReplayRenderDialog, CReplayBasePanel ); public: CReplayRenderDialog( Panel *pParent, ReplayHandle_t hReplay, bool bSetQuit, int iPerformance ); virtual void ApplySchemeSettings( IScheme *pScheme ); virtual void PerformLayout(); virtual void OnCommand( const char *pCommand ); virtual void OnKeyCodeTyped( vgui::KeyCode code ); virtual void OnThink(); MESSAGE_FUNC_PARAMS( OnTextChanged, "TextChanged", data ); MESSAGE_FUNC_PTR( OnCheckButtonChecked, "CheckButtonChecked", panel ); private: MESSAGE_FUNC( OnSetFocus, "SetFocus" ); void Close(); void Render(); void ValidateRenderData(); void UpdateControlsValues(); void AddControlToAutoLayout( Panel *pPanel, bool bAdvanced ); void SetValuesFromQualityPreset(); bool m_bShowAdvancedOptions; int m_iQualityPreset; ReplayHandle_t m_hReplay; bool m_bSetQuit; int m_iPerformance; CheckButton *m_pPlayVoiceCheck; CheckButton *m_pShowAdvancedOptionsCheck; CheckButton *m_pQuitWhenDoneCheck; CheckButton *m_pExportRawCheck; CExButton *m_pCancelButton; CExButton *m_pRenderButton; TextEntry *m_pTitleText; ComboBox *m_pVideoModesCombo; ComboBox *m_pCodecCombo; CExLabel *m_pQualityPresetLabel; ComboBox *m_pQualityPresetCombo; CExLabel *m_pResolutionNoteLabel; CExLabel *m_pEnterANameLabel; CExLabel *m_pVideoModeLabel; CExLabel *m_pTitleLabel; CExLabel *m_pLockWarningLabel; CExLabel *m_pCodecLabel; CExLabel *m_pEstimateTimeLabel; CExLabel *m_pEstimateFileLabel; CheckButton *m_pMotionBlurCheck; CExLabel *m_pMotionBlurLabel; Slider *m_pMotionBlurSlider; CExLabel *m_pQualityLabel; Slider *m_pQualitySlider; EditablePanel *m_pBgPanel; Panel *m_pSeparator; CheckButton *m_pGlowEnabledCheck; struct LayoutInfo_t { Panel *pPanel; int nOffsetX; int nOffsetY; bool bAdvanced; }; CUtlLinkedList< LayoutInfo_t * > m_lstControls; CPanelAnimationVarAliasType( int, m_nStartY, "start_y", "0", "proportional_ypos" ); CPanelAnimationVarAliasType( int, m_nVerticalBuffer, "vertical_buffer", "0", "proportional_ypos" ); CPanelAnimationVarAliasType( int, m_nDefaultX, "default_x", "0", "proportional_xpos" ); friend class CReplayGameStatsHelper; }; //----------------------------------------------------------------------------- void ReplayUI_ShowRenderDialog( Panel* pParent, ReplayHandle_t hReplay, bool bSetQuit, int iPerformance ); //----------------------------------------------------------------------------- #endif // REPLAYBROWSER_RENDERDIALOG_H