FLImaging 7.8.25.3
GUIControlDrawer.h
1#pragma once
2#include "GUIStyleAttribute.h"
3
4namespace FLImaging
5{
6 namespace GUI
7 {
8 class CGUIRWLock;
9
10 class FL_EXPORT CGUIControlDrawer
11 {
12 public:
13 CGUIControlDrawer();
14 CGUIControlDrawer(EGUIControlType eControlType);
15 virtual ~CGUIControlDrawer();
16 virtual const CResult Assign(const CGUIControlDrawer& rhs);
17 virtual const CResult Assign(const CGUIControlDrawer* pRhs);
18 CGUIControlDrawer& operator=(const CGUIControlDrawer& rhs);
19
20 virtual const CResult ClearCacheAll();
21 virtual const CResult ClearCacheLine(EControlLineType eLT);
22 virtual const CResult ClearCacheLineAll();
23 virtual const CResult ClearCacheText(EControlTextType eTT);
24 virtual const CResult ClearCacheTextAll();
25 virtual const CResult ClearCachePaint(EControlPaintType ePT);
26 virtual const CResult ClearCachePaintAll();
27 virtual const CResult ClearCacheGeometry(EControlRectType eRT);
28 virtual const CResult ClearCacheGeometryAll();
29 virtual const CResult ClearCacheLayout(EControlRectType eRT);
30 virtual const CResult ClearCacheLayoutAll();
31 virtual const CResult ClearCacheEffects(EControlRectType eRT);
32 virtual const CResult ClearCacheEffectsAll();
33
34 virtual void DrawAndFillRect(CDC* pDC, CRect rect, COLORREF* pClrBorder, bool* pBDrawBorder, COLORREF* pClrFill, bool* pBFill, EControlPaintType ePTFill = EControlPaintType_Fill, EControlPaintType ePTBorder = EControlPaintType_Border, EControlLineType eLTBorder = EControlLineType_Border, EControlRectType eRT = EControlRectType_Basic) const;
35 virtual void DrawAndFillRect(CDC* pDC, CRect rect, EControlPaintType ePTFill = EControlPaintType_Fill, EControlPaintType ePTBorder = EControlPaintType_Border, EControlLineType eLTBorder = EControlLineType_Border, EControlRectType eRT = EControlRectType_Basic) const;
36 virtual void DrawSpin(CDC* pDC, CRect rect, int32_t i32SpinState, ESpinIcon eIcon, bool bUpDownOrientation = true, EControlPaintType ePTFill = EControlPaintType_SubItemFill, EControlPaintType ePTBorder = EControlPaintType_SubItemBorder, EControlLineType eLTBorder = EControlLineType_SubItemBorder, EControlRectType eRT = EControlRectType_SubItem) const;
37 virtual void DrawText(CDC* pDC, CRect rect, const CString& str, EControlPaintType ePTTextBg, EControlTextType eTT = EControlTextType_Value) const;
38
39 virtual const CResult GetCurrentColor(EControlPaintType ePT, COLORREF& clr) const;
40 virtual const CResult SetCurrentColor(EControlPaintType ePT, COLORREF clr);
41 virtual const CResult GetColorForState(EControlPaintType ePT, EGUIControlState eState, COLORREF& clrColor) const;
42 virtual const CResult SetColorForState(EControlPaintType ePT, EGUIControlState eState, COLORREF clrColor);
43 virtual const CResult SetColorForAllStates(EControlPaintType ePT, COLORREF clrColor);
44 virtual const CResult ClearColorForState(EControlPaintType ePT, EGUIControlState eState);
45 virtual const CResult ClearColorForAllStates(EControlPaintType ePT);
46
47 virtual const CResult GetCurrentDrawFlag(EControlPaintType ePT, bool& bDraw) const;
48 virtual const CResult GetDrawFlagForState(EControlPaintType ePT, EGUIControlState eState, bool& bDraw) const;
49 virtual const CResult SetDrawFlagForState(EControlPaintType ePT, EGUIControlState eState, bool bDraw);
50 virtual const CResult SetDrawFlagForAllStates(EControlPaintType ePT, bool bDraw);
51 virtual const CResult ClearDrawFlagForState(EControlPaintType ePT, EGUIControlState eState);
52 virtual const CResult ClearDrawFlagForAllStates(EControlPaintType ePT);
53
54 virtual const CResult ClearPenStyle(EControlLineType eLT, EGUIControlState eState);
55 virtual const CResult ClearPenStyleForAllStates(EControlLineType eLT);
56
57 virtual const CResult ClearLayout(EControlRectType eRT);
58 virtual const CResult ClearLayoutPadding(EControlRectType eRT);
59 virtual const CResult ClearLayoutMargin(EControlRectType eRT);
60
61 public:
62 virtual const CResult CreateBackBuffer(CWnd* pParentWnd, CWnd* pThisWnd, CRect rect);
63 virtual const CResult DeleteBackBuffer();
64 virtual const CResult RefreshBackBufferBackground(CWnd* pParentWnd, CWnd* pThisWnd, const CRect& rect);
65 virtual CDC* GetBackBufferDC();
66
67 virtual const CResult SetCurrentCornerRadius(EControlRectType eRT, float f32CornerRadius, bool bLT = true, bool bRT = true, bool bRB = true, bool bLB = true);
68 virtual const CResult GetCurrentCornerRadius(EControlRectType eRT, float& f32CornerRadius) const;
69 virtual const CResult SetCurrentCornerRadiusApplyMask(EControlRectType eRT, bool bLT, bool bRT, bool bRB, bool bLB);
70 virtual const CResult GetCurrentCornerRadiusApplyMask(EControlRectType eRT, bool& bLT, bool& bRT, bool& bRB, bool& bLB) const;
71
72 virtual const CResult SetCurrentEffects(EControlRectType eRT, const Base::TRect<int32_t>& trShadowOutset, const Base::TRect<int32_t>& trHighlightInset);
73 virtual const CResult GetCurrentEffects(EControlRectType eRT, Base::TRect<int32_t>& trShadowOutset, Base::TRect<int32_t>& trHighlightInset) const;
74 virtual const CResult SetEffects(EControlRectType eRT, const Base::TRect<int32_t>& trShadowOutset, const Base::TRect<int32_t>& trHighlightInset);
75 virtual const CResult GetEffects(EControlRectType eRT, Base::TRect<int32_t>& trShadowOutset, Base::TRect<int32_t>& trHighlightInset) const;
76
77 virtual const CResult SetCurrentLineWidth(EControlLineType eLT, int32_t i32LineWidth);
78 virtual const CResult GetCurrentLineWidth(EControlLineType eLT, int32_t& i32LineWidth) const;
79 virtual const CResult GetCurrentLineWidth(EControlLineType eLT, float& f32LineWidth) const;
80 virtual const CResult SetCurrentPenStyle(EControlLineType eLT, Foundation::EAttributeDrawingPenStyle ePenStyle);
81 virtual const CResult GetCurrentPenStyle(EControlLineType eLT, Foundation::EAttributeDrawingPenStyle& ePenStyle) const;
82
83 virtual const CResult SetCurrentLayout(EControlRectType eRT, const Base::TRect<int32_t>& trMargin, const Base::TRect<int32_t>& trPadding);
84 virtual const CResult GetCurrentLayout(EControlRectType eRT, Base::TRect<int32_t>& trMargin, Base::TRect<int32_t>& trPadding) const;
85 virtual const CResult SetCurrentLayoutMargin(EControlRectType eRT, const Base::TRect<int32_t>& trMargin);
86 virtual const CResult GetCurrentLayoutMargin(EControlRectType eRT, Base::TRect<int32_t>& trMargin) const;
87 virtual const CResult SetCurrentLayoutPadding(EControlRectType eRT, const Base::TRect<int32_t>& trPadding);
88 virtual const CResult GetCurrentLayoutPadding(EControlRectType eRT, Base::TRect<int32_t>& trPadding) const;
89
90 virtual const CResult SetCurrentTextLayout(EControlTextType e, uint32_t u32TextFormat, const Base::TRect<int32_t>& trPadding);
91 virtual const CResult GetCurrentTextLayout(EControlTextType e, uint32_t& u32TextFormat, Base::TRect<int32_t>& trPadding) const;
92 virtual const CResult SetCurrentTextLayoutFormat(EControlTextType e, uint32_t u32TextFormat);
93 virtual const CResult GetCurrentTextLayoutFormat(EControlTextType e, uint32_t& u32TextFormat) const;
94 virtual const CResult SetCurrentTextLayoutPadding(EControlTextType e, const Base::TRect<int32_t>& trPadding);
95 virtual const CResult GetCurrentTextLayoutPadding(EControlTextType e, Base::TRect<int32_t>& trPadding) const;
96
97 virtual const CResult SetCornerRadius(EControlRectType eRT, float f32CornerRadius, bool bLT = true, bool bRT = true, bool bRB = true, bool bLB = true);
98 virtual const CResult GetCornerRadius(EControlRectType eRT, float& f32CornerRadius) const;
99 virtual const CResult ClearCornerRadius(EControlRectType eRT);
100 virtual const CResult SetCornerRadiusApplyMask(EControlRectType eRT, bool bLT, bool bRT, bool bRB, bool bLB);
101 virtual const CResult GetCornerRadiusApplyMask(EControlRectType eRT, bool& bLT, bool& bRT, bool& bRB, bool& bLB) const;
102
103 virtual const CResult SetLayout(EControlRectType eRT, const Base::TRect<int32_t>& trMargin, const Base::TRect<int32_t>& trPadding);
104 virtual const CResult SetLayoutMargin(EControlRectType eRT, const Base::TRect<int32_t>& trMargin);
105 virtual const CResult SetLayoutPadding(EControlRectType eRT, const Base::TRect<int32_t>& trPadding);
106 virtual const CResult GetLayout(EControlRectType eRT, Base::TRect<int32_t>& trMargin, Base::TRect<int32_t>& trPadding) const;
107
108 virtual const CResult SetTextLayout(EControlTextType e, uint32_t u32TextFormat, const Base::TRect<int32_t>& trPadding);
109 virtual const CResult GetTextLayout(EControlTextType e, uint32_t& u32TextFormat, Base::TRect<int32_t>& trPadding) const;
110 virtual const CResult SetTextLayoutFormat(EControlTextType e, uint32_t u32TextFormat);
111 virtual const CResult GetTextLayoutFormat(EControlTextType e, uint32_t& u32TextFormat);
112 virtual const CResult SetTextLayoutPadding(EControlTextType e, const Base::TRect<int32_t>& trPadding);
113 virtual const CResult GetTextLayoutPadding(EControlTextType e, Base::TRect<int32_t>& trPadding);
114
115 // Background
116 virtual void SetBackgroundColors(COLORREF clrBgColorNormal, COLORREF clrBgColorDisabled, COLORREF clrBgColorHover, COLORREF clrBgColorPressed);
117 virtual void GetBackgroundColors(COLORREF& clrBgColorNormal, COLORREF& clrBgColorDisabled, COLORREF& clrBgColorHover, COLORREF& clrBgColorPressed) const;
118
119 virtual void SetCurrentBackgroundColor(COLORREF clrBgColor);
120 virtual COLORREF GetCurrentBackgroundColor() const;
121 virtual const CResult GetCurrentBackgroundColor(COLORREF& clr) const;
122
123 virtual void SetBackgroundColorNormal(COLORREF clrBgColorNormal);
124 virtual COLORREF GetBackgroundColorNormal() const;
125 virtual const CResult GetBackgroundColorNormal(COLORREF& clr) const;
126
127 virtual void SetBackgroundColorDisabled(COLORREF clrBgColorDisabled);
128 virtual COLORREF GetBackgroundColorDisabled() const;
129 virtual const CResult GetBackgroundColorDisabled(COLORREF& clr) const;
130
131 virtual void SetBackgroundColorHover(COLORREF clrBgColorHover);
132 virtual COLORREF GetBackgroundColorHover() const;
133 virtual const CResult GetBackgroundColorHover(COLORREF& clr) const;
134
135 virtual void SetBackgroundColorPressed(COLORREF clrBgColorPressed);
136 virtual COLORREF GetBackgroundColorPressed() const;
137 virtual const CResult GetBackgroundColorPressed(COLORREF& clr) const;
138
139 // Fill
140 virtual void SetFillColors(COLORREF clrFillColorNormal, COLORREF clrFillColorDisabled, COLORREF clrFillColorHover, COLORREF clrFillColorPressed);
141 virtual void GetFillColors(COLORREF& clrFillColorNormal, COLORREF& clrFillColorDisabled, COLORREF& clrFillColorHover, COLORREF& clrFillColorPressed) const;
142
143 virtual void SetCurrentFillColor(COLORREF clrFillColor);
144 virtual COLORREF GetCurrentFillColor() const;
145 virtual const CResult GetCurrentFillColor(COLORREF& clr) const;
146
147 virtual void SetFillColorNormal(COLORREF clrFillColorNormal);
148 virtual COLORREF GetFillColorNormal() const;
149 virtual const CResult GetFillColorNormal(COLORREF& clr) const;
150
151 virtual void SetFillColorDisabled(COLORREF clrFillColorDisabled);
152 virtual COLORREF GetFillColorDisabled() const;
153 virtual const CResult GetFillColorDisabled(COLORREF& clr) const;
154
155 virtual void SetFillColorReadOnly(COLORREF clrFillColorReadOnly);
156 virtual COLORREF GetFillColorReadOnly() const;
157 virtual const CResult GetFillColorReadOnly(COLORREF& clr) const;
158
159 virtual void SetFillColorHover(COLORREF clrFillColorHover);
160 virtual COLORREF GetFillColorHover() const;
161 virtual const CResult GetFillColorHover(COLORREF& clr) const;
162
163 virtual void SetFillColorPressed(COLORREF clrFillColorPressed);
164 virtual COLORREF GetFillColorPressed() const;
165 virtual const CResult GetFillColorPressed(COLORREF& clr) const;
166
167 // Line
168 virtual void SetLineColors(EControlLineType e, COLORREF clrLineColorNormal, COLORREF clrLineColorDisabled, COLORREF clrLineColorHover, COLORREF clrLineColorPressed);
169 virtual void GetLineColors(EControlLineType e, COLORREF& clrLineColorNormal, COLORREF& clrLineColorDisabled, COLORREF& clrLineColorHover, COLORREF& clrLineColorPressed) const;
170
171 virtual void SetCurrentLineColor(EControlLineType e, COLORREF clrLineColor);
172 virtual COLORREF GetCurrentLineColor(EControlLineType e) const;
173 virtual const CResult GetCurrentLineColor(EControlLineType e, COLORREF& clr) const;
174
175 virtual void SetLineColor(EControlLineType e, EGUIControlState eState, COLORREF clrLineColorNormal);
176
177 virtual void SetLineColorNormal(EControlLineType e, COLORREF clrLineColorNormal);
178 virtual COLORREF GetLineColorNormal(EControlLineType e) const;
179 virtual const CResult GetLineColorNormal(EControlLineType e, COLORREF& clr) const;
180
181 virtual void SetLineColorDisabled(EControlLineType e, COLORREF clrLineColorDisabled);
182 virtual COLORREF GetLineColorDisabled(EControlLineType e) const;
183 virtual const CResult GetLineColorDisabled(EControlLineType e, COLORREF& clr) const;
184
185 virtual void SetLineColorHover(EControlLineType e, COLORREF clrLineColorHover);
186 virtual COLORREF GetLineColorHover(EControlLineType e) const;
187 virtual const CResult GetLineColorHover(EControlLineType e, COLORREF& clr) const;
188
189 virtual void SetLineColorPressed(EControlLineType e, COLORREF clrLineColorPressed);
190 virtual COLORREF GetLineColorPressed(EControlLineType e) const;
191 virtual const CResult GetLineColorPressed(EControlLineType e, COLORREF& clr) const;
192
193 virtual const CResult SetLineWidth(EControlLineType eLT, int32_t i32LineWidth, EGUIControlState eState);
194 virtual const CResult GetLineWidth(EControlLineType eLT, EGUIControlState eState, int32_t& i32LineWidth) const;
195
196 virtual void SetPenStyle(EControlLineType e, Foundation::EAttributeDrawingPenStyle ePenStyle, EGUIControlState eState);
197 virtual Foundation::EAttributeDrawingPenStyle GetPenStyle(EControlLineType e, EGUIControlState eState) const;
198
199 // Text
200 virtual void SetTextColors(EControlTextType e, COLORREF clrTextColorNormal, COLORREF clrTextColorDisabled, COLORREF clrTextColorHover, COLORREF clrTextColorPressed);
201 virtual void GetTextColors(EControlTextType e, COLORREF& clrTextColorNormal, COLORREF& clrTextColorDisabled, COLORREF& clrTextColorHover, COLORREF& clrTextColorPressed) const;
202
203 virtual void SetCurrentTextColor(EControlTextType e, COLORREF clrTextColor);
204 virtual COLORREF GetCurrentTextColor(EControlTextType e) const;
205 virtual const CResult GetCurrentTextColor(EControlTextType e, COLORREF& clr) const;
206
207 virtual void SetTextColorNormal(EControlTextType e, COLORREF clrTextColorNormal);
208 virtual COLORREF GetTextColorNormal(EControlTextType e) const;
209 virtual const CResult GetTextColorNormal(EControlTextType e, COLORREF& clr) const;
210
211 virtual void SetTextColorDisabled(EControlTextType e, COLORREF clrTextColorDisabled);
212 virtual COLORREF GetTextColorDisabled(EControlTextType e) const;
213 virtual const CResult GetTextColorDisabled(EControlTextType e, COLORREF& clr) const;
214
215 virtual void SetTextColorReadOnly(EControlTextType e, COLORREF clrTextColorReadOnly);
216 virtual COLORREF GetTextColorReadOnly(EControlTextType e) const;
217 virtual const CResult GetTextColorReadOnly(EControlTextType e, COLORREF& clr) const;
218
219 virtual void SetTextColorHover(EControlTextType e, COLORREF clrTextColorHover);
220 virtual COLORREF GetTextColorHover(EControlTextType e) const;
221 virtual const CResult GetTextColorHover(EControlTextType e, COLORREF& clr) const;
222
223 virtual void SetTextColorPressed(EControlTextType e, COLORREF clrTextColorPressed);
224 virtual COLORREF GetTextColorPressed(EControlTextType e) const;
225 virtual const CResult GetTextColorPressed(EControlTextType e, COLORREF& clr) const;
226
227 public:
228 const CResult ResolveColors(EControlPaintType ePT, COLORREF& clrNormal, COLORREF& clrDisabled, COLORREF& clrHover, COLORREF& clrPressed) const;
229 const CResult ResolveColor(EControlPaintType ePT, EGUIControlState state, COLORREF& outClr) const;
230 const CResult ResolveDrawFlag(EControlPaintType ePT, EGUIControlState state, bool& outFlag) const;
231
232 const CResult ResolveLineWidth(EControlLineType eLT, EGUIControlState state, int32_t& i32LineWidth) const;
233 const CResult ResolvePenStyle(EControlLineType eLT, EGUIControlState state, Foundation::EAttributeDrawingPenStyle& ePenStyle) const;
234
235 const CResult ResolveCornerRadius(EControlRectType eRT, float& f32CornerRadius) const;
236 const CResult ResolveCornerRadiusApplyMask(EControlRectType eRT, bool& bLT, bool& bRT, bool& bRB, bool& bLB) const;
237 const CResult ResolveEffectsShadow(EControlRectType eRT, bool& bDrawShadow, Base::TRect<int32_t>& trShadowOutset) const;
238 const CResult ResolveEffectsHighlight(EControlRectType eRT, bool& bDrawHighlight, Base::TRect<int32_t>& trHighlightInset) const;
239
240 const CResult ResolveLayoutMargin(EControlRectType eRT, Base::TRect<int32_t>& trMargin) const;
241 const CResult ResolveLayoutPadding(EControlRectType eRT, Base::TRect<int32_t>& trPadding) const;
242
243 const CResult ResolveTextLayoutFormat(EControlTextType eST, uint32_t& u32TextFormat) const;
244 const CResult ResolveTextLayoutPadding(EControlTextType eST, Base::TRect<int32_t>& trMargin) const;
245
246 public:
247 virtual void UpdateAllByState(EGUIControlState eState, bool bInvalidate = false, CWnd* pWnd = nullptr);
248 virtual void UpdateAllColorByState(EGUIControlState eState, bool bInvalidate = false, CWnd* pWnd = nullptr);
249 virtual void UpdateColorByState(EControlPaintType ePT, EGUIControlState eState, bool bInvalidate = false, CWnd* pWnd = nullptr);
250 virtual void UpdateLineByState(EGUIControlState eState, bool bInvalidate = false, CWnd* pWnd = nullptr);
251 virtual void UpdateAllLayoutGeometryEffects(bool bInvalidate = false);
252 virtual void UpdateLayoutGeometryEffects(EControlRectType eRT, bool bInvalidate = false);
253 virtual void UpdateAllLayout(bool bInvalidate);
254 virtual void UpdateLayout(EControlRectType eRT, bool bInvalidate);
255 virtual void UpdateAllGeometry(bool bInvalidate);
256 virtual void UpdateGeometry(EControlRectType eRT, bool bInvalidate);
257 virtual void UpdateAllEffects(bool bInvalidate);
258 virtual void UpdateEffects(EControlRectType eRT, bool bInvalidate);
259 virtual void UpdateTextStyleAll(bool bInvalidate);
260 virtual void UpdateTextStyle(EControlTextType eTT, bool bInvalidate);
261
262 protected:
263 CGUIStyleAttributeLine* GetCacheLineNoLock(EControlLineType e) const;
264 CGUIStyleAttributeTextLayout* GetCacheTextNoLock(EControlTextType e) const;
265 CGUIStyleAttributeColor* GetCachePaintNoLock(EControlPaintType e) const;
266 CGUIStyleAttributeGeometry* GetCacheGeometryNoLock(EControlRectType e) const;
267 CGUIStyleAttributeLayout* GetCacheLayoutNoLock(EControlRectType e) const;
268 CGUIStyleAttributeEffects* GetCacheEffectsNoLock(EControlRectType e) const;
269 SStyleCacheBackBuffer* GetCacheBackBufferNoLock() const;
270
271 protected:
272 template<typename TStyle, typename TSubType>
273 TStyle* EnsureStyleNoLock(TSubType eST);
274 CGUIStyleAttributeLine* EnsureCacheLineNoLock(EControlLineType e);
275 CGUIStyleAttributeTextLayout* EnsureCacheTextNoLock(EControlTextType e);
276 CGUIStyleAttributeColor* EnsureCachePaintNoLock(EControlPaintType e);
277 CGUIStyleAttributeGeometry* EnsureCacheGeometryNoLock(EControlRectType e);
278 CGUIStyleAttributeLayout* EnsureCacheLayoutNoLock(EControlRectType e);
279 CGUIStyleAttributeEffects* EnsureCacheEffectsNoLock(EControlRectType e);
280 SStyleCacheBackBuffer* EnsureCacheBackBufferNoLock(bool bLock = true);
281
282 protected:
283 SStyleGroupBasic* m_pStyleBasic;
284
285 CGUIStyleAttributeGeometry* m_arrPCacheGeometry[EControlRectType_Count];
286 CGUIStyleAttributeLayout* m_arrPCacheLayout[EControlRectType_Count];
287 CGUIStyleAttributeEffects* m_arrPCacheEffects[EControlRectType_Count];
288 CGUIStyleAttributeColor* m_arrPCachePaints[EControlPaintType_Count];
289 CGUIStyleAttributeTextLayout* m_arrPCacheTexts[EControlTextType_Count];
290 CGUIStyleAttributeLine* m_arrPCacheLines[EControlLineType_Count];
291
292 SStyleCacheBackBuffer* m_pCacheBackBuffer;
293
294 public:
295 EGUIControlState m_eState;
296 EGUIControlType m_eControlTypeForStyle;
297
298 private:
299 COLORREF InternalGetCurrentColorNoLock(EControlPaintType ePT) const;
300 const CResult InternalGetCurrentColorNoLock(EControlPaintType ePT, COLORREF& clr) const;
301 void InternalSetColorByStateNoLock(EControlPaintType ePT, EGUIControlState eState, COLORREF clr, bool bDraw);
302 void InternalSetCurrentColorNoLock(EControlPaintType ePT, COLORREF clrBgColor, bool bDraw);
303 void InternalSetColorsNoLock(EControlPaintType ePT, EControlLineType* pELT, COLORREF clrNormal, COLORREF clrDisabled, COLORREF clrHover, COLORREF clrPressed);
304
305 private:
306 CGUIRWLock& m_rwLock;
307 };
308 }
309}
Definition D2DObject.h:12
EGUIControlState
Enumeration for GUI control states.
Definition DefinitionsGUI.h:16264
EGUIControlType
Control.
Definition DefinitionsGUIStyle.h:458
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:3531