VR-Forces 5.0.2 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) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvGraphics/DtFont.h>
13 
15 
16 #include <vrvOsg/DtAttribute.h>
17 
18 #include <osg/Vec2>
19 
20 namespace makVrv
21 {
22 
23  class DtDe;
24  class DtTextProxy;
25 
28 
31 
33  template <>
34  inline const char* creatorTypeName<DtBaseTextAttribute>(void) { return "DtBaseTextAttributeCreator"; }
35 
39  {
41 
42  public:
43 
45  virtual ~DtBaseTextAttribute();
46 
48  DtBaseTextAttribute() = delete;
49 
52  const DtBaseTextAttribute &other) = delete;
53 
55  DtBaseTextAttribute &operator=(
56  const DtBaseTextAttribute &other) = delete;
57 
58  public:
59 
61  virtual void setString( const DtUnicode& str );
62 
65  virtual void setPosition( float x, float y, float z, float w );
66 
68  virtual void getMinSize( double& xOut, double& yOut );
69 
71  virtual void setOffset( double x, double y );
72 
74  virtual void setVisible( bool isVisible );
75 
77  virtual void setLodOutAltitude(double lodOutAltitude);
78 
80  virtual double lodOutAltitude() const;
81 
83  virtual void setIsLodOutAltitudeEnabled(bool isEnabled);
84 
86  virtual bool isLodOutAltitudeEnabled() const;
87 
89  virtual void setColor( float r,float g,float b,float a );
90 
92  virtual void setFont( const std::string& fontFile, float sizeInPoints );
93 
95  virtual bool visible() const;
96 
98  virtual void setSize( double x, double y );
99 
102  static float pointsToPixelsAprox( float points );
103 
106  virtual void setOverlay( unsigned int overlayId );
107 
114  virtual void setGroup( unsigned int group );
115 
117  virtual void setForegroundGroup( unsigned int group );
118 
120  virtual void setBackgroundGroup( unsigned int group );
121 
123  virtual float fontSize();
124 
126  virtual const std::string& fontFile();
127 
129  virtual void setShadowText( bool enabled );
130 
131  protected:
132 
136 
138  virtual void setStringForText( const DtUnicode& str, DtTextProxy& text );
139 
141  virtual void setFontForText( const std::string& fontFile, float sizeInPoints, DtTextProxy& text );
142 
144  virtual void setOffsetForText( double x, double y, DtTextProxy& text );
145 
147  virtual void setVisibleForText( DtTextProxy& text );
148 
150  virtual void createText();
151 
152  protected:
153 
155  float myColorR, myColorG, myColorB, myColorA;
156  std::string myFontFile;
157 
160 
161  float myFontSize;
162  float myWidth;
163 
164  float myOffsetX;
165  float myOffsetY;
166 
167  float myWorldX;
168  float myWorldY;
169  float myWorldZ;
170  float myWorldW;
171 
172  double mySizeX;
173  double mySizeY;
177 
179 
180  unsigned int myOverlayId;
183 
185 
186  };
187 
188 }
float myWidth
Definition: DtBaseTextAttribute.h:162
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
DtUnicode myString
Definition: DtBaseTextAttribute.h:178
float myWorldZ
Definition: DtBaseTextAttribute.h:169
float myOffsetY
Definition: DtBaseTextAttribute.h:165
float myWorldW
Definition: DtBaseTextAttribute.h:170
const char * creatorTypeName< DtBaseTextAttribute >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtBaseTextAttribute.h:34
bool myIsLodOutAltitudeEnabled
Definition: DtBaseTextAttribute.h:159
double mySizeX
Definition: DtBaseTextAttribute.h:172
A class for controlling text owned by the TextRenderer.
Definition: DtTextRenderer.h:197
The attribute layout tells DtAttributes where to draw.
Definition: DtAttribute.h:21
TextAlignement
Definition: DtFont.h:33
DtVirtualBaseClassCreator< DtBaseTextAttribute > DtBaseTextAttributeCreator
creator
Definition: DtBaseTextAttribute.h:27
unsigned int myForegroundOverlayGroup
Definition: DtBaseTextAttribute.h:181
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
float myFontSize
Definition: DtBaseTextAttribute.h:161
bool myShadowTextFlag
Definition: DtBaseTextAttribute.h:184
float myWorldX
Definition: DtBaseTextAttribute.h:167
friend DtBaseTextAttributeCreator
Definition: DtBaseTextAttribute.h:40
DtDe & myDe
Definition: DtBaseTextAttribute.h:154
double myLodOutAltitude
Definition: DtBaseTextAttribute.h:158
float myWorldY
Definition: DtBaseTextAttribute.h:168
DtTextProxy * myText
Definition: DtBaseTextAttribute.h:175
unsigned int myBackgroundOverlayGroup
Definition: DtBaseTextAttribute.h:182
The attribute layout tells DtAttributes where to draw.
Definition: DtBaseTextAttribute.h:38
Contains makVrv::DtFont class.
double mySizeY
Definition: DtBaseTextAttribute.h:173
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:70
Contains the DtAttribute class declaration.
unsigned int myOverlayId
Definition: DtBaseTextAttribute.h:180
DtTextProxy * myShadowText
Definition: DtBaseTextAttribute.h:176
float myColorR
Definition: DtBaseTextAttribute.h:155
DtFont::TextAlignement myAlignment
Definition: DtBaseTextAttribute.h:174
std::string myFontFile
Definition: DtBaseTextAttribute.h:156
float myOffsetX
Definition: DtBaseTextAttribute.h:164

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)