Public Member Functions |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
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) |
bool | RenderString (vtkTextProperty *tprop, const vtkUnicodeString &str, vtkImageData *data) |
|
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 | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Protected Member Functions |
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 () |
|
template<typename T > |
bool | CalculateBoundingBox (vtkTextProperty *tprop, const T &str, int bbox[4]) |
|
template<typename T > |
void | PrepareImageData (vtkImageData *data, vtkTextProperty *tprop, const T &str, int *x, int *y) |
|
template<typename T > |
bool | PopulateImageData (vtkTextProperty *tprop, const T &str, int x, int y, vtkImageData *data) |
| vtkObject () |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
| vtkObjectBase () |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &os) |
virtual void | ReportReferences (vtkGarbageCollector *) |
| vtkObjectBase (const vtkObjectBase &) |
void | operator= (const vtkObjectBase &) |
FreeType library support.
vtkFreeTypeTools provides a low-level interface to the FreeType2 library, including font-cache and rasterization.
- Warning
- Internal use only.
Definition at line 54 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 183 of file vtkFreeTypeTools.h.
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, 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).
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