OpenWalnut
1.4.0
|
00001 //--------------------------------------------------------------------------- 00002 // 00003 // Project: OpenWalnut ( http://www.openwalnut.org ) 00004 // 00005 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS 00006 // For more information see http://www.openwalnut.org/copying 00007 // 00008 // This file is part of OpenWalnut. 00009 // 00010 // OpenWalnut is free software: you can redistribute it and/or modify 00011 // it under the terms of the GNU Lesser General Public License as published by 00012 // the Free Software Foundation, either version 3 of the License, or 00013 // (at your option) any later version. 00014 // 00015 // OpenWalnut is distributed in the hope that it will be useful, 00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 // GNU Lesser General Public License for more details. 00019 // 00020 // You should have received a copy of the GNU Lesser General Public License 00021 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>. 00022 // 00023 //--------------------------------------------------------------------------- 00024 00025 #ifndef WGELABEL_H 00026 #define WGELABEL_H 00027 00028 #include <osgText/Text> 00029 #include <osgText/FadeText> 00030 00031 #include "WGELayoutableItem.h" 00032 00033 /** 00034 * Label layout-item. An layoutable item which displays text. This is nice for labeling elements on the screen. It can be used stand-alone (as it 00035 * simply is an osgText::Text instance or in conjunction with an WGEItemLayouter. 00036 */ 00037 class WGELabel: public osgText::Text, 00038 WGELayoutableItem 00039 { 00040 public: 00041 /** 00042 * Convenience typedef for a osg::ref_ptr< WGELabel >. 00043 */ 00044 typedef osg::ref_ptr< WGELabel > SPtr; 00045 00046 /** 00047 * Convenience typedef for a osg::ref_ptr< const WGELabel >. 00048 */ 00049 typedef osg::ref_ptr< const WGELabel > ConstSPtr; 00050 00051 /** 00052 * Default constructor. 00053 */ 00054 WGELabel(); 00055 00056 /** 00057 * Destructor. 00058 */ 00059 virtual ~WGELabel(); 00060 00061 /** 00062 * Gets the current anchor point of the label. 00063 * 00064 * \return the anchor. 00065 */ 00066 virtual osg::Vec3 getAnchor() const; 00067 00068 /** 00069 * Sets the anchor point in world coordinates of this labels. 00070 * 00071 * \param anchor the anchor point 00072 */ 00073 virtual void setAnchor( const osg::Vec3& anchor ); 00074 00075 protected: 00076 /** 00077 * The anchor of the label in world space. 00078 */ 00079 osg::Vec3 m_anchor; 00080 00081 private: 00082 }; 00083 00084 #endif // WGELABEL_H 00085