Counter Strike : Global Offensive Source Code
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.

128 lines
3.1 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef FACEEDIT_DISPPAGE_H
  8. #define FACEEDIT_DISPPAGE_H
  9. #pragma once
  10. #include "resource.h"
  11. #include "DispDlg.h"
  12. class CMapSolid;
  13. class CMapFace;
  14. class CMapDisp;
  15. //=============================================================================
  16. //
  17. // Face Edit Displacement Page Class
  18. //
  19. class CFaceEditDispPage : public CPropertyPage
  20. {
  21. DECLARE_DYNAMIC( CFaceEditDispPage );
  22. public:
  23. enum { FACEEDITTOOL_SELECT = 0,
  24. FACEEDITTOOL_CREATE,
  25. FACEEDITTOOL_DESTROY,
  26. FACEEDITTOOL_PAINTGEO,
  27. FACEEDITTOOL_PAINTDATA,
  28. FACEEDITTOOL_PAINTSCULPT,
  29. FACEEDITTOOL_SEW,
  30. FACEEDITTOOL_SUBDIV,
  31. FACEEDITTOOL_NOISE,
  32. FACEEDITTOOL_TAG_WALK,
  33. FACEEDITTOOL_TAG_BUILD };
  34. public:
  35. CFaceEditDispPage();
  36. ~CFaceEditDispPage();
  37. void ClickFace( CMapSolid *pSolid, int faceIndex, int cmd, int clickMode = -1 ); // primary interface update call
  38. void Apply( void );
  39. void UpdateDialogData( void );
  40. void CloseAllDialogs( void );
  41. void ResetForceShows( void );
  42. void SetTool( unsigned int tool );
  43. unsigned int GetTool( void ) { return m_uiTool; }
  44. void UpdatePaintDialogs( void );
  45. //{{AFX_DATA( CFaceEditDispPage )
  46. enum { IDD = IDD_FACEEDIT_DISP };
  47. //}}AFX_DATA
  48. //{{AFX_VIRTUAL( CFaceEditDispPage )
  49. BOOL OnSetActive( void );
  50. BOOL OnKillActive( void );
  51. virtual BOOL PreTranslateMessage( MSG *pMsg );
  52. //}}AFX_VIRTUAL
  53. protected:
  54. unsigned int m_uiTool;
  55. CDispCreateDlg m_CreateDlg;
  56. CDispNoiseDlg m_NoiseDlg;
  57. CDispPaintDistDlg m_PaintDistDlg;
  58. CDispPaintDataDlg m_PaintDataDlg;
  59. CPaintSculptDlg m_PaintSculptDlg;
  60. bool m_bForceShowWalkable;
  61. bool m_bForceShowBuildable;
  62. bool m_bIsEditable;
  63. protected:
  64. inline void PostToolUpdate( void );
  65. void FillEditControls( bool bAllDisps );
  66. void UpdateEditControls( bool bAllDisps, bool bHasFace );
  67. void UpdatePower( CMapDisp *pDisp );
  68. void UpdateElevation( CMapDisp *pDisp );
  69. void UpdateScale( CMapDisp *pDisp );
  70. //=========================================================================
  71. //
  72. // Message Map
  73. //
  74. //{{AFX_MSG( CFaceEditDispPage )
  75. afx_msg void OnCheckMaskSelect( void );
  76. afx_msg void OnCheckMaskGrid( void );
  77. afx_msg void OnCheckNoPhysicsCollide( void );
  78. afx_msg void OnCheckNoHullCollide( void );
  79. afx_msg void OnCheckNoRayCollide( void );
  80. afx_msg void OnButtonSelect( void );
  81. afx_msg void OnButtonCreate( void );
  82. afx_msg void OnButtonDestroy( void );
  83. afx_msg void OnButtonNoise( void );
  84. afx_msg void OnButtonSubdivide( void );
  85. afx_msg void OnButtonSew( void );
  86. afx_msg void OnButtonPaintGeo( void );
  87. afx_msg void OnButtonPaintData( void );
  88. afx_msg void OnButtonTagWalkable( void );
  89. afx_msg void OnButtonTagBuildable( void );
  90. afx_msg void OnSelectAdjacent();
  91. afx_msg void OnButtonInvertAlpha( void );
  92. afx_msg void OnSpinUpDown( NMHDR *pNMHDR, LRESULT *pResult );
  93. afx_msg void OnButtonApply( void );
  94. //}}AFX_MSG
  95. DECLARE_MESSAGE_MAP()
  96. public:
  97. afx_msg void OnBnClickedDispSculptPaint( );
  98. };
  99. #endif // FACEDIT_DISPPAGE_H