diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /hammer/faceedit_disppage.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'hammer/faceedit_disppage.h')
| -rw-r--r-- | hammer/faceedit_disppage.h | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/hammer/faceedit_disppage.h b/hammer/faceedit_disppage.h new file mode 100644 index 0000000..b146e5e --- /dev/null +++ b/hammer/faceedit_disppage.h @@ -0,0 +1,132 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef FACEEDIT_DISPPAGE_H +#define FACEEDIT_DISPPAGE_H +#pragma once + +#include "resource.h" +#include "DispDlg.h" + +class CMapSolid; +class CMapFace; +class CMapDisp; + +//============================================================================= +// +// Face Edit Displacement Page Class +// +class CFaceEditDispPage : public CPropertyPage +{ + + DECLARE_DYNAMIC( CFaceEditDispPage ); + +public: + + enum { FACEEDITTOOL_SELECT = 0, + FACEEDITTOOL_CREATE, + FACEEDITTOOL_DESTROY, + FACEEDITTOOL_PAINTGEO, + FACEEDITTOOL_PAINTDATA, + FACEEDITTOOL_PAINTSCULPT, + FACEEDITTOOL_SEW, + FACEEDITTOOL_SUBDIV, + FACEEDITTOOL_NOISE, + FACEEDITTOOL_TAG_WALK, + FACEEDITTOOL_TAG_BUILD, + FACEEDITTOOL_TAG_REMOVE, + }; + +public: + + CFaceEditDispPage(); + ~CFaceEditDispPage(); + + void ClickFace( CMapSolid *pSolid, int faceIndex, int cmd, int clickMode = -1 ); // primary interface update call + void Apply( void ); + + void UpdateDialogData( void ); + void CloseAllDialogs( void ); + void ResetForceShows( void ); + + void SetTool( unsigned int tool ); + unsigned int GetTool( void ) { return m_uiTool; } + + void UpdatePaintDialogs( void ); + + //{{AFX_DATA( CFaceEditDispPage ) + enum { IDD = IDD_FACEEDIT_DISP }; + //}}AFX_DATA + + //{{AFX_VIRTUAL( CFaceEditDispPage ) + BOOL OnSetActive( void ); + BOOL OnKillActive( void ); + virtual BOOL PreTranslateMessage( MSG *pMsg ); + //}}AFX_VIRTUAL + +protected: + + unsigned int m_uiTool; + + CDispCreateDlg m_CreateDlg; + CDispNoiseDlg m_NoiseDlg; + CDispPaintDistDlg m_PaintDistDlg; + CDispPaintDataDlg m_PaintDataDlg; + CPaintSculptDlg m_PaintSculptDlg; + + bool m_bForceShowWalkable; + bool m_bForceShowBuildable; + bool m_bIsEditable; + +protected: + + inline void PostToolUpdate( void ); + + void FillEditControls( bool bAllDisps ); + void UpdateEditControls( bool bAllDisps, bool bHasFace ); + + void UpdatePower( CMapDisp *pDisp ); + void UpdateElevation( CMapDisp *pDisp ); + void UpdateScale( CMapDisp *pDisp ); + + //========================================================================= + // + // Message Map + // + //{{AFX_MSG( CFaceEditDispPage ) + afx_msg void OnCheckMaskSelect( void ); + afx_msg void OnCheckMaskGrid( void ); + + afx_msg void OnCheckNoPhysicsCollide( void ); + afx_msg void OnCheckNoHullCollide( void ); + afx_msg void OnCheckNoRayCollide( void ); + + afx_msg void OnButtonSelect( void ); + afx_msg void OnButtonCreate( void ); + afx_msg void OnButtonDestroy( void ); + afx_msg void OnButtonNoise( void ); + afx_msg void OnButtonSubdivide( void ); + afx_msg void OnButtonSew( void ); + afx_msg void OnButtonPaintGeo( void ); + afx_msg void OnButtonPaintData( void ); + afx_msg void OnButtonTagWalkable( void ); + afx_msg void OnButtonTagBuildable( void ); + afx_msg void OnButtonTagRemove( void ); + afx_msg void OnSelectAdjacent(); + afx_msg void OnButtonInvertAlpha( void ); + + afx_msg void OnSpinUpDown( NMHDR *pNMHDR, LRESULT *pResult ); + afx_msg void OnButtonApply( void ); + //}}AFX_MSG + + DECLARE_MESSAGE_MAP() +public: + afx_msg void OnBnClickedDispSculptPaint( ); +}; + + +#endif // FACEDIT_DISPPAGE_H
\ No newline at end of file |