initial
This commit is contained in:
176
hammer/faceedit_materialpage.h
Normal file
176
hammer/faceedit_materialpage.h
Normal file
@@ -0,0 +1,176 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef FACEEDIT_MATERIALPAGE_H
|
||||
#define FACEEDIT_MATERIALPAGE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "resource.h"
|
||||
#include "TextureBox.h"
|
||||
#include "IEditorTexture.h"
|
||||
#include "wndTex.h"
|
||||
#include "MapFace.h"
|
||||
#include "materialdlg.h"
|
||||
|
||||
class CMapSolid;
|
||||
|
||||
|
||||
// Flags for the Apply function
|
||||
#define FACE_APPLY_MATERIAL 0x01
|
||||
#define FACE_APPLY_MAPPING 0x02
|
||||
#define FACE_APPLY_LIGHTMAP_SCALE 0x04
|
||||
#define FACE_APPLY_ALIGN_EDGE 0x08 // NOT included in FACE_APPLY_ALL!
|
||||
#define FACE_APPLY_CONTENTS_DATA 0x10
|
||||
#define FACE_APPLY_ALL FACE_APPLY_MATERIAL | FACE_APPLY_MAPPING | FACE_APPLY_LIGHTMAP_SCALE
|
||||
|
||||
|
||||
class CFaceEditMaterialPage : public CPropertyPage
|
||||
{
|
||||
|
||||
DECLARE_DYNAMIC( CFaceEditMaterialPage );
|
||||
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
MATERIALPAGETOOL_NONE = 0,
|
||||
MATERIALPAGETOOL_MATERIAL,
|
||||
MATERIALPAGETOOL_SMOOTHING_GROUP
|
||||
};
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Creation/Destruction
|
||||
//
|
||||
CFaceEditMaterialPage();
|
||||
~CFaceEditMaterialPage();
|
||||
|
||||
void Init( void );
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Update
|
||||
//
|
||||
void ClickFace( CMapSolid *pSolid, int faceIndex, int cmd, int clickMode = -1 ); // primary interface update call
|
||||
void Apply( CMapFace *pOnlyFace, int flags );
|
||||
|
||||
void NotifyGraphicsChanged( void );
|
||||
void UpdateDialogData( CMapFace *pFace = NULL );
|
||||
|
||||
void SetMaterialPageTool( unsigned short iMaterialTool );
|
||||
unsigned short GetMaterialPageTool( void ) { return m_iMaterialTool; }
|
||||
|
||||
// Called when a new material is detected.
|
||||
void NotifyNewMaterial( IEditorTexture *pTex );
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Dialog Data
|
||||
//
|
||||
//{{AFX_DATA( CFaceEditMaterialPage )
|
||||
enum { IDD = IDD_FACEEDIT };
|
||||
//}}AFX_DATA
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Virtual Overrides
|
||||
//
|
||||
//{{AFX_VIRTUAL( CFaceEditMaterialPage )
|
||||
BOOL OnSetActive( void );
|
||||
virtual BOOL PreTranslateMessage( MSG *pMsg );
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Face Attributes
|
||||
//
|
||||
struct FaceAttributeInfo_t
|
||||
{
|
||||
unsigned int uControlID; // Control ID of corresponding checkbox.
|
||||
unsigned int *puAttribute; // Pointer to bit flags attribute being modified.
|
||||
unsigned int uFlag; // Bit flag(s) to set in the above attribute.
|
||||
};
|
||||
|
||||
static unsigned int m_FaceContents;
|
||||
static unsigned int m_FaceSurface;
|
||||
|
||||
protected:
|
||||
|
||||
CEdit m_shiftX;
|
||||
CEdit m_shiftY;
|
||||
CEdit m_scaleX;
|
||||
CEdit m_scaleY;
|
||||
CEdit m_rotate;
|
||||
CEdit m_cLightmapScale;
|
||||
CButton m_cHideMask;
|
||||
CButton m_cExpand;
|
||||
wndTex m_texture;
|
||||
|
||||
BOOL m_bInitialized;
|
||||
BOOL m_bHideMask;
|
||||
BOOL m_bIgnoreResize;
|
||||
BOOL m_bTreatAsOneFace; // whether to consider all selected faces as one face.
|
||||
|
||||
FaceOrientation_t m_eOrientation; // The orientation of the lifted face.
|
||||
|
||||
IEditorTexture *m_pCurTex;
|
||||
wndTex m_TexturePic;
|
||||
CTextureBox m_TextureList;
|
||||
CComboBox m_TextureGroupList;
|
||||
|
||||
unsigned short m_iMaterialTool;
|
||||
CFaceSmoothingDlg m_FaceSmoothDlg;
|
||||
|
||||
void SetReadOnly( bool bIsReadOnly );
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Texture Browser/Update
|
||||
//
|
||||
void SelectTexture( LPCSTR pszTextureName );
|
||||
void UpdateTexture( void );
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Texture Alignement
|
||||
//
|
||||
void AlignToView( CMapFace *pFace );
|
||||
void CopyTCoordSystem( const CMapFace *pFrom, CMapFace *pTo );
|
||||
void GetAllFaceExtents( Extents_t Extents );
|
||||
|
||||
//=========================================================================
|
||||
//
|
||||
// Message Map
|
||||
//
|
||||
//{{AFX_MSG( CFaceEditMaterialPage )
|
||||
afx_msg void OnButtonApply( void );
|
||||
afx_msg BOOL OnAlign(UINT uCmd);
|
||||
afx_msg void OnHideMask();
|
||||
afx_msg BOOL OnJustify( UINT uCmd );
|
||||
afx_msg void OnMode();
|
||||
afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar *pScrollBar );
|
||||
afx_msg void OnDeltaPosFloatSpin( NMHDR* pNMHDR, LRESULT* pResult );
|
||||
afx_msg void OnSize( UINT, int, int );
|
||||
afx_msg void OnSelChangeTexture( void );
|
||||
afx_msg void OnCheckUnCheck( void );
|
||||
afx_msg void OnTreatAsOne( void );
|
||||
afx_msg void OnReplace( void );
|
||||
afx_msg BOOL OnSwitchMode( UINT id );
|
||||
afx_msg void OnBrowse( void );
|
||||
afx_msg void OnChangeTextureGroup( void );
|
||||
afx_msg void OnButtonSmoothingGroups( void );
|
||||
afx_msg void OnButtonShiftXRandom( void );
|
||||
afx_msg void OnButtonShiftYRandom( void );
|
||||
//}}AFX_MSG
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnBnClickedFaceMarkButton();
|
||||
};
|
||||
|
||||
#endif // FACEEDIT_MATERIALPAGE_H
|
||||
Reference in New Issue
Block a user