![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2012 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <vrvOsg/vrvOsg.h> 00013 #include <vrvCore/DtWidget.h> 00014 #include <vrvGraphics/DtFont.h> 00015 #include <vrvOsg/DtAttribute.h> 00016 #include <osg/Vec2> 00017 00018 namespace makVrv 00019 { 00020 00021 class DtDe; 00022 class DtTextProxy; 00023 00026 class DT_DLL_VRVOSG DtBaseTextAttribute : public DtAttribute 00027 { 00028 public: 00029 00031 DtBaseTextAttribute( DtDe& de ); 00032 00034 virtual ~DtBaseTextAttribute(); 00035 00037 virtual void setString( const DtUnicode& str ); 00038 00041 virtual void setPosition( float x, float y, float z, float w ); 00042 00044 virtual void getMinSize( double& xOut, double& yOut ); 00045 00047 virtual void setOffset( double x, double y ); 00048 00050 virtual void setVisible( bool isVisible ); 00051 00053 virtual void setColor( float r,float g,float b,float a ); 00054 00056 virtual void setFont( const std::string& fontFile, float sizeInPoints ); 00057 00059 virtual bool visible() const; 00060 00062 virtual void setSize( double x, double y ); 00063 00066 static float pointsToPixelsAprox( float points ); 00067 00070 virtual void setOverlay( unsigned int overlayId ); 00071 00074 virtual void setGroup( unsigned int group ); 00075 00077 virtual float fontSize(); 00078 00080 virtual const std::string& fontFile(); 00081 00082 protected: 00083 00085 void setStringForText( const DtUnicode& str, DtTextProxy& text ); 00086 00088 void setFontForText( const std::string& fontFile, float sizeInPoints, DtTextProxy& text ); 00089 00091 void setOffsetForText( double x, double y, DtTextProxy& text ); 00092 00094 void setVisibleForText( DtTextProxy& text ); 00095 00097 void createText(); 00098 00099 protected: 00100 00101 DtDe& myDe; 00102 float myColorR, myColorG, myColorB, myColorA; 00103 std::string myFontFile; 00104 00105 float myFontSize; 00106 float myWidth; 00107 00108 float myOffsetX; 00109 float myOffsetY; 00110 00111 float myWorldX; 00112 float myWorldY; 00113 float myWorldZ; 00114 float myWorldW; 00115 00116 double mySizeX; 00117 double mySizeY; 00118 DtFont::TextAlignement myAlignment; 00119 DtTextProxy* myText; 00120 DtTextProxy* myShadowText; 00121 00122 DtUnicode myString; 00123 00124 unsigned int myOverlayId; 00125 00126 }; 00127 00128 }