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.

109 lines
3.3 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef REPLAYBROWSER_RENDERDIALOG_H
  8. #define REPLAYBROWSER_RENDERDIALOG_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "replaybrowserbasepanel.h"
  13. #include "vgui/IScheme.h"
  14. #include "vgui_controls/CheckButton.h"
  15. #include "vgui_controls/ComboBox.h"
  16. #include "vgui_controls/Slider.h"
  17. #include "replay/replayhandle.h"
  18. using namespace vgui;
  19. class CExLabel;
  20. class CExButton;
  21. //-----------------------------------------------------------------------------
  22. // Purpose:
  23. //-----------------------------------------------------------------------------
  24. class CReplayRenderDialog : public CReplayBasePanel
  25. {
  26. DECLARE_CLASS_SIMPLE( CReplayRenderDialog, CReplayBasePanel );
  27. public:
  28. CReplayRenderDialog( Panel *pParent, ReplayHandle_t hReplay, bool bSetQuit, int iPerformance );
  29. virtual void ApplySchemeSettings( IScheme *pScheme );
  30. virtual void PerformLayout();
  31. virtual void OnCommand( const char *pCommand );
  32. virtual void OnKeyCodeTyped( vgui::KeyCode code );
  33. virtual void OnThink();
  34. MESSAGE_FUNC_PARAMS( OnTextChanged, "TextChanged", data );
  35. MESSAGE_FUNC_PTR( OnCheckButtonChecked, "CheckButtonChecked", panel );
  36. private:
  37. MESSAGE_FUNC( OnSetFocus, "SetFocus" );
  38. void Close();
  39. void Render();
  40. void ValidateRenderData();
  41. void UpdateControlsValues();
  42. void AddControlToAutoLayout( Panel *pPanel, bool bAdvanced );
  43. void SetValuesFromQualityPreset();
  44. bool m_bShowAdvancedOptions;
  45. int m_iQualityPreset;
  46. ReplayHandle_t m_hReplay;
  47. bool m_bSetQuit;
  48. int m_iPerformance;
  49. CheckButton *m_pPlayVoiceCheck;
  50. CheckButton *m_pShowAdvancedOptionsCheck;
  51. CheckButton *m_pQuitWhenDoneCheck;
  52. CheckButton *m_pExportRawCheck;
  53. CExButton *m_pCancelButton;
  54. CExButton *m_pRenderButton;
  55. TextEntry *m_pTitleText;
  56. ComboBox *m_pVideoModesCombo;
  57. ComboBox *m_pCodecCombo;
  58. CExLabel *m_pQualityPresetLabel;
  59. ComboBox *m_pQualityPresetCombo;
  60. CExLabel *m_pResolutionNoteLabel;
  61. CExLabel *m_pEnterANameLabel;
  62. CExLabel *m_pVideoModeLabel;
  63. CExLabel *m_pTitleLabel;
  64. CExLabel *m_pLockWarningLabel;
  65. CExLabel *m_pCodecLabel;
  66. CExLabel *m_pEstimateTimeLabel;
  67. CExLabel *m_pEstimateFileLabel;
  68. CheckButton *m_pMotionBlurCheck;
  69. CExLabel *m_pMotionBlurLabel;
  70. Slider *m_pMotionBlurSlider;
  71. CExLabel *m_pQualityLabel;
  72. Slider *m_pQualitySlider;
  73. EditablePanel *m_pBgPanel;
  74. Panel *m_pSeparator;
  75. CheckButton *m_pGlowEnabledCheck;
  76. struct LayoutInfo_t
  77. {
  78. Panel *pPanel;
  79. int nOffsetX;
  80. int nOffsetY;
  81. bool bAdvanced;
  82. };
  83. CUtlLinkedList< LayoutInfo_t * > m_lstControls;
  84. CPanelAnimationVarAliasType( int, m_nStartY, "start_y", "0", "proportional_ypos" );
  85. CPanelAnimationVarAliasType( int, m_nVerticalBuffer, "vertical_buffer", "0", "proportional_ypos" );
  86. CPanelAnimationVarAliasType( int, m_nDefaultX, "default_x", "0", "proportional_xpos" );
  87. friend class CReplayGameStatsHelper;
  88. };
  89. //-----------------------------------------------------------------------------
  90. void ReplayUI_ShowRenderDialog( Panel* pParent, ReplayHandle_t hReplay, bool bSetQuit, int iPerformance );
  91. //-----------------------------------------------------------------------------
  92. #endif // REPLAYBROWSER_RENDERDIALOG_H