VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtBaseTextAttribute.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <vrvCore/DtAttribute.h>
15 
17 
18 #include <vrvGraphics/DtFont.h>
19 
20 #include <osg/Vec2>
21 
22 namespace makVrv
23 {
24 
25  class DtDe;
26  class DtTextProxyInterface;
27 
30 
33 
35  template <>
36  inline const char* creatorTypeName<DtBaseTextAttribute>(void) { return "DtBaseTextAttributeCreator"; }
37 
41  {
43 
44  public:
45 
47  virtual ~DtBaseTextAttribute();
48 
50  DtBaseTextAttribute() = delete;
51 
54  const DtBaseTextAttribute &other) = delete;
55 
57  DtBaseTextAttribute &operator=(
58  const DtBaseTextAttribute &other) = delete;
59 
60  public:
61 
63  virtual void setString( const DtUnicode& str );
64 
67  virtual void setPosition( float x, float y, float z, float w );
68 
70  virtual void getMinSize( double& xOut, double& yOut );
71 
73  virtual void setOffset( double x, double y );
74 
76  virtual void setVisible( bool isVisible );
77 
79  virtual void setLodOutAltitude(double lodOutAltitude);
80 
82  virtual double lodOutAltitude() const;
83 
85  virtual void setIsLodOutAltitudeEnabled(bool isEnabled);
86 
88  virtual bool isLodOutAltitudeEnabled() const;
89 
91  virtual void setColor( float r,float g,float b,float a );
92 
94  virtual void setFont( const std::string& fontFile, float sizeInPoints );
95 
97  virtual bool visible() const;
98 
100  virtual void setSize( double x, double y );
101 
104  static float pointsToPixelsAprox( float points );
105 
108  virtual void setOverlay( unsigned int overlayId );
109 
116  virtual void setGroup( unsigned int group );
117 
119  virtual void setForegroundGroup( unsigned int group );
120 
122  virtual void setBackgroundGroup( unsigned int group );
123 
125  virtual float fontSize();
126 
128  virtual const std::string& fontFile();
129 
131  virtual void setShadowText( bool enabled );
132 
133  protected:
134 
138 
140  virtual void setStringForText( const DtUnicode& str, DtTextProxyInterface& text );
141 
143  virtual void setFontForText( const std::string& fontFile, float sizeInPoints, DtTextProxyInterface& text );
144 
146  virtual void setOffsetForText( double x, double y, DtTextProxyInterface& text );
147 
149  virtual void setVisibleForText( DtTextProxyInterface& text );
150 
152  virtual void createText();
153 
154  protected:
155 
157  float myColorR, myColorG, myColorB, myColorA;
158  std::string myFontFile;
159 
162 
163  float myFontSize;
164  float myWidth;
165 
166  float myOffsetX;
167  float myOffsetY;
168 
169  float myWorldX;
170  float myWorldY;
171  float myWorldZ;
172  float myWorldW;
173 
174  double mySizeX;
175  double mySizeY;
179 
181 
182  unsigned int myOverlayId;
185 
187 
188  };
189 
190 }
float myWidth
Definition: DtBaseTextAttribute.h:164
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
TextAlignment
Definition: DtFontInterface.h:26
DtUnicode myString
Definition: DtBaseTextAttribute.h:180
float myWorldZ
Definition: DtBaseTextAttribute.h:171
float myOffsetY
Definition: DtBaseTextAttribute.h:167
float myWorldW
Definition: DtBaseTextAttribute.h:172
const char * creatorTypeName< DtBaseTextAttribute >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtBaseTextAttribute.h:36
bool myIsLodOutAltitudeEnabled
Definition: DtBaseTextAttribute.h:161
double mySizeX
Definition: DtBaseTextAttribute.h:174
The attribute layout tells DtAttributes where to draw.
Definition: DtAttribute.h:21
DtVirtualBaseClassCreator< DtBaseTextAttribute > DtBaseTextAttributeCreator
creator
Definition: DtBaseTextAttribute.h:29
unsigned int myForegroundOverlayGroup
Definition: DtBaseTextAttribute.h:183
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
float myFontSize
Definition: DtBaseTextAttribute.h:163
bool myShadowTextFlag
Definition: DtBaseTextAttribute.h:186
float myWorldX
Definition: DtBaseTextAttribute.h:169
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxyInterface.h:30
friend DtBaseTextAttributeCreator
Definition: DtBaseTextAttribute.h:42
DtDe & myDe
Definition: DtBaseTextAttribute.h:156
double myLodOutAltitude
Definition: DtBaseTextAttribute.h:160
float myWorldY
Definition: DtBaseTextAttribute.h:170
DtTextProxyInterface * myShadowText
Definition: DtBaseTextAttribute.h:178
unsigned int myBackgroundOverlayGroup
Definition: DtBaseTextAttribute.h:184
The attribute layout tells DtAttributes where to draw.
Definition: DtBaseTextAttribute.h:40
Contains makVrv::DtFont class.
double mySizeY
Definition: DtBaseTextAttribute.h:175
DtTextProxyInterface * myText
Definition: DtBaseTextAttribute.h:177
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Contains the DtAttribute class declaration.
unsigned int myOverlayId
Definition: DtBaseTextAttribute.h:182
float myColorR
Definition: DtBaseTextAttribute.h:157
DtFont::TextAlignment myAlignment
Definition: DtBaseTextAttribute.h:176
std::string myFontFile
Definition: DtBaseTextAttribute.h:158
float myOffsetX
Definition: DtBaseTextAttribute.h:166

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)