VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgWindowTextInstance.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 
15 #include <vrvCore/DtWindowText.h>
16 
18 
19 #include <vrvGraphics/DtFont.h>
21 
22 #include <osg/Vec2>
23 #include <osg/Matrix>
24 namespace makVrv
25 {
26  class DtDe;
27  class DtTextProxyInterface;
28  class DtChannelManager;
29  class DtChannel;
30 
35  {
36  public:
39 
41  virtual ~DtOsgWindowTextInstance();
42 
44  virtual void setVisible(bool isVisible);
45 
47  virtual void setTopLeftCorner( float x, float y );
48 
49  virtual bool calculateSize(float& width, float& height) const;
50 
52  virtual void setColor(float r,float g,float b,float a);
53 
55  virtual void setText(const std::string& textString);
56 
61  virtual void setFont(const std::string& fontFilePath, float sizeInPoints);
62 
64  virtual void setTextBoxWidth(float widthInPixels);
65 
67  virtual void setAlignment(DtWindowText::TextAlignment alignment);
68 
70  virtual bool visible() const;
71 
74  virtual void setTransform( DtMatrix3<double> transform );
75 
77  virtual void update();
78 
81  virtual void setGroup( int groupId );
82 
87  virtual void setChannelOverlay( const std::string& displayName,
88  const std::string& windowName, const std::string& channelName ) override;
89 
91  void createText();
92  protected:
95  virtual void setClipBox( DtVector2<double> bottomLeftLocation, DtVector2<double> topRightLocation );
96 
99  virtual void slot_releaseResources();
100 
102  virtual void slot_channelToBeDestroyed(DtChannelManager*, DtChannel*);
103 
105  virtual void slot_onViewCreated();
106 
109  virtual bool clipTextPosition( osg::Vec2 position );
110 
112  float myColorR, myColorG, myColorB, myColorA;
113  std::string myFontFile;
114  std::string myTextString;
115  std::string myDisplayName;
116  std::string myWindowName;
117  std::string myChannelName;
119  float mySize;
120  float myWidth;
121  osg::Vec2 myTopLeftPosition; // this is our "vertex" location
123  osg::Vec2 myClipBoxTopRight;
129  osg::Matrix myTransform;
130  int myGroup;
131 
133 
134  boost::signalslib::connection myViewCreatedConnection;
135  };
136 
139  {
140  public:
143 
146  virtual DtWindowTextInstance* create();
147  };
148 }
An OSG Implementation of DtWindowTextInstance. Uses a vrvGraphics DtTextProxy to implement 2D text...
Definition: DtOsgWindowTextInstance.h:34
std::string myFontFile
Definition: DtOsgWindowTextInstance.h:113
Creator for DtWindowTextInstance, will throw if you create on it. osg creator is registered in vrvOsg...
Definition: DtWindowTextInstance.h:80
float myColorR
Definition: DtOsgWindowTextInstance.h:112
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Interface for a DtWindowTextInstance An object that draws a 2D text.
Definition: DtWindowTextInstance.h:24
TextAlignment
Definition: DtFontInterface.h:26
osg::Vec2 myTopLeftPosition
Definition: DtOsgWindowTextInstance.h:121
boost::signalslib::connection myViewCreatedConnection
Definition: DtOsgWindowTextInstance.h:134
Contains the makVrv::DtTextRenderer class declaration.
Contains makVrv::DtWindowText class.
bool myGeometryDirty
Definition: DtOsgWindowTextInstance.h:127
float myWidth
Definition: DtOsgWindowTextInstance.h:120
bool myIsVisible
Definition: DtOsgWindowTextInstance.h:126
DtFont::TextAlignment myAlignment
Definition: DtOsgWindowTextInstance.h:124
int myGroup
Definition: DtOsgWindowTextInstance.h:130
The abstract Channel Class.
Definition: DtChannel.h:35
bool myUseChannelOverlay
Definition: DtOsgWindowTextInstance.h:128
std::string myWindowName
Definition: DtOsgWindowTextInstance.h:116
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxyInterface.h:30
A class with encapsulated a font loaded from disk with a given size.
Definition: DtFontInterface.h:22
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
osg::Vec2 myClipBoxTopRight
Definition: DtOsgWindowTextInstance.h:123
float mySize
Definition: DtOsgWindowTextInstance.h:119
Creator for DtOsgWindowTextInstance.
Definition: DtOsgWindowTextInstance.h:138
DtSignalConnectionManager myConnections
Definition: DtOsgWindowTextInstance.h:132
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
Base class to provide boost signal/slot management.
Contains makVrv::DtFont class.
DtFontInterface * myFont
Definition: DtOsgWindowTextInstance.h:118
DtDe & myDe
Definition: DtOsgWindowTextInstance.h:111
Contains DLL export macros.
Contains makVrv::DtWindowTextInstance class.
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
std::string myTextString
Definition: DtOsgWindowTextInstance.h:114
std::string myChannelName
Definition: DtOsgWindowTextInstance.h:117
std::string myDisplayName
Definition: DtOsgWindowTextInstance.h:115
osg::Vec2 myClipBoxBottomLeft
Definition: DtOsgWindowTextInstance.h:122
TextAlignment
Definition: DtWindowText.h:41
DtTextProxyInterface * myText
Definition: DtOsgWindowTextInstance.h:125
osg::Matrix myTransform
Definition: DtOsgWindowTextInstance.h:129

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)