![]() |
libmoldeo (Moldeo 1.0 Core)
1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
|
Render text as a polygon outline. More...
#include <moOGLFT.h>
Public Member Functions | |
| Outline (const char *filename, float point_size=12, FT_UInt resolution=100) | |
| Outline (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
| ~Outline (void) | |
Public Member Functions inherited from OGLFT::Polygonal | |
| Polygonal (const char *filename, float point_size=12, FT_UInt resolution=100) | |
| Polygonal (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
| virtual | ~Polygonal (void) |
| void | setTessellationSteps (unsigned int tessellation_steps) |
| unsigned int | tessellationSteps (void) const |
| void | setCharacterRotationX (GLfloat character_rotation_x) |
| void | setCharacterRotationY (GLfloat character_rotation_y) |
| void | setCharacterRotationZ (GLfloat character_rotation_z) |
| GLfloat | characterRotationX (void) const |
| GLfloat | characterRotationY (void) const |
| GLfloat | characterRotationZ (void) const |
| void | setColorTess (ColorTess *color_tess) |
| ColorTess * | colorTess (void) const |
| void | setTextureTess (TextureTess *texture_tess) |
| TextureTess * | textureTess (void) const |
| double | height (void) const |
| BBox | measure (unsigned char c) |
| BBox | measure (const char *s) |
Public Member Functions inherited from OGLFT::Face | |
| Face (const char *filename, float point_size=12, FT_UInt resolution=100) | |
| Face (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
| virtual | ~Face (void) |
| bool | isValid (void) const |
| bool | addAuxiliaryFace (const char *filename) |
| bool | addAuxiliaryFace (FT_Face face) |
| void | setCompileMode (enum GlyphCompileMode compile_mode) |
| enum GlyphCompileMode | compileMode (void) const |
| void | setPointSize (float point_size) |
| float | pointSize (void) |
| void | setResolution (FT_UInt resolution) |
| FT_UInt | resolution (void) |
| void | setAdvance (bool advance) |
| bool | advance (void) const |
| void | setForegroundColor (GLfloat red=0.0, GLfloat green=0.0, GLfloat blue=0.0, GLfloat alpha=1.0) |
| void | setForegroundColor (const GLfloat foreground_color[4]) |
| GLfloat | foregroundRed (void) const |
| GLfloat | foregroundGreen (void) const |
| GLfloat | foregroundBlue (void) const |
| GLfloat | foregroundAlpha (void) const |
| void | setBackgroundColor (GLfloat red=1.0, GLfloat green=1.0, GLfloat blue=1.0, GLfloat alpha=0.0) |
| void | setBackgroundColor (const GLfloat background_color[4]) |
| GLfloat | backgroundRed (void) const |
| GLfloat | backgroundGreen (void) const |
| GLfloat | backgroundBlue (void) const |
| GLfloat | backgroundAlpha (void) const |
| void | setCharacterRotationReference (unsigned char c) |
| void | setStringRotation (GLfloat string_rotation) |
| GLfloat | stringRotation (void) const |
| void | setHorizontalJustification (enum HorizontalJustification horizontal_justification) |
| enum HorizontalJustification | horizontalJustification (void) const |
| void | setVerticalJustification (enum VerticalJustification vertical_justification) |
| enum VerticalJustification | verticaljustification (void) const |
| void | setCharacterDisplayLists (const DisplayLists &character_display_lists) |
| DisplayLists & | characterDisplayLists (void) |
| virtual BBox | measureRaw (const char *s) |
| GLuint | compile (const char *s) |
| GLuint | compile (unsigned char c) |
| void | draw (const char *s) |
| void | draw (unsigned char c) |
| void | draw (GLfloat x, GLfloat y, unsigned char c) |
| void | draw (GLfloat x, GLfloat y, GLfloat z, unsigned char c) |
| void | draw (GLfloat x, GLfloat y, const char *s) |
| void | draw (GLfloat x, GLfloat y, GLfloat z, const char *s) |
| int | ascender (void) |
| int | descender (void) |
Additional Inherited Members | |
Public Types inherited from OGLFT::Face | |
| enum | HorizontalJustification { LEFT, ORIGIN, CENTER, RIGHT } |
| enum | VerticalJustification { BOTTOM, BASELINE, MIDDLE, TOP } |
| enum | GlyphCompileMode { COMPILE, IMMEDIATE } |
Protected Types inherited from OGLFT::Polygonal | |
| typedef std::list< VertexInfo * > | VertexInfoList |
| Normally, we will consider a list of vertices. More... | |
| typedef VertexInfoList::const_iterator | VILCI |
| A convenience definition of the iterator over the list of vertices. More... | |
| typedef VertexInfoList::iterator | VILI |
| A convenience definition of the iterator over the list of vertices. More... | |
Protected Types inherited from OGLFT::Face | |
| typedef std::map< FT_UInt, GLuint > | GlyphDLists |
| Type of the cache of defined glyph to display list mapping. More... | |
| typedef GlyphDLists::const_iterator | GDLCI |
| typedef GlyphDLists::iterator | GDLI |
Protected Member Functions inherited from OGLFT::Polygonal | |
| void | clearCaches (void) |
Protected Attributes inherited from OGLFT::Polygonal | |
| struct { | |
| bool active_ | |
| GLfloat x_ | |
| GLfloat y_ | |
| GLfloat z_ | |
| } | character_rotation_ |
| Angle of rotation of characters relative to text orientation. More... | |
| unsigned int | tessellation_steps_ |
| double | delta_ |
| double | delta2_ |
| double | delta3_ |
| double | vector_scale_ |
| FT_Outline_Funcs | interface_ |
| Callbacks for FreeType glyph decomposition into outlines. More... | |
| VertexInfo | last_vertex_ |
| VertexInfoList | vertices_ |
| bool | contour_open_ |
| ColorTess * | color_tess_ |
| TextureTess * | texture_tess_ |
Protected Attributes inherited from OGLFT::Face | |
| std::vector< FaceData > | faces_ |
| bool | valid_ |
| Did a font load OK? More... | |
| enum GlyphCompileMode | compile_mode_ |
| Glyph display list creation mode. More... | |
| float | point_size_ |
| Nominal point size. More... | |
| FT_UInt | resolution_ |
| Display resolution in pixels per inch. More... | |
| bool | advance_ |
| Does rendering text affect the MODELVIEW matrix? More... | |
| GLfloat | foreground_color_ [4] |
| GLfloat | background_color_ [4] |
| Background color (what modes would use this?) More... | |
| enum HorizontalJustification | horizontal_justification_ |
| PHIGS-like horizontal positioning of text. More... | |
| enum VerticalJustification | vertical_justification_ |
| PHIGS-like vertical positioning of text. More... | |
| GLfloat | string_rotation_ |
| Rotate an entire string in the Z plane. More... | |
| FT_UInt | rotation_reference_glyph_ |
| FT_Face | rotation_reference_face_ |
| The rotation reference character could be in any face. More... | |
| GLfloat | rotation_offset_y_ |
| GlyphDLists | glyph_dlists_ |
| Cache of defined glyph display lists. More... | |
| DisplayLists | character_display_lists_ |
Static Protected Attributes inherited from OGLFT::Polygonal | |
| static const unsigned int | DEFAULT_TESSELLATION_STEPS = 4 |
Render text as a polygon outline.
Text is drawn as an outline of each glyph. The contours are extracted from the font file through FreeType. FreeType is used to scale the contours to a given size. Usually the outline is drawn in the foreground color, however, you can specify a ColorTess object to provide a color for each vertex individually. You can also use the per-glyph display list functionality to alter the attributes of each glyph.
The only complexity to this style is selecting the point size. Since the outlines are drawn as a polygon, they are subject to the MODELVIEW transformation. The point size is nominally chosen to be the same as a raster image generated at the given resolution. Some experimentation with point size and resolution may be necessary to achieve the desired results.
| OGLFT::Outline::Outline | ( | const char * | filename, |
| float | point_size = 12, |
||
| FT_UInt | resolution = 100 |
||
| ) |
| filename | the filename which contains the font face. |
| point_size | the initial point size of the font to generate. A point is essentially 1/72th of an inch. Defaults to 12. |
| resolution | the pixel density of the display in dots per inch (DPI). Defaults to 100 DPI. |
Definition at line 2238 of file moOGLFT.cpp.
| OGLFT::Outline::Outline | ( | FT_Face | face, |
| float | point_size = 12, |
||
| FT_UInt | resolution = 100 |
||
| ) |
| face | open FreeType FT_Face. |
| point_size | the initial point size of the font to generate. A point is essentially 1/72th of an inch. Defaults to 12. |
| resolution | the pixel density of the display in dots per inch (DPI). Defaults to 100 DPI. |
Definition at line 2246 of file moOGLFT.cpp.
| OGLFT::Outline::~Outline | ( | void | ) |
The destructor doesn't do anything in particular.
Definition at line 2262 of file moOGLFT.cpp.