vtkFreeTypeUtilities Class Reference
#include <vtkFreeTypeUtilities.h>
Inheritance diagram for vtkFreeTypeUtilities:
[legend]Collaboration diagram for vtkFreeTypeUtilities:
[legend]List of all members.
Detailed Description
FreeType library support.
vtkFreeTypeUtilities provides low-level interface to the FreeType library, including font-cache, rasterizing and vectorizing. Internal use only. EXPERIMENTAL for the moment. Also include the old cache.
- Created by:
-
- CVS contributions (if > 5%):
-
- CVS logs (CVSweb):
.h (/Rendering/vtkFreeTypeUtilities
.h)
.cxx (/Rendering/vtkFreeTypeUtilities
.cxx)
Definition at line 68 of file vtkFreeTypeUtilities.h.
|
[NOHEADER] |
enum | { GLYPH_REQUEST_DEFAULT = 0,
GLYPH_REQUEST_BITMAP = 1,
GLYPH_REQUEST_OUTLINE = 2
} |
int | GetGlyph (vtkTextProperty *tprop, char c, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
Public Types |
typedef vtkObject | Superclass |
Public Member Functions |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
FT_Library * | GetLibrary () |
int | GetSize (vtkTextProperty *tprop, FT_Size *size) |
int | GetFace (vtkTextProperty *tprop, FT_Face *face) |
int | GetGlyphIndex (vtkTextProperty *tprop, char c, FT_UInt *gindex) |
vtkFreeTypeUtilities::Entry * | GetFont (vtkTextProperty *tprop, double override_color[3]=NULL) |
|
virtual void | SetMaximumNumberOfFaces (unsigned int) |
virtual unsigned int | GetMaximumNumberOfFaces () |
virtual void | SetMaximumNumberOfSizes (unsigned int) |
virtual unsigned int | GetMaximumNumberOfSizes () |
virtual void | SetMaximumNumberOfBytes (unsigned long) |
virtual unsigned long | GetMaximumNumberOfBytes () |
|
FTC_Manager * | GetCacheManager () |
FTC_ImageCache * | GetImageCache () |
FTC_CMapCache * | GetCMapCache () |
|
int | GetBoundingBox (vtkTextProperty *tprop, const char *str, int bbox[4]) |
int | IsBoundingBoxValid (int bbox[4]) |
|
int | RenderString (vtkTextProperty *tprop, const char *str, int x, int y, vtkImageData *data) |
|
void | MapTextPropertyToId (vtkTextProperty *tprop, unsigned long *tprop_cache_id) |
void | MapIdToTextProperty (unsigned long tprop_cache_id, vtkTextProperty *tprop) |
|
int | GetSize (unsigned long tprop_cache_id, int font_size, FT_Size *size) |
int | GetFace (unsigned long tprop_cache_id, FT_Face *face) |
int | GetGlyphIndex (unsigned long tprop_cache_id, char c, FT_UInt *gindex) |
int | GetGlyph (unsigned long tprop_cache_id, int font_size, FT_UInt gindex, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
Static Public Member Functions |
int | IsTypeOf (const char *type) |
vtkFreeTypeUtilities * | SafeDownCast (vtkObject *o) |
vtkFreeTypeUtilities * | New () |
vtkFreeTypeUtilities * | GetInstance () |
void | SetInstance (vtkFreeTypeUtilities *instance) |
Protected Member Functions |
| vtkFreeTypeUtilities () |
virtual | ~vtkFreeTypeUtilities () |
Member Typedef Documentation
Member Enumeration Documentation
|
Given a text property and a character, get the corresponding FreeType glyph. The 'request' parameter can be used to request the glyph to be in a specific format. If GLYPH_REQUEST_DEFAULT, the glyph might be either an outline (most of the time) or a bitmap if the face includes a set of pre-rendered glyphs (called "strikes") for a given size. If GLYPH_REQUEST_BITMAP, the glyph is rendered immediately and can be safely cast to a FT_BitmapGlyph. If GLYPH_REQUEST_OUTLINE, no pre-rendered "strike" is considered, the glyph is an outline and can be safely cast to a FT_OutlineGlyph. Return true on success, false otherwise BTX - Enumeration values:
-
GLYPH_REQUEST_DEFAULT |
|
GLYPH_REQUEST_BITMAP |
|
GLYPH_REQUEST_OUTLINE |
|
Definition at line 138 of file vtkFreeTypeUtilities.h. |
Constructor & Destructor Documentation
vtkFreeTypeUtilities::vtkFreeTypeUtilities |
( |
|
) |
[protected] |
|
Member Function Documentation
virtual const char* vtkFreeTypeUtilities::GetClassName |
( |
|
) |
[virtual] |
|
int vtkFreeTypeUtilities::IsTypeOf |
( |
const char * |
type |
) |
[static] |
|
|
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject. |
virtual int vtkFreeTypeUtilities::IsA |
( |
const char * |
type |
) |
[virtual] |
|
|
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject. |
void vtkFreeTypeUtilities::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
[virtual] |
|
|
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject. |
|
This is a singleton pattern New. There will be only ONE reference to a vtkFreeTypeUtilities object per process. Clients that call this method must use Delete() on the object so that reference counting will work. The single instance will be unreferenced when the program exits. You should just use the static GetInstance() method anyway to get the singleton.
Reimplemented from vtkObject. |
|
Return the singleton instance with no reference counting. |
|
Supply a user defined instance. Call Delete() on the supplied instance after setting it to fix the reference count. |
FT_Library* vtkFreeTypeUtilities::GetLibrary |
( |
|
) |
|
|
|
Get the FreeType library singleton. |
virtual void vtkFreeTypeUtilities::SetMaximumNumberOfFaces |
( |
unsigned |
int |
) |
[virtual] |
|
|
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. These settings can be changed as long as it is done prior to accessing any of the caches or the cache manager. |
virtual unsigned int vtkFreeTypeUtilities::GetMaximumNumberOfFaces |
( |
|
) |
[virtual] |
|
|
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. These settings can be changed as long as it is done prior to accessing any of the caches or the cache manager. |
virtual void vtkFreeTypeUtilities::SetMaximumNumberOfSizes |
( |
unsigned |
int |
) |
[virtual] |
|
|
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. These settings can be changed as long as it is done prior to accessing any of the caches or the cache manager. |
virtual unsigned int vtkFreeTypeUtilities::GetMaximumNumberOfSizes |
( |
|
) |
[virtual] |
|
|
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. These settings can be changed as long as it is done prior to accessing any of the caches or the cache manager. |
virtual void vtkFreeTypeUtilities::SetMaximumNumberOfBytes |
( |
unsigned |
long |
) |
[virtual] |
|
|
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. These settings can be changed as long as it is done prior to accessing any of the caches or the cache manager. |
virtual unsigned long vtkFreeTypeUtilities::GetMaximumNumberOfBytes |
( |
|
) |
[virtual] |
|
|
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. These settings can be changed as long as it is done prior to accessing any of the caches or the cache manager. |
FTC_Manager* vtkFreeTypeUtilities::GetCacheManager |
( |
|
) |
|
|
|
Get the FreeType cache manager, image cache and charmap cache |
FTC_ImageCache* vtkFreeTypeUtilities::GetImageCache |
( |
|
) |
|
|
|
Get the FreeType cache manager, image cache and charmap cache |
FTC_CMapCache* vtkFreeTypeUtilities::GetCMapCache |
( |
|
) |
|
|
|
Get the FreeType cache manager, image cache and charmap cache |
int vtkFreeTypeUtilities::GetSize |
( |
vtkTextProperty * |
tprop, |
|
|
FT_Size * |
size |
|
) |
|
|
|
Given a text property, get the corresponding FreeType size object (a structure storing both a face and a specific size metric). The size setting of the text property is used to set the size's face to the corresponding size. Return true on success, false otherwise |
int vtkFreeTypeUtilities::GetFace |
( |
vtkTextProperty * |
tprop, |
|
|
FT_Face * |
face |
|
) |
|
|
|
Given a text property, get the corresponding FreeType face. The size parameter of the text property is ignored and a face with unknown current size is returned. Use GetSize() to get a specific size. Return true on success, false otherwise |
int vtkFreeTypeUtilities::GetGlyphIndex |
( |
vtkTextProperty * |
tprop, |
|
|
char |
c, |
|
|
FT_UInt * |
gindex |
|
) |
|
|
|
Given a text property and a character, get the corresponding FreeType glyph index. Return true on success, false otherwise |
int vtkFreeTypeUtilities::GetGlyph |
( |
vtkTextProperty * |
tprop, |
|
|
char |
c, |
|
|
FT_Glyph * |
glyph, |
|
|
int |
request = GLYPH_REQUEST_DEFAULT |
|
) |
|
|
|
Given a text property and a character, get the corresponding FreeType glyph. The 'request' parameter can be used to request the glyph to be in a specific format. If GLYPH_REQUEST_DEFAULT, the glyph might be either an outline (most of the time) or a bitmap if the face includes a set of pre-rendered glyphs (called "strikes") for a given size. If GLYPH_REQUEST_BITMAP, the glyph is rendered immediately and can be safely cast to a FT_BitmapGlyph. If GLYPH_REQUEST_OUTLINE, no pre-rendered "strike" is considered, the glyph is an outline and can be safely cast to a FT_OutlineGlyph. Return true on success, false otherwise BTX |
int vtkFreeTypeUtilities::GetBoundingBox |
( |
vtkTextProperty * |
tprop, |
|
|
const char * |
str, |
|
|
int |
bbox[4] |
|
) |
|
|
|
Given a text property and a string, get the bounding box [xmin, xmax] x [ymin, ymax]. Note that this is the bounding box of the area where actual pixels will be written, given a text/pen/baseline location of (0,0). For example, if the string starts with a 'space', or depending on the orientation, you can end up with a [-20, -10] x [5, 10] bbox (the math to get the real bbox is straightforward). Return 1 on success, 0 otherwise. You can use IsBoundingBoxValid() to test if the computed bbox is valid (it may not if GetBoundingBox() failed or if the string was empty). |
int vtkFreeTypeUtilities::IsBoundingBoxValid |
( |
int |
bbox[4] |
) |
|
|
|
Given a text property and a string, get the bounding box [xmin, xmax] x [ymin, ymax]. Note that this is the bounding box of the area where actual pixels will be written, given a text/pen/baseline location of (0,0). For example, if the string starts with a 'space', or depending on the orientation, you can end up with a [-20, -10] x [5, 10] bbox (the math to get the real bbox is straightforward). Return 1 on success, 0 otherwise. You can use IsBoundingBoxValid() to test if the computed bbox is valid (it may not if GetBoundingBox() failed or if the string was empty). |
|
Given a text property and a string, render it at coordinates (x, y) in an vtkImageData. WARNING: writing to a L,A or RGB,A vtkImageData needs to be fixed. Also, *no* bounds checking are performed for the moment, i.e. no cropping, the text has to fit in the buffer (use GetBoundingBox()). |
void vtkFreeTypeUtilities::MapTextPropertyToId |
( |
vtkTextProperty * |
tprop, |
|
|
unsigned long * |
tprop_cache_id |
|
) |
|
|
|
For internal use only. Given a text property 'tprop', get its unique ID in our cache framework. In the same way, given a unique ID in our cache, retrieve the corresponding text property and assign its parameters to 'tprop'. Warning: there is no one to one mapping between a single text property the corresponding ID, and vice-versa. The ID is just a fast hash, a binary mask concatenating the attributes of the text property that are relevant to our cache (Color, Opacity, Justification setting are not stored). |
void vtkFreeTypeUtilities::MapIdToTextProperty |
( |
unsigned long |
tprop_cache_id, |
|
|
vtkTextProperty * |
tprop |
|
) |
|
|
|
For internal use only. Given a text property 'tprop', get its unique ID in our cache framework. In the same way, given a unique ID in our cache, retrieve the corresponding text property and assign its parameters to 'tprop'. Warning: there is no one to one mapping between a single text property the corresponding ID, and vice-versa. The ID is just a fast hash, a binary mask concatenating the attributes of the text property that are relevant to our cache (Color, Opacity, Justification setting are not stored). |
int vtkFreeTypeUtilities::GetSize |
( |
unsigned long |
tprop_cache_id, |
|
|
int |
font_size, |
|
|
FT_Size * |
size |
|
) |
|
|
int vtkFreeTypeUtilities::GetFace |
( |
unsigned long |
tprop_cache_id, |
|
|
FT_Face * |
face |
|
) |
|
|
int vtkFreeTypeUtilities::GetGlyphIndex |
( |
unsigned long |
tprop_cache_id, |
|
|
char |
c, |
|
|
FT_UInt * |
gindex |
|
) |
|
|
int vtkFreeTypeUtilities::GetGlyph |
( |
unsigned long |
tprop_cache_id, |
|
|
int |
font_size, |
|
|
FT_UInt |
gindex, |
|
|
FT_Glyph * |
glyph, |
|
|
int |
request = GLYPH_REQUEST_DEFAULT |
|
) |
|
|
The documentation for this class was generated from the following file: