libmoldeo (Moldeo 1.0 Core)
1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
|
Render text as a filled polygons. Más...
#include <moOGLFT.h>
Métodos públicos | |
Filled (const char *filename, float point_size=12, FT_UInt resolution=100) | |
Filled (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
virtual | ~ Filled (void) |
VertexInfoList & | extraVertices (void) |
Métodos públicos heredados desde 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) |
Métodos públicos heredados desde 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) |
Métodos protegidos | |
void | renderGlyph (FT_Face face, FT_UInt glyph_index) |
Métodos protegidos heredados desde OGLFT::Polygonal | |
void | clearCaches (void) |
Atributos protegidos | |
GLfloat | depth_offset_ |
Atributos protegidos heredados desde OGLFT::Polygonal | |
struct { | |
bool active_ | |
GLfloat x_ | |
GLfloat y_ | |
GLfloat z_ | |
} | character_rotation_ |
Angle of rotation of characters relative to text orientation. Más... | |
unsigned int | tessellation_steps_ |
double | delta_ |
double | delta2_ |
double | delta3_ |
double | vector_scale_ |
FT_Outline_Funcs | interface_ |
Callbacks for FreeType glyph decomposition into outlines. Más... | |
VertexInfo | last_vertex_ |
VertexInfoList | vertices_ |
bool | contour_open_ |
ColorTess * | color_tess_ |
TextureTess * | texture_tess_ |
Atributos protegidos heredados desde OGLFT::Face | |
std::vector< FaceData > | faces_ |
bool | valid_ |
Did a font load OK? Más... | |
enum GlyphCompileMode | compile_mode_ |
Glyph display list creation mode. Más... | |
float | point_size_ |
Nominal point size. Más... | |
FT_UInt | resolution_ |
Display resolution in pixels per inch. Más... | |
bool | advance_ |
Does rendering text affect the MODELVIEW matrix? Más... | |
GLfloat | foreground_color_ [4] |
GLfloat | background_color_ [4] |
Background color (what modes would use this?) Más... | |
enum HorizontalJustification | horizontal_justification_ |
PHIGS-like horizontal positioning of text. Más... | |
enum VerticalJustification | vertical_justification_ |
PHIGS-like vertical positioning of text. Más... | |
GLfloat | string_rotation_ |
Rotate an entire string in the Z plane. Más... | |
FT_UInt | rotation_reference_glyph_ |
FT_Face | rotation_reference_face_ |
The rotation reference character could be in any face. Más... | |
GLfloat | rotation_offset_y_ |
GlyphDLists | glyph_dlists_ |
Cache of defined glyph display lists. Más... | |
DisplayLists | character_display_lists_ |
Métodos privados | |
void | init (void) |
Métodos privados estáticos | |
static int | moveToCallback (FT_Vector *to, Filled *filled) |
static int | lineToCallback (FT_Vector *to, Filled *filled) |
static int | conicToCallback (FT_Vector *control, FT_Vector *to, Filled *filled) |
static int | cubicToCallback (FT_Vector *control1, FT_Vector *control2, FT_Vector *to, Filled *filled) |
static void | vertexCallback (VertexInfo *vertex) |
static void | beginCallback (GLenum which) |
static void | endCallback (void) |
static void | combineCallback (GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **out_data, Filled *filled) |
static void | errorCallback (GLenum error_code) |
Atributos privados | |
GLUtesselator * | tess_obj_ |
VertexInfoList | extra_vertices_ |
A place to store any extra vertices generated by the Combine callback. Más... | |
Otros miembros heredados | |
Tipos públicos heredados desde OGLFT::Face | |
enum | HorizontalJustification { LEFT, ORIGIN, CENTER, RIGHT } |
enum | VerticalJustification { BOTTOM, BASELINE, MIDDLE, TOP } |
enum | GlyphCompileMode { COMPILE, IMMEDIATE } |
Tipos protegidos heredados desde OGLFT::Polygonal | |
typedef std::list< VertexInfo *> | VertexInfoList |
Normally, we will consider a list of vertices. Más... | |
typedef VertexInfoList::const_iterator | VILCI |
A convenience definition of the iterator over the list of vertices. Más... | |
typedef VertexInfoList::iterator | VILI |
A convenience definition of the iterator over the list of vertices. Más... | |
Tipos protegidos heredados desde OGLFT::Face | |
typedef std::map< FT_UInt, GLuint > | GlyphDLists |
Type of the cache of defined glyph to display list mapping. Más... | |
typedef GlyphDLists::const_iterator | GDLCI |
typedef GlyphDLists::iterator | GDLI |
Atributos protegidos estáticos heredados desde OGLFT::Polygonal | |
static const unsigned int | DEFAULT_TESSELLATION_STEPS = 4 |
Render text as a filled polygons.
Each glyph is drawn as a filled polygon. The contours are extracted from the font file through FreeType. FreeType is used to scale the contours to the given size. Then the GLU tessellation routines are used to tessellate the contours into polygons (well, triangles). By default, these are drawn in GL_FILL polygon mode, but any other polygon mode can be specified.
Usually, the polygons are drawn only in the foreground color, however, you may supply ColorTess and TextureTess objects which can alter the color or texture coordinates of 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 glyphs are drawn as polygons, they are subject to the viewing and modeling transformations. 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::Filled::Filled | ( | 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. |
Definición en la línea 2502 del archivo moOGLFT.cpp.
OGLFT::Filled::Filled | ( | 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. |
Definición en la línea 2510 del archivo moOGLFT.cpp.
|
virtual |
The destructor deletes the GLU tessellation object allocated in in the constructor.
|
staticprivate |
|
staticprivate |
Definición en la línea 2819 del archivo moOGLFT.cpp.
|
staticprivate |
Definición en la línea 2667 del archivo moOGLFT.cpp.
|
staticprivate |
Definición en la línea 2726 del archivo moOGLFT.cpp.
|
staticprivate |
|
staticprivate |
|
inline |
|
private |
Definición en la línea 2516 del archivo moOGLFT.cpp.
|
staticprivate |
Definición en la línea 2651 del archivo moOGLFT.cpp.
|
staticprivate |
Definición en la línea 2636 del archivo moOGLFT.cpp.
|
protectedvirtual |
Each style implements its own glyph rendering routine.
face | the FT_Face containing the glyph. |
glyph_index | the index of the glyph in face. |
Implementa OGLFT::Face.
Reimplementado en OGLFT::Solid.
Definición en la línea 2541 del archivo moOGLFT.cpp.
|
staticprivate |
Definición en la línea 2798 del archivo moOGLFT.cpp.
|
protected |
|
private |
|
private |