VR-Forces 4.0.4 Class Documentation
include/vrvOsg/DtBaseTextAttribute.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)