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.
132 lines
3.1 KiB
132 lines
3.1 KiB
//========= 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
|