1 /*
2 ===========================================================================
3 
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
6 
7 This file is part of the Doom 3 GPL Source Code ("Doom 3 Source Code").
8 
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13 
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code.  If not, see <http://www.gnu.org/licenses/>.
21 
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code.  If not, please request a copy in writing from id Software at the address below.
23 
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25 
26 ===========================================================================
27 */
28 #if !defined(AFX_SURFACEDLG_H__D84E0C22_9EEA_11D1_B570_00AA00A410FC__INCLUDED_)
29 #define AFX_SURFACEDLG_H__D84E0C22_9EEA_11D1_B570_00AA00A410FC__INCLUDED_
30 
31 #if _MSC_VER >= 1000
32 #pragma once
33 #endif // _MSC_VER >= 1000
34 // SurfaceDlg.h : header file
35 //
36 
37 /////////////////////////////////////////////////////////////////////////////
38 // CSurfaceDlg dialog
39 
40 class CSurfaceDlg : public CDialog
41 {
42 	bool m_bPatchMode;
43 	CWnd *focusControl;
44 
45 	// Construction
46 public:
47 	CSurfaceDlg(CWnd* pParent = NULL);   // standard constructor
48   void SetTexMods();
49 
50 // Dialog Data
51 	//{{AFX_DATA(CSurfaceDlg)
52 	enum { IDD = IDD_SURFACE };
53 	CEdit	m_wndRotateEdit;
54 	CEdit	m_wndVert;
55 	CEdit	m_wndHorz;
56 	CSliderCtrl	m_wndVerticalSubdivisions;
57 	CSliderCtrl	m_wndHorzSubdivisions;
58 	CSpinButtonCtrl	m_wndWidth;
59 	CSpinButtonCtrl	m_wndHeight;
60 	CSpinButtonCtrl	m_wndVShift;
61 	CSpinButtonCtrl	m_wndVScale;
62 	CSpinButtonCtrl	m_wndRotate;
63 	CSpinButtonCtrl	m_wndHShift;
64 	CSpinButtonCtrl	m_wndHScale;
65 	int		m_nHorz;
66 	int		m_nVert;
67 	float	m_horzScale;
68 	float	m_horzShift;
69 	float	m_rotate;
70 	float	m_vertScale;
71 	float	m_vertShift;
72 	CString	m_strMaterial;
73 	BOOL	m_subdivide;
74 	float	m_fHeight;
75 	float	m_fWidth;
76 	BOOL	m_absolute;
77 	//}}AFX_DATA
78 
79 
80 // Overrides
81 	// ClassWizard generated virtual function overrides
82 	//{{AFX_VIRTUAL(CSurfaceDlg)
83 	public:
84 	virtual BOOL PreTranslateMessage(MSG* pMsg);
85 	protected:
86 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
87 	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
88 	//}}AFX_VIRTUAL
89 
90 // Implementation
91 protected:
92 
93   void UpdateSpinners(int nScrollCode, int nPos, CScrollBar* pBar);
94   void UpdateSpinners(bool bUp, int nID);
95 	// Generated message map functions
96 	//{{AFX_MSG(CSurfaceDlg)
97 	virtual BOOL OnInitDialog();
98 	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
99 	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
100 	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
101 	afx_msg void OnApply();
102 	virtual void OnOK();
103 	afx_msg void OnClose();
104 	virtual void OnCancel();
105 	afx_msg void OnDestroy();
106 	afx_msg void OnBtnCancel();
107 	afx_msg void OnBtnColor();
108 	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
109 	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
110 	afx_msg void OnDeltaPosSpin(NMHDR* pNMHDR, LRESULT* pResult);
111 	afx_msg void OnBtnPatchdetails();
112 	afx_msg void OnBtnPatchnatural();
113 	afx_msg void OnBtnPatchreset();
114 	afx_msg void OnBtnAxial();
115 	afx_msg void OnBtnBrushfit();
116 	afx_msg void OnBtnFacefit();
117 	afx_msg void OnCheckSubdivide();
118 	afx_msg void OnChangeEditHorz();
119 	afx_msg void OnChangeEditVert();
120 	afx_msg void OnSetfocusHscale();
121 	afx_msg void OnKillfocusHscale();
122 	afx_msg void OnKillfocusVscale();
123 	afx_msg void OnSetfocusVscale();
124 	afx_msg void OnKillfocusEditWidth();
125 	afx_msg void OnSetfocusEditWidth();
126 	afx_msg void OnKillfocusEditHeight();
127 	afx_msg void OnSetfocusEditHeight();
128 	afx_msg void OnBtnFlipx();
129 	afx_msg void OnBtnFlipy();
130 	afx_msg void OnKillfocusRotate();
131 	afx_msg void OnSetfocusRotate();
132 	//}}AFX_MSG
133 	DECLARE_MESSAGE_MAP()
134 };
135 
136 //{{AFX_INSERT_LOCATION}}
137 // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
138 
139 #endif // !defined(AFX_SURFACEDLG_H__D84E0C22_9EEA_11D1_B570_00AA00A410FC__INCLUDED_)
140