20 #ifndef Tulip_GLLABEL_H
21 #define Tulip_GLLABEL_H
25 #include <tulip/Coord.h>
26 #include <tulip/Color.h>
27 #include <tulip/Size.h>
29 #include <tulip/GlSimpleEntity.h>
31 class FTGLPolygonFont;
39 enum LabelPosition {ON_CENTER = 0, ON_TOP = 1, ON_BOTTOM = 2, ON_LEFT = 3, ON_RIGHT = 4};
67 GlLabel(Coord centerPosition,Size size,Color fontColor,
bool leftAlign=
false);
84 void setText(
const std::string& text);
89 void setPosition(
const Coord &position);
101 virtual void setTranslationAfterRotation(Coord translation) {
102 translationAfterRotation=translation;
108 virtual Coord getTranslationAfterRotation() {
109 return translationAfterRotation;
121 this->alignment=alignment;
137 virtual void setSize(
const Size &size);
142 virtual Size getSize();
152 virtual void setSizeForOutAlign(
const Size &size);
158 virtual Size getSizeForOutAlign();
178 depthTestEnabled=state;
191 void drawWithStencil(
float lod,
Camera *camera=NULL);
196 float getHeightAfterScale();
201 virtual void draw(
float lod,
Camera *camera=NULL);
206 virtual void translate(
const Coord& mouvement);
211 virtual void rotate(
float xRot,
float yRot,
float zRot);
216 virtual void getXML(std::string &outString);
221 virtual void setWithXML(
const std::string &inString,
unsigned int ¤tPosition);
226 virtual void setBoldFont();
231 virtual void setPlainFont();
236 virtual void setFontName(
const std::string &name);
241 virtual void setFontNameSizeAndColor(
const std::string &name,
const int &size,
const Color &color);
247 virtual void setRenderingMode(
int mode);
255 occlusionTester=tester;
287 labelsDensity=density;
295 return labelsDensity;
341 return useMinMaxSize;
369 outlineColor = color;
411 this->billboarded=billboarded;
417 std::string fontName;
420 FTGLPolygonFont *font;
421 FTOutlineFont *borderFont;
422 Coord centerPosition;
423 Coord translationAfterRotation;
425 Size sizeForOutAlign;
429 std::string textureName;
435 bool depthTestEnabled;
444 OcclusionTest *occlusionTester;
446 std::vector<std::string> textVector;
447 std::vector<float> textWidthVector;