//========= Copyright © 1996-2005, 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 CSculptBlendOptions; 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 void OnBnClickedSculptBlend( ); //}}AFX_MSG DECLARE_MESSAGE_MAP() protected: typedef enum { SCULPT_MODE_PUSH, SCULPT_MODE_CARVE, SCULPT_MODE_PROJECT, SCULPT_MODE_BLEND, } SculptMode; // Save/Restore CRect m_DialogPosRect; CSculptPushOptions *m_PushOptions; CSculptCarveOptions *m_CarveOptions; CSculptProjectOptions *m_ProjectOptions; CSculptBlendOptions *m_BlendOptions; 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; public: CButton m_BlendButton; }; //============================================================================= // // 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