OWLNext    7.0
Borland's Object Windows Library for the modern age
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
btntextg.cpp
Go to the documentation of this file.
1//----------------------------------------------------------------------------//
2// ObjectWindows 1998 Copyright by Yura Bidus //
3// //
4// Used code and ideas from Dieter Windau and Joseph Parrello //
5// //
6// THIS CLASS AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF //
7// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO //
8// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A //
9// PARTICULAR PURPOSE. //
10/// \file //
11/// Implementation of class TButtonTextGadget. //
12//----------------------------------------------------------------------------//
13#include <owl/pch.h>
14
15#include <owl/celarray.h>
16#include <owl/gadgetwi.h>
17#include <owl/uihelper.h>
18#include <owl/btntextg.h>
19#include <owl/decframe.h>
20
21using namespace std;
22
23namespace owl {
24
27
28//------------------------------------------------------------------------------
29//
30/// \class TButtonTextGadgetEnabler
31/// Command enabler for button text gadget
32//
33
34#if defined(BI_COMP_BORLANDC)
35# pragma warn -inl
36#endif
37
38class TButtonTextGadgetEnabler
39 : public TCommandEnabler
40{
41public:
42 TButtonTextGadgetEnabler(TWindow::THandle hReceiver, TButtonTextGadget* g)
43 : TCommandEnabler(g->GetId(), hReceiver), Gadget(g)
44 {}
45
46 //
47 // Override TCommandEnabler virtuals.
48 //
49 virtual void Enable(bool);
50 virtual void SetText(LPCTSTR text);
51 void SetText(const tstring& s) {SetText(s.c_str());}
52 virtual void SetCheck(int);
53
54
55protected:
56 TButtonTextGadget* Gadget;
57};
58
59#if defined(BI_COMP_BORLANDC)
60# pragma warn .inl
61#endif
62
63//
64/// Enable or disable the button gadget
65//
66void
67TButtonTextGadgetEnabler::Enable(bool enable)
68{
70 Gadget->SetEnabled(enable);
71}
72
73//
74/// Handle the SetText request for a button-text gadget.
75//
76void
77TButtonTextGadgetEnabler::SetText(LPCTSTR text)
78{
80 Gadget->SetText(text);
81}
82
83//
84/// Set the check-state for the button gadget
85//
86void
87TButtonTextGadgetEnabler::SetCheck(int state)
88{
90}
91
92//------------------------------------------------------------------------------
93
94const int TextSpaceV = 0;
95const int TextSpaceH = 0;
96
97//
98/// Constructs a TButtonTextGadget object using the specified bitmap ID, button
99/// gadget ID, style, and type, with enabled set to false, in a button-up state, and
100/// reserved number chars in text = 4. The button isn't enabled - its initial state
101/// before command enabling occurs.
102//
105 TStyle style, TType type,
106 bool enabled, TState state,
108:
110 Text(),
111 NumChars(numChars),
112 Align(aCenter),
113 Style(style),
114 LayoutStyle(lTextBottom),
115 Font(nullptr)
116{}
117
118//
119/// Destroys a TButtonTextGadget object.
120//
122{
123 delete Font;
124}
125
126//
127/// Initiates a command enable for this button gadget.
128/// Enables the button-text gadget to capture messages. Calls SendMessage to send a
129/// WM_COMMAND_ENABLE message to the gadget window's parent, passing a
130/// TCommandEnable:EvCommandEnable message for this button.
131//
132void
134{
135 PRECONDITION(Window);
136
137 // Must send, not post here, since a ptr to a temp is passed
138 //
139 // This might be called during idle processing before the
140 // HWND has created. Therefore, confirm handle exists.
141 //
142 if (GetGadgetWindow()->GetHandle()) {
143 TButtonTextGadgetEnabler ge(*GetGadgetWindow(), this);
145 }
146}
147
148//
149/// Sets the text of the gadget. If the given text is blank, then we attempt to
150/// load the text from the menu or tooltip.
151//
152void
154{
155 if (text == Text) return;
156 Text = text;
157
158 if (Text.length() == 0 && (Style & sText) && GetGadgetWindow())
159 {
160 TWindow* parent = GetGadgetWindow()->GetParentO();
161 TDecoratedFrame* frame= parent ? dynamic_cast<TDecoratedFrame*>(parent) : nullptr;
162 while (parent && !frame){
163 parent = parent->GetParentO();
164 if (parent)
165 frame = dynamic_cast<TDecoratedFrame*>(parent);
166 }
167 CHECK(frame);
168 Text = frame->GetHintText(GetResId().GetInt(), htTooltip);
169 }
170
171 if (GetGadgetWindow() && repaint)
172 {
174 Invalidate();
175 }
176}
177
178//
179/// Returns the effective font used to render the text for this gadget.
180/// If no font was passed to the constructor, the font of the gadget window is returned.
181//
182const TFont&
184{
186 return Font ? *Font : GetGadgetWindow()->GetFont();
187}
188
189//
190/// Sets the font to be used by the gadget. If repaint is true, calls
191/// TGadgetWindow::GadgetChangedSize to recalculate the size of the gadget.
192//
193void
195{
196 delete Font;
197 Font = new TFont(font);
198 if (GetGadgetWindow() && repaint)
200}
201
202//
203/// If the style stored in Style is not the same as the new style, SetStyle sets
204/// Style to the new style, and then if repaint is true calls
205/// Window->GadgetChangedSize(*this) to recalculate size of gadget.
206//
207void
209{
210 if(Style != style){
211 Style = style;
212 if (GetGadgetWindow() && repaint)
214 }
215}
216
217//
218/// If the align stored in Style is not the same as the new align, SetAlign sets
219/// Align to the new align, and then if repaint is true calls Invalidate to
220/// invalidate the rectangle.
221//
222void
224{
225 if(Align != align){
226 Align = align;
227 if(repaint)
228 Invalidate();
229 }
230}
231
232//
233/// If the style stored in LayoutStyle is not the same as the new style,
234/// SetLayoutStyle sets LayoutStyle to the new style, and then if repaint is true
235/// calls Window->GadgetChangedSize(*this) to recalculate size of gadget.
236//
237void
239{
240 if(LayoutStyle != style){
241 LayoutStyle = style;
242 if (GetGadgetWindow() && repaint)
244 }
245}
246
247
248//
249/// Calls TButtonGadget::Created and if Text == 0 and (Style & sText) retrieves text
250/// from menu or resource.
251///
252/// Virtual called after the window holding a gadget has been created
253//
254void
256{
257 PRECONDITION(Window);
258 PRECONDITION(Window->GetHandle());
259
261
262 // If text style and text isn't set, then get it now from the menu/resource.
263 //
264 if ((Style & sText) && Text.length() == 0)
265 {
266 SetText(_T(""));
267 Invalidate();
268 }
269}
270
271//
272/// Respond to a WM_SYSCOLORCHANGE, in this case to rebuild the CelArray with
273/// possibly new 3d colors
274///
275/// SysColorChange responds to an EvSysColorChange message forwarded by the owning
276/// TGadgetWindow by setting the dither brush to zero. If a style is Bitmap it
277/// forwards the message to TButtonGadget, otherwise to TGadget.
278//
279void
281{
282 // Baypass TButtonGadget handler if CellArray = 0
283 if(Style&sBitmap)
285 else
287}
288
289//
290void
292{
294 size.cx += tm.tmAveCharWidth * NumChars;
295 size.cy += tm.tmHeight + 2;
296}
297
298//
299/// Calls TButtonGadget::GetDesiredSize if (Style & sBitmap); calls
300/// TGadget::GetDesiredSize and adds the size of the text region.
301//
302void
304{
305 PRECONDITION(Window);
306 TRACEX(OwlGadget, 1, _T("TButtonTextGadget::GetDesiredSize() enter @") << this <<
307 _T(" size ") << size);
308
309 if(Style&sBitmap)
311 else
313
314 // if paint text -> add text size
315 if(Style&sText){
318
319 TSize gsize;
321 switch(LayoutStyle){
322 case lTextLeft:
323 case lTextRight:
324 size.cx += textSize.cx + TextSpaceV;
325 size.cy = std::max(size.cy,textSize.cy+gsize.cy);
326 break;
327 case lTextTop:
328 case lTextBottom:
329 size.cx += std::max(size.cx,textSize.cx+gsize.cx);
330 size.cy += textSize.cy + TextSpaceH;
331 break;
332 }
333 }
334 TRACEX(OwlGadget, 1, _T("TButtonTextGadget::GetDesiredSize() leave @") << this <<
335 _T(" size ") << size);
336}
337
338//
339/// If (Style & sBitmap) calls TButtonGadget::SetBounds; otherwise calls
340/// TGadget::SetBounds to set the boundary of the rectangle, and it (Style &
341/// sBitmap) calculates new BitmapOrigin.
342//
343void
345{
346 PRECONDITION(Window);
347
348 if(Style&sBitmap)
350 else
352
353 if(Style&sBitmap && Style&sText){
356
358
360 TPoint pt;
361 pt.x = btnRect.left + (btnRect.Width() - bitmapSize.cx) / 2;
362 pt.y = btnRect.top + (btnRect.Height() - bitmapSize.cy) / 2;
364 }
365}
366
367//
368/// Calls TGadget::PaintBorder to perform the actual painting of the border of the
369/// control. Get Inner rectangle of control, layout Text and Bitmap and call
370/// PaintText() and PaintFace().
371//
372void
374{
375 PRECONDITION(Window);
376
377 PaintBorder(dc);
378
381
383
384 if(Style&sText)
385 PaintText(dc, textRect, Text);
386 if(Style&sBitmap)
387 PaintFace(dc, btnRect);
388}
389
390//
391/// Layout button and text in the control area.
392//
393void
395{
396 if(Style == sBitmap)
398 else if(Style == sText)
400 else{
402 if(Style&sText)
404
406 if(Style&sBitmap)
408
409 switch(LayoutStyle){
410
411 case lTextLeft:
412 if(Style&sText)
413 textRect = TRect(faceRect.TopLeft(), TSize(textSize.cx,faceRect.Height()));
414 if(Style&sBitmap)
416 faceRect.BottomRight());
417 break;
418
419 case lTextRight:
420 if(Style&sBitmap)
421 btnRect = TRect(faceRect.left, faceRect.top,
422 faceRect.left+btnSize.cx, faceRect.bottom);
423 if(Style&sText)
425 faceRect.right, faceRect.bottom);
426
427 break;
428
429 case lTextTop:
430 if(Style&sText)
431 textRect = TRect(faceRect.TopLeft(), TSize(faceRect.Width(),textSize.cy));
432 if(Style&sBitmap)
434 TSize(faceRect.Width(), faceRect.Height()-textSize.cy));
435 break;
436
437 case lTextBottom:
438 if(Style&sText)
439 textRect = TRect(faceRect.left,faceRect.bottom-textSize.cy,
440 faceRect.right,faceRect.bottom);
441 if(Style&sBitmap)
442 btnRect = TRect(faceRect.TopLeft(),
443 TSize(faceRect.Width(), faceRect.Height()-textSize.cy));
444 break;
445 }
446 }
447}
448
449//
450/// Paint Text
451//
452void
454{
455 dc.SelectObject(GetFont());
456
458 if(!GetEnabled())
460 else if((GetGadgetWindow()->GetFlatStyle()&TGadgetWindow::FlatHotText) && IsHaveMouse())
462
464
466 switch(Align){
467 case aLeft:
468 format |= DT_LEFT;
469 break;
470 case aRight:
471 format |= DT_RIGHT;
472 break;
473 case aCenter:
474 format |= DT_CENTER;
475 break;
476 }
477 switch(LayoutStyle){
478 case lTextLeft:
479 case lTextRight:
481 break;
482 case lTextTop:
483 format |= DT_VCENTER;//DT_BOTTOM;
484 break;
485 case lTextBottom:
486 format |= DT_VCENTER;//DT_TOP;
487 break;
488 }
489
490 // Create a UI Face object for this button & let it paint the button face
491 //
492 TPoint dstPt(rect.TopLeft());
493
494 if (GetButtonState() == Down && GetEnabled() &&
496 {
497 if(IsHaveMouse())
498 {
499 if(IsPressed())
500 {
501 const int dx = (format & DT_CENTER) ? 2 : 1;
502 const int dy = (format & DT_VCENTER) ? 2 : 1;
503 rect.Offset(dx, dy);
504 }
506 TUIFace::Normal, true, true);
507 }
508 else
509 {
511 if(GetGadgetWindow()->GadgetGetCaptured()==this)
512 face.Paint(dc, dstPt, TUIFace::Normal, true);
513 else
514 face.Paint(dc, dstPt, TUIFace::Down, IsPressed(), false);
515 }
516 }
517 else
518 {
520 if (!GetEnabled())
521 face.Paint(dc, dstPt, TUIFace::Disabled, false, false);
522 else if (GetButtonState() == Indeterminate)
523 face.Paint(dc, dstPt, TUIFace::Indeterm, IsPressed(), false);
524 else if (GetButtonState() == Down) // Down and not flat
525 face.Paint(dc, dstPt, TUIFace::Down, IsPressed(), false);
526 else
527 face.Paint(dc, dstPt, TUIFace::Normal, IsPressed(), false);
528 }
529
531
532 dc.RestoreFont();
533}
534
535} // OWL namespace
536
537//==============================================================================
Definition of classes TButtonTextGadget.
Definition of a bitmap Cel array class.
#define CHECK(condition)
Definition checks.h:239
#define PRECONDITION(condition)
Definition checks.h:227
#define DIAG_DECLARE_GROUP(group)
Definition checks.h:404
#define TRACEX(group, level, message)
Definition checks.h:263
Derived from TGadget, TButtonGadget represent buttons that you can click on or off.
Definition buttonga.h:65
TState
TState enumerates the three button positions during which the button can be pressed: up (0),...
Definition buttonga.h:80
@ Down
Button is down, i.e. checked.
Definition buttonga.h:82
@ Indeterminate
Button is neither checked nor unchecked.
Definition buttonga.h:83
TResId GetResId() const
Returns the resource ID for this button gadget's bitmap.
Definition buttonga.h:305
TType
Enumerates the types of button gadgets.
Definition buttonga.h:69
bool IsPressed() const
Returns true if the button is pushed or false if it is released.
Definition buttonga.h:341
TState GetButtonState() const
Returns the state of the button.
Definition buttonga.h:235
void PaintBorder(TDC &dc) override
Definition buttonga.cpp:472
void SetBitmapOrigin(const TPoint &bitmapOrigin)
Sets the x and y coordinates of the bitmap used for this button gadget.
Definition buttonga.h:335
void GetDesiredSize(TSize &size) override
Find out how big this button gadget wants to be.
Definition buttonga.cpp:322
void SysColorChange() override
SysColorChange responds to an EvSysColorChange message forwarded by the owning TGadgetWindow by setti...
Definition buttonga.cpp:187
void SetBounds(const TRect &r) override
Gets the size of the bitmap, calls TGadget::SetBounds to set the boundary of the rectangle,...
Definition buttonga.cpp:293
virtual void PaintFace(TDC &dc, const TRect &rect)
Paints the face of the button.
Definition buttonga.cpp:514
void SetButtonState(TState newState)
Set the state of a button.
Definition buttonga.cpp:271
TCelArray * GetCelArray()
Returns the CelArray used to cache glyph states.
Definition buttonga.h:311
virtual void CommandEnable()
Initiates a command enable for this button gadget.
Definition btntextg.cpp:133
TStyle GetStyle() const
Returns the Style for the gadget.
Definition btntextg.h:155
virtual void Layout(TRect &srcRect, TRect &textRect, TRect &btnRect)
Layout button and text in the control area.
Definition btntextg.cpp:394
void SetLayoutStyle(const TLayoutStyle style, bool repaint=true)
If the style stored in LayoutStyle is not the same as the new style, SetLayoutStyle sets LayoutStyle ...
Definition btntextg.cpp:238
virtual void SetBounds(const TRect &rect)
If (Style & sBitmap) calls TButtonGadget::SetBounds; otherwise calls TGadget::SetBounds to set the bo...
Definition btntextg.cpp:344
TStyle
TStyle contains values that defines how gadget will be displayed:
Definition btntextg.h:62
@ sBitmap
Only the bitmap is displayed.
Definition btntextg.h:63
@ sText
Only text is displayed.
Definition btntextg.h:64
TAlign
Enumerates the text-alignment attributes.
Definition btntextg.h:52
@ aCenter
Aligns the text horizontally at the center of the bounding rectangle.
Definition btntextg.h:54
@ aLeft
Aligns the text at the left edge of the bounding rectangle.
Definition btntextg.h:53
@ aRight
Aligns the text at the right edge of the bounding rectangle.
Definition btntextg.h:55
void SetStyle(const TStyle style, bool repaint=true)
If the style stored in Style is not the same as the new style, SetStyle sets Style to the new style,...
Definition btntextg.cpp:208
virtual ~TButtonTextGadget()
Destroys a TButtonTextGadget object.
Definition btntextg.cpp:121
virtual void Created()
Calls TButtonGadget::Created and if Text == 0 and (Style & sText) retrieves text from menu or resourc...
Definition btntextg.cpp:255
const TFont & GetFont() const
Returns the effective font used to render the text for this gadget.
Definition btntextg.cpp:183
void SetAlign(const TAlign align, bool repaint=true)
If the align stored in Style is not the same as the new align, SetAlign sets Align to the new align,...
Definition btntextg.cpp:223
virtual void PaintText(TDC &dc, TRect &rect, const tstring &text)
Paint Text.
Definition btntextg.cpp:453
void SetText(const tstring &text, bool repaint=true)
Sets the text of the gadget.
Definition btntextg.cpp:153
TButtonTextGadget(int id, TResId glyphResIdOrIndex, TStyle style=sBitmapText, TType type=Command, bool enabled=false, TState state=Up, bool sharedGlyph=false, uint numChars=4)
Constructs a TButtonTextGadget object using the specified bitmap ID, button gadget ID,...
Definition btntextg.cpp:103
virtual void SysColorChange()
Respond to a WM_SYSCOLORCHANGE, in this case to rebuild the CelArray with possibly new 3d colors.
Definition btntextg.cpp:280
void SetFont(const TFont &, bool repaint=true)
Sets the font to be used by the gadget.
Definition btntextg.cpp:194
TLayoutStyle
TLayoutStyle contains values that defines how bitmap and text will be layout.
Definition btntextg.h:72
@ lTextTop
Text top, bitmap bottom.
Definition btntextg.h:74
@ lTextBottom
Text bottom, bitmap top.
Definition btntextg.h:76
@ lTextRight
Text right, bitmap left.
Definition btntextg.h:75
@ lTextLeft
Text left, bitmap right.
Definition btntextg.h:73
virtual void GetDesiredSize(TSize &size)
Calls TButtonGadget::GetDesiredSize if (Style & sBitmap); calls TGadget::GetDesiredSize and adds the ...
Definition btntextg.cpp:303
void GetTextSize(TSize &size)
Definition btntextg.cpp:291
virtual void Paint(TDC &dc)
Calls TGadget::PaintBorder to perform the actual painting of the border of the control.
Definition btntextg.cpp:373
TSize CelSize() const
Return the size of the celarray.
Definition celarray.h:133
Class wrapper for management of color values.
Definition color.h:245
static const TColor LtBlue
Static TColor object with fixed Value set by RGB(0, 0, 255).
Definition color.h:311
static const TColor SysBtnText
The symbolic system color value for the text on buttons.
Definition color.h:342
static const TColor Sys3dHilight
The symbolic system color value for highlighted 3-dimensional display elements (for edges facing the ...
Definition color.h:344
static const TColor Sys3dFace
The symbolic system color value for the face color of 3-dimensional display elements.
Definition color.h:339
uint GetId() const
Retrieves the id of the command.
Definition window.h:1695
virtual void Enable(bool enable=true)
Enables or disables the command sender.
Definition window.cpp:301
TCommandEnabler(uint id, HWND hWndReceiver=0)
Constructs the TCommandEnabler object with the specified command ID.
Definition window.cpp:288
TDC is the root class for GDI DC wrappers.
Definition dc.h:64
void SelectObject(const TBrush &brush)
Selects the given GDI brush object into this DC.
Definition dc.cpp:113
virtual void RestoreFont()
Restores the original GDI font object to this DC.
Definition dc.cpp:246
virtual TColor SetTextColor(const TColor &color)
Sets the current text color of this DC to the given color value.
Definition dc.cpp:417
TDecoratedFrame automatically positions its client window (you must supply a client window) so that i...
Definition decframe.h:74
virtual tstring GetHintText(uint id, THintText hintType) const
Retrieves the text specified by the resource id.
Definition decframe.cpp:293
TFont derived from TGdiObject provides constructors for creating font objects from explicit informati...
Definition gdiobjec.h:296
TEXTMETRIC GetTextMetrics(TDC &dc) const
Retrieves information about this font when selected in the specified dc.
Definition font.cpp:161
bool IsHaveMouse() const
Return true if mouse inside gadget.
Definition gadget.h:485
void Invalidate(bool erase=true)
Used to invalidate the active (usually nonborder) portion of the gadget, Invalidate calls InvalidateR...
Definition gadget.cpp:408
void GetInnerRect(TRect &rect)
Computes the area of the gadget's rectangle excluding the borders and margins.
Definition gadget.cpp:514
TGadgetWindow * GetGadgetWindow()
Return a pointer to the owning or parent window for the gadget.
Definition gadget.h:536
virtual void SetBounds(const TRect &rect)
Called by the gadget window to inform the gadget of a change in its bounding rectangle.
Definition gadget.cpp:211
bool GetEnabled() const
Determines whether keyboard and mouse input have been enabled for the specified gadget.
Definition gadget.h:458
virtual void Created()
This is the virtual called after the window holding a gadget has been created.
Definition gadget.cpp:300
virtual void SysColorChange()
Called when the system colors have been changed so that gadgets can rebuild and repaint,...
Definition gadget.cpp:141
virtual void SetEnabled(bool enabled)
Enables or disables keyboard and mouse input for the gadget.
Definition gadget.cpp:194
virtual void GetDesiredSize(TSize &size)
Request by the gadget window to query the gadget's desired size.
Definition gadget.cpp:479
@ FlatHotText
Adds hot text effect like.
Definition gadgetwi.h:196
@ FlatStandard
Flat style IE 3.0 - base style.
Definition gadgetwi.h:194
void GadgetChangedSize(TGadget &gadget)
Used to notify the gadget window that a gadget has changed its size, GadgetChangedSize calls LayoutSe...
const TFont & GetFont() const
Returns the font being used by this gadget window.
Definition gadgetwi.h:423
virtual TCelArray & GetCelArray(int minX=0, int minY=0)
Gets the Shared CelArray for this gadget window.
TPoint is a support class, derived from tagPOINT.
Definition geometry.h:87
TRect is a mathematical class derived from tagRect.
Definition geometry.h:308
The tagSIZE struct is defined as.
Definition geometry.h:234
TUIFace assists in painting UI elements in various states.
Definition uihelper.h:367
@ Disabled
Disabled or Unavailable state (embossed 3d no color)
Definition uihelper.h:376
@ Indeterm
Indeterminant, or mixed-value state.
Definition uihelper.h:375
@ Down
Down or Option set state (hilit background, +1,+1)
Definition uihelper.h:374
@ Normal
Normal state.
Definition uihelper.h:373
void Paint(TDC &dc, const TPoint &dstPt, TState state, bool pressed, bool fillFace=true)
Paint the face of a button onto a DC.
Definition uiface.cpp:431
TWindow, derived from TEventHandler and TStreamableBase, provides window-specific behavior and encaps...
Definition window.h:414
TWindow * GetParentO() const
Return the OWL's parent for this window.
Definition window.h:2006
TResult HandleMessage(TMsgId, TParam1=0, TParam2=0)
Dispatches the given message using the response table.
Definition window.cpp:1392
HWND THandle
TWindow encapsulates an HWND.
Definition window.h:418
#define _T(x)
Definition cygwin.h:51
Definition of class TDecoratedFrame, a TFrameWindow that can manage decorations around the client win...
#define WM_COMMAND_ENABLE
Definition dispatch.h:4103
Definition of TGadgetList, TGadgetWindow & TGadgetWindowFont A list holding gadgets,...
@ htTooltip
Shorter text displayed in a tooltip.
Definition decframe.h:53
Object Windows Library (OWLNext Core)
Definition animctrl.h:22
const int TextSpaceV
Definition btntextg.cpp:94
LPARAM TParam2
Second parameter type.
Definition dispatch.h:55
OWL_DIAGINFO
Definition animctrl.cpp:14
std::string tstring
Definition defs.h:79
unsigned int uint
Definition number.h:25
const int TextSpaceH
Definition btntextg.cpp:95
Definition of the UI Helper Classes: TUIHandle, TUIBorder, TUIFace, TUIPart.