Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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.

110 lines
3.3 KiB

5 years ago
//========= 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