diff options
Diffstat (limited to 'hammer/dispdlg.h')
| -rw-r--r-- | hammer/dispdlg.h | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/hammer/dispdlg.h b/hammer/dispdlg.h new file mode 100644 index 0000000..6b11513 --- /dev/null +++ b/hammer/dispdlg.h @@ -0,0 +1,308 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef DISPDLG_H +#define DISPDLG_H +#pragma once + +#include "resource.h" +#include "IconComboBox.h" +#include "afxwin.h" + +//============================================================================= +// +// Displacement Create Dialog +// +class CDispCreateDlg : public CDialog +{ +public: + + CDispCreateDlg( CWnd *pParent = NULL ); + + //{{AFX_DATA( CDispCreateDlg ) + enum { IDD = IDD_DISP_CREATE }; + unsigned int m_Power; + CEdit m_editPower; + CSpinButtonCtrl m_spinPower; + //}}AFX_DATA + + //{{AFX_VIRTUAL( CDispCreateDlg ) + virtual void DoDataExchange( CDataExchange *pDX ); + virtual BOOL OnInitDialog( void ); + //}}AFX_VIRTUAL + +protected: + + //{{AFX_MSG( CDispCreateDlg ) + afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar ); + //}}AFX_MSG + + DECLARE_MESSAGE_MAP() +}; + + +//============================================================================= +// +// Displacement Noise Dialog +// +class CDispNoiseDlg : public CDialog +{ +public: + + CDispNoiseDlg( CWnd *pParent = NULL ); + + //{{AFX_DATA( CDispNoiseDlg ) + enum { IDD = IDD_DISP_NOISE }; + float m_Min; + float m_Max; + CEdit m_editMin; + CEdit m_editMax; + CSpinButtonCtrl m_spinMin; + CSpinButtonCtrl m_spinMax; + //}}AFX_DATA + + //{{AFX_VIRTUAL( CDispNoiseDlg ) + virtual void DoDataExchange( CDataExchange *pDX ); + virtual BOOL OnInitDialog( void ); + //}}AFX_VIRTUAL + +protected: + + //{{AFX_MSG( CDispNoiseDlg ) + afx_msg void CDispNoiseDlg::OnSpinUpDown( NMHDR *pNMHDR, LRESULT *pResult ); + //}}AFX_MSG + + DECLARE_MESSAGE_MAP() +}; + + +//============================================================================= +// +// Displacement Paint Dist Dialog +// +class CDispPaintDistDlg : public CDialog +{ +public: + + CDispPaintDistDlg( CWnd *pParent = NULL ); + ~CDispPaintDistDlg(); + + void UpdateSpatialData( void ); + + //{{AFX_DATA( CDispPaintDistDlg ) + enum { IDD = IDD_DISP_PAINT_DIST }; + CSliderCtrl m_sliderDistance; + CSliderCtrl m_sliderRadius; + CEdit m_editDistance; + CEdit m_editRadius; + CIconComboBox m_comboboxBrush; + CComboBox m_comboboxAxis; + float m_Distance; + float m_Radius; + //}}AFX_DATA + + //{{AFX_VIRTUAL( CDispPaintDistDlg ) + virtual void DoDataExchange( CDataExchange *pDX ); + virtual BOOL OnInitDialog( void ); + //}}AFX_VIRTUAL + +protected: + + bool InitComboBoxBrushGeo( void ); + bool InitComboBoxAxis( void ); + void InitBrushType( void ); + void EnableBrushTypeButtons( void ); + void DisableBrushTypeButtons( void ); + void FilterComboBoxBrushGeo( unsigned int nEffect, bool bInit ); + void EnablePaintingComboBoxes( void ); + void DisablePaintingComboBoxes( void ); + + void UpdateAxis( int nAxis ); + void SetEffectButtonGeo( unsigned int nEffect ); + void SetBrushTypeButtonGeo( unsigned int uiBrushType ); + + void InitDistance( void ); + void UpdateSliderDistance( float flDistance, bool bForceInit ); + void UpdateEditBoxDistance( float flDistance, bool bForceInit ); + void InitRadius( void ); + void EnableSliderRadius( void ); + void DisableSliderRadius( void ); + void UpdateSliderRadius( float flRadius, bool bForceInit ); + void UpdateEditBoxRadius( float flRadius, bool bForceInit ); + + //{{AFX_MSG( CDispPaintDistDlg ) + afx_msg void OnEffectRaiseLowerGeo( void ); + afx_msg void OnEffectRaiseToGeo( void ); + afx_msg void OnEffectSmoothGeo( void ); + + afx_msg void OnBrushTypeSoftEdge( void ); + afx_msg void OnBrushTypeHardEdge( void ); + + afx_msg void OnCheckSpatial( void ); + afx_msg void OnCheckAutoSew( void ); + + afx_msg void OnComboBoxBrushGeo( void ); + afx_msg void OnComboBoxAxis( void ); + + afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar *pScrollBar ); + afx_msg void OnEditDistance( void ); + afx_msg void OnEditRadius( void ); + + afx_msg void OnClose( void ); + afx_msg void OnDestroy( void ); + //}}AFX_MSG + + DECLARE_MESSAGE_MAP() + +protected: + + // Save/Restore + CRect m_DialogPosRect; + unsigned int m_nPrevEffect; + int m_nPrevBrush; + int m_nPrevPaintAxis; + Vector m_vecPrevPaintAxis; + float m_flPrevRadius; + float m_flPrevDistance; +}; + + +//============================================================================= +// +// Displacement Paint Dist Dialog +// +class CSculptPushOptions; +class CSculptCarveOptions; +class CSculptProjectOptions; + +class CPaintSculptDlg : public CDialog +{ +public: + + CPaintSculptDlg( CWnd *pParent = NULL ); + ~CPaintSculptDlg(); + + bool GetAutoSew( ) { return m_bAutoSew; } + + void UpdateSpatialData( ); + + //{{AFX_DATA( CPaintSculptDlg ) + enum { IDD = IDD_DISP_PAINT_SCULPT }; + //}}AFX_DATA + + //{{AFX_VIRTUAL( CPaintSculptDlg ) + virtual void DoDataExchange( CDataExchange *pDX ); + virtual BOOL OnInitDialog( ); + //}}AFX_VIRTUAL + +protected: + //{{AFX_MSG( CPaintSculptDlg ) + afx_msg void OnCheckAutoSew( ); + + afx_msg void OnClose( ); + afx_msg void OnDestroy( void ); + afx_msg void OnLButtonUp( UINT nFlags, CPoint point ); + afx_msg void OnLButtonDown( UINT nFlags, CPoint point ); + afx_msg void OnMouseMove( UINT nFlags, CPoint point ); + afx_msg void OnBnClickedSculptPush( ); + afx_msg void OnBnClickedSculptCarve( ); + afx_msg void OnBnClickedSculptProject( ); + //}}AFX_MSG + + DECLARE_MESSAGE_MAP() + +protected: + typedef enum + { + SCULPT_MODE_PUSH, + SCULPT_MODE_CARVE, + SCULPT_MODE_PROJECT, + } SculptMode; + + // Save/Restore + CRect m_DialogPosRect; + + CSculptPushOptions *m_PushOptions; + CSculptCarveOptions *m_CarveOptions; + CSculptProjectOptions *m_ProjectOptions; + + bool m_bAutoSew; + SculptMode m_SculptMode; + + void SetActiveMode( SculptMode NewMode ); + + CStatic m_SculptOptionsLoc; + CButton m_AutoSew; + CButton m_PushButton; + CButton m_CarveButton; + CButton m_ProjectButton; +}; + + +//============================================================================= +// +// Displacement Paint Dist Dialog +// +class CDispPaintDataDlg : public CDialog +{ +public: + + CDispPaintDataDlg( CWnd *pParent = NULL ); + ~CDispPaintDataDlg(); + + //{{AFX_DATA( CDispPaintDataDlg ) + enum { IDD = IDD_DISP_PAINT_DATA }; + CIconComboBox m_comboboxBrush; + CComboBox m_comboboxType; + CSliderCtrl m_sliderValue; + CEdit m_editValue; + float m_fValue; + //}}AFX_DATA + + //{{AFX_VIRTUAL( CDispPaintDataDlg ) + virtual void DoDataExchange( CDataExchange *pDX ); + virtual BOOL OnInitDialog( void ); + //}}AFX_VIRTUAL + +protected: + + bool InitComboBoxBrushData( void ); + bool InitComboBoxType( void ); + void FilterComboBoxBrushData( unsigned int uiEffect, bool bInit ); + + void SetEffectButtonData( unsigned int effect ); + + void InitValue( void ); + void UpdateSliderValue( float fValue ); + + //{{AFX_MSG( CDispPaintDataDlg ) + afx_msg void OnEffectRaiseLowerData( void ); + afx_msg void OnEffectRaiseToData( void ); + afx_msg void OnEffectSmoothData( void ); + + afx_msg void OnComboBoxBrushData( void ); + afx_msg void OnComboBoxType( void ); + + afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar *pScrollBar ); + afx_msg void OnEditValue( void ); + + afx_msg void OnClose( void ); + afx_msg void OnDestroy( void ); + //}}AFX_MSG + + DECLARE_MESSAGE_MAP() + +protected: + + // save/restore + CRect m_DialogPosRect; + unsigned int m_uiPrevEffect; + float m_fPrevPaintValue; + int m_iPrevBrush; +}; + +#endif // DISPDLG_H |