|
virtual int | IsA (const char *type) |
|
vtkFreeTypeTools * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
FT_Library * | GetLibrary () |
|
|
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 () |
|
|
bool | GetBoundingBox (vtkTextProperty *tprop, const vtkStdString &str, int bbox[4]) |
|
bool | GetBoundingBox (vtkTextProperty *tprop, const vtkUnicodeString &str, int bbox[4]) |
|
bool | IsBoundingBoxValid (int bbox[4]) |
|
|
bool | RenderString (vtkTextProperty *tprop, const vtkStdString &str, vtkImageData *data, int textDims[2]=NULL) |
|
bool | RenderString (vtkTextProperty *tprop, const vtkUnicodeString &str, vtkImageData *data, int textDims[2]=NULL) |
|
|
bool | StringToPath (vtkTextProperty *tprop, const vtkStdString &str, vtkPath *path) |
|
bool | StringToPath (vtkTextProperty *tprop, const vtkUnicodeString &str, vtkPath *path) |
|
|
int | GetConstrainedFontSize (const vtkStdString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight) |
|
int | GetConstrainedFontSize (const vtkUnicodeString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight) |
|
|
void | MapTextPropertyToId (vtkTextProperty *tprop, unsigned long *tprop_cache_id) |
|
void | MapIdToTextProperty (unsigned long tprop_cache_id, vtkTextProperty *tprop) |
|
|
virtual void | SetScaleToPowerTwo (bool) |
|
virtual bool | GetScaleToPowerTwo () |
|
virtual void | ScaleToPowerTwoOn () |
|
virtual void | ScaleToPowerTwoOff () |
|
|
virtual void | SetForceCompiledFonts (bool) |
|
virtual bool | GetForceCompiledFonts () |
|
virtual void | ForceCompiledFontsOn () |
|
virtual void | ForceCompiledFontsOff () |
|
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
virtual FT_Error | CreateFTCManager () |
|
void | PrepareImageData (vtkImageData *data, int bbox[4]) |
|
void | JustifyPath (vtkPath *path, MetaData &metaData) |
|
bool | GetSize (vtkTextProperty *tprop, FT_Size *size) |
|
bool | GetFace (vtkTextProperty *tprop, FT_Face *face) |
|
bool | GetGlyphIndex (vtkTextProperty *tprop, FT_UInt32 c, FT_UInt *gindex) |
|
| vtkFreeTypeTools () |
|
virtual | ~vtkFreeTypeTools () |
|
void | InitializeCacheManager () |
|
void | ReleaseCacheManager () |
|
|
bool | PrepareMetaData (vtkTextProperty *tprop, MetaData &metaData) |
|
bool | PrepareImageMetaData (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData) |
|
|
template<typename StringType > |
bool | RenderStringInternal (vtkTextProperty *tprop, const StringType &str, vtkImageData *data, int textDims[2]) |
|
|
template<typename StringType > |
bool | StringToPathInternal (vtkTextProperty *tprop, const StringType &str, vtkPath *path) |
|
|
template<typename T > |
bool | CalculateBoundingBox (const T &str, MetaData &metaData) |
|
|
template<typename StringType , typename DataType > |
bool | PopulateData (const StringType &str, DataType data, MetaData &metaData) |
|
|
template<typename IteratorType , typename DataType > |
bool | RenderLine (IteratorType begin, IteratorType end, int lineIndex, DataType data, MetaData &metaData) |
|
|
template<typename CharType > |
bool | RenderCharacter (CharType character, int &x, int &y, FT_UInt &previousGlyphIndex, vtkImageData *image, MetaData &metaData) |
|
template<typename CharType > |
bool | RenderCharacter (CharType character, int &x, int &y, FT_UInt &previousGlyphIndex, vtkPath *path, MetaData &metaData) |
|
|
template<typename T > |
int | FitStringToBBox (const T &str, MetaData &metaData, int targetWidth, int targetHeight) |
|
|
bool | GetFace (vtkTextProperty *prop, unsigned long &prop_cache_id, FT_Face &face, bool &face_has_kerning) |
|
|
FT_Bitmap * | GetBitmap (FT_UInt32 c, unsigned long prop_cache_id, int prop_font_size, FT_UInt &gindex, FT_BitmapGlyph &bitmap_glyph) |
|
|
FT_Outline * | GetOutline (FT_UInt32 c, unsigned long prop_cache_id, int prop_font_size, FT_UInt &gindex, FT_OutlineGlyph &outline_glyph) |
|
|
template<typename T > |
void | GetLineMetrics (T begin, T end, MetaData &metaData, int &width, int bbox[4]) |
|
|
FTC_Manager * | GetCacheManager () |
|
FTC_ImageCache * | GetImageCache () |
|
FTC_CMapCache * | GetCMapCache () |
|
|
|
static vtkFreeTypeTools * | Instance |
|
static vtkFreeTypeToolsCleanup | Cleanup |
|
enum | { GLYPH_REQUEST_DEFAULT = 0,
GLYPH_REQUEST_BITMAP = 1,
GLYPH_REQUEST_OUTLINE = 2
} |
|
bool | GetGlyph (vtkTextProperty *tprop, FT_UInt32 c, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
|
bool | GetSize (unsigned long tprop_cache_id, int font_size, FT_Size *size) |
|
bool | GetFace (unsigned long tprop_cache_id, FT_Face *face) |
|
bool | GetGlyphIndex (unsigned long tprop_cache_id, FT_UInt32 c, FT_UInt *gindex) |
|
bool | GetGlyph (unsigned long tprop_cache_id, int font_size, FT_UInt gindex, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
|
FreeType library support.
vtkFreeTypeTools provides a low-level interface to the FreeType2 library, including font-cache and rasterization.
- Warning
- Internal use only.
- Tests:
- vtkFreeTypeTools (Tests)
Definition at line 62 of file vtkFreeTypeTools.h.
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
Enumerator |
---|
GLYPH_REQUEST_DEFAULT |
|
GLYPH_REQUEST_BITMAP |
|
GLYPH_REQUEST_OUTLINE |
|
Definition at line 290 of file vtkFreeTypeTools.h.
bool vtkFreeTypeTools::GetBoundingBox |
( |
vtkTextProperty * |
tprop, |
|
|
const vtkStdString & |
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).
bool vtkFreeTypeTools::GetBoundingBox |
( |
vtkTextProperty * |
tprop, |
|
|
const vtkUnicodeString & |
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).
bool vtkFreeTypeTools::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).
void vtkFreeTypeTools::MapTextPropertyToId |
( |
vtkTextProperty * |
tprop, |
|
|
unsigned long * |
tprop_cache_id |
|
) |
| |
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 vtkFreeTypeTools::MapIdToTextProperty |
( |
unsigned long |
tprop_cache_id, |
|
|
vtkTextProperty * |
tprop |
|
) |
| |
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).
bool vtkFreeTypeTools::GetGlyph |
( |
vtkTextProperty * |
tprop, |
|
|
FT_UInt32 |
c, |
|
|
FT_Glyph * |
glyph, |
|
|
int |
request = GLYPH_REQUEST_DEFAULT |
|
) |
| |
|
protected |
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
bool vtkFreeTypeTools::GetSize |
( |
unsigned long |
tprop_cache_id, |
|
|
int |
font_size, |
|
|
FT_Size * |
size |
|
) |
| |
|
protected |
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
bool vtkFreeTypeTools::GetFace |
( |
unsigned long |
tprop_cache_id, |
|
|
FT_Face * |
face |
|
) |
| |
|
protected |
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
bool vtkFreeTypeTools::GetGlyphIndex |
( |
unsigned long |
tprop_cache_id, |
|
|
FT_UInt32 |
c, |
|
|
FT_UInt * |
gindex |
|
) |
| |
|
protected |
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
bool vtkFreeTypeTools::GetGlyph |
( |
unsigned long |
tprop_cache_id, |
|
|
int |
font_size, |
|
|
FT_UInt |
gindex, |
|
|
FT_Glyph * |
glyph, |
|
|
int |
request = GLYPH_REQUEST_DEFAULT |
|
) |
| |
|
protected |
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