VTK
|
FreeType library support. More...
#include <vtkFreeTypeTools.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
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 () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkFreeTypeTools * | SafeDownCast (vtkObjectBase *o) |
static vtkFreeTypeTools * | GetInstance () |
static void | SetInstance (vtkFreeTypeTools *instance) |
static vtkTypeUInt16 | HashString (const char *str) |
static bool | LookupFace (vtkTextProperty *tprop, FT_Library lib, FT_Face *face) |
Protected Member Functions | |
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 () |
Protected Attributes | |
bool | ScaleToPowerTwo |
vtkTextPropertyLookup * | TextPropertyLookup |
unsigned int | MaximumNumberOfFaces |
unsigned int | MaximumNumberOfSizes |
unsigned long | MaximumNumberOfBytes |
bool | ForceCompiledFonts |
FTC_Manager * | CacheManager |
FTC_ImageCache * | ImageCache |
FTC_CMapCache * | CMapCache |
Static Protected Attributes | |
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.
Definition at line 62 of file vtkFreeTypeTools.h.
Reimplemented from vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
Definition at line 65 of file vtkFreeTypeTools.h.
anonymous enum [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
Definition at line 290 of file vtkFreeTypeTools.h.
vtkFreeTypeTools::vtkFreeTypeTools | ( | ) | [protected] |
virtual vtkFreeTypeTools::~vtkFreeTypeTools | ( | ) | [protected, virtual] |
static int vtkFreeTypeTools::IsTypeOf | ( | const char * | name | ) | [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 vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
virtual int vtkFreeTypeTools::IsA | ( | const char * | name | ) | [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 vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
static vtkFreeTypeTools* vtkFreeTypeTools::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
virtual vtkObjectBase* vtkFreeTypeTools::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
vtkFreeTypeTools* vtkFreeTypeTools::NewInstance | ( | ) | const |
Reimplemented from vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
void vtkFreeTypeTools::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.
Reimplemented in vtkFontConfigFreeTypeTools.
static vtkFreeTypeTools* vtkFreeTypeTools::GetInstance | ( | ) | [static] |
Return the singleton instance with no reference counting.
static void vtkFreeTypeTools::SetInstance | ( | vtkFreeTypeTools * | instance | ) | [static] |
Supply a user defined instance. Call Delete() on the supplied instance after setting it to fix the reference count.
FT_Library* vtkFreeTypeTools::GetLibrary | ( | ) |
Get the FreeType library singleton.
virtual void vtkFreeTypeTools::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 vtkFreeTypeTools::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 vtkFreeTypeTools::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 vtkFreeTypeTools::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 vtkFreeTypeTools::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 vtkFreeTypeTools::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.
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).
bool vtkFreeTypeTools::RenderString | ( | vtkTextProperty * | tprop, |
const vtkStdString & | str, | ||
vtkImageData * | data, | ||
int | textDims[2] = NULL |
||
) |
Given a text property and a string, this function initializes the vtkImageData *data and renders it in a vtkImageData. textDims, if provided, will be overwritten by the pixel width and height of the rendered string. This is useful when ScaleToPowerOfTwo is true, and the image dimensions may not match the dimensions of the rendered text.
bool vtkFreeTypeTools::RenderString | ( | vtkTextProperty * | tprop, |
const vtkUnicodeString & | str, | ||
vtkImageData * | data, | ||
int | textDims[2] = NULL |
||
) |
Given a text property and a string, this function initializes the vtkImageData *data and renders it in a vtkImageData. textDims, if provided, will be overwritten by the pixel width and height of the rendered string. This is useful when ScaleToPowerOfTwo is true, and the image dimensions may not match the dimensions of the rendered text.
bool vtkFreeTypeTools::StringToPath | ( | vtkTextProperty * | tprop, |
const vtkStdString & | str, | ||
vtkPath * | path | ||
) |
Given a text property and a string, this function populates the vtkPath path with the outline of the rendered string.
bool vtkFreeTypeTools::StringToPath | ( | vtkTextProperty * | tprop, |
const vtkUnicodeString & | str, | ||
vtkPath * | path | ||
) |
Given a text property and a string, this function populates the vtkPath path with the outline of the rendered string.
int vtkFreeTypeTools::GetConstrainedFontSize | ( | const vtkStdString & | str, |
vtkTextProperty * | tprop, | ||
int | targetWidth, | ||
int | targetHeight | ||
) |
This function returns the font size (in points) required to fit the string in the target rectangle. The font size of tprop is updated to the computed value as well. If an error occurs, -1 is returned.
int vtkFreeTypeTools::GetConstrainedFontSize | ( | const vtkUnicodeString & | str, |
vtkTextProperty * | tprop, | ||
int | targetWidth, | ||
int | targetHeight | ||
) |
This function returns the font size (in points) required to fit the string in the target rectangle. The font size of tprop is updated to the computed value as well. If an error occurs, -1 is returned.
static vtkTypeUInt16 vtkFreeTypeTools::HashString | ( | const char * | str | ) | [static] |
Turn a string into a hash. This is not a general purpose hash function, and is only used to generate identifiers for cached fonts.
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).
virtual void vtkFreeTypeTools::SetScaleToPowerTwo | ( | bool | ) | [virtual] |
Set whether the image produced should be scaled up to the nearest power of 2. This is normally required for older graphics cards where all textures must be a power of 2. This defaults to false, and should be fine on modern hardware.
virtual bool vtkFreeTypeTools::GetScaleToPowerTwo | ( | ) | [virtual] |
Set whether the image produced should be scaled up to the nearest power of 2. This is normally required for older graphics cards where all textures must be a power of 2. This defaults to false, and should be fine on modern hardware.
virtual void vtkFreeTypeTools::ScaleToPowerTwoOn | ( | ) | [virtual] |
Set whether the image produced should be scaled up to the nearest power of 2. This is normally required for older graphics cards where all textures must be a power of 2. This defaults to false, and should be fine on modern hardware.
virtual void vtkFreeTypeTools::ScaleToPowerTwoOff | ( | ) | [virtual] |
Set whether the image produced should be scaled up to the nearest power of 2. This is normally required for older graphics cards where all textures must be a power of 2. This defaults to false, and should be fine on modern hardware.
virtual void vtkFreeTypeTools::SetForceCompiledFonts | ( | bool | ) | [virtual] |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. Useful for generating test images consistently across platforms. This flag is on by default.
virtual bool vtkFreeTypeTools::GetForceCompiledFonts | ( | ) | [virtual] |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. Useful for generating test images consistently across platforms. This flag is on by default.
virtual void vtkFreeTypeTools::ForceCompiledFontsOn | ( | ) | [virtual] |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. Useful for generating test images consistently across platforms. This flag is on by default.
virtual void vtkFreeTypeTools::ForceCompiledFontsOff | ( | ) | [virtual] |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. Useful for generating test images consistently across platforms. This flag is on by default.
static bool vtkFreeTypeTools::LookupFace | ( | vtkTextProperty * | tprop, |
FT_Library | lib, | ||
FT_Face * | face | ||
) | [static] |
Lookup and set the FreeType font face face best matching the text property tprop using the compiled Arial, Times, and Courier fonts. If an unrecognized font family is requested, Arial will be substituted. Returns true if the face is set, false otherwise.
virtual FT_Error vtkFreeTypeTools::CreateFTCManager | ( | ) | [protected, virtual] |
Create the FreeType Cache manager instance and set this->CacheManager
Reimplemented in vtkFontConfigFreeTypeTools.
bool vtkFreeTypeTools::PrepareMetaData | ( | vtkTextProperty * | tprop, |
MetaData & | metaData | ||
) | [protected] |
bool vtkFreeTypeTools::PrepareImageMetaData | ( | vtkTextProperty * | tprop, |
vtkImageData * | image, | ||
ImageMetaData & | metaData | ||
) | [protected] |
bool vtkFreeTypeTools::RenderStringInternal | ( | vtkTextProperty * | tprop, |
const StringType & | str, | ||
vtkImageData * | data, | ||
int | textDims[2] | ||
) | [protected] |
Internal helper called by RenderString methods
bool vtkFreeTypeTools::StringToPathInternal | ( | vtkTextProperty * | tprop, |
const StringType & | str, | ||
vtkPath * | path | ||
) | [protected] |
Internal helper method called by StringToPath methods
bool vtkFreeTypeTools::CalculateBoundingBox | ( | const T & | str, |
MetaData & | metaData | ||
) | [protected] |
This function initializes calculates the size of the required bounding box and stores it in the MetaData provided. Both the rotated and unrotated bounding boxes are set, along with the lineWidths.
void vtkFreeTypeTools::PrepareImageData | ( | vtkImageData * | data, |
int | bbox[4] | ||
) | [protected] |
This function initializes the extent of the ImageData to eventually receive the text stored in str
bool vtkFreeTypeTools::PopulateData | ( | const StringType & | str, |
DataType | data, | ||
MetaData & | metaData | ||
) | [protected] |
Internal helper method called by RenderString. metaData is passed through the the character renderer and caches properties about data (e.g. range, dimensions, increments, etc).
bool vtkFreeTypeTools::RenderLine | ( | IteratorType | begin, |
IteratorType | end, | ||
int | lineIndex, | ||
DataType | data, | ||
MetaData & | metaData | ||
) | [protected] |
Renders a single line of text (between begin and end) to the image data.
bool vtkFreeTypeTools::RenderCharacter | ( | CharType | character, |
int & | x, | ||
int & | y, | ||
FT_UInt & | previousGlyphIndex, | ||
vtkImageData * | image, | ||
MetaData & | metaData | ||
) | [protected] |
Implementations for rendering a single character to a specific target.
bool vtkFreeTypeTools::RenderCharacter | ( | CharType | character, |
int & | x, | ||
int & | y, | ||
FT_UInt & | previousGlyphIndex, | ||
vtkPath * | path, | ||
MetaData & | metaData | ||
) | [protected] |
Implementations for rendering a single character to a specific target.
void vtkFreeTypeTools::JustifyPath | ( | vtkPath * | path, |
MetaData & | metaData | ||
) | [protected] |
Internal helper method called by StringToPath
int vtkFreeTypeTools::FitStringToBBox | ( | const T & | str, |
MetaData & | metaData, | ||
int | targetWidth, | ||
int | targetHeight | ||
) | [protected] |
Internal helper method called by GetConstrainedFontSize. Returns the fontsize (in points) that will fit the return string str into the targetWidth and targetHeight.
bool vtkFreeTypeTools::GetSize | ( | vtkTextProperty * | tprop, |
FT_Size * | size | ||
) | [protected] |
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.
bool vtkFreeTypeTools::GetFace | ( | vtkTextProperty * | tprop, |
FT_Face * | face | ||
) | [protected] |
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
bool vtkFreeTypeTools::GetGlyphIndex | ( | vtkTextProperty * | tprop, |
FT_UInt32 | c, | ||
FT_UInt * | gindex | ||
) | [protected] |
Given a text property and a character, get the corresponding FreeType glyph index. Return true on success, false otherwise
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
bool vtkFreeTypeTools::GetFace | ( | vtkTextProperty * | prop, |
unsigned long & | prop_cache_id, | ||
FT_Face & | face, | ||
bool & | face_has_kerning | ||
) | [protected] |
Attempt to get the typeface of the specified font.
FT_Bitmap* vtkFreeTypeTools::GetBitmap | ( | FT_UInt32 | c, |
unsigned long | prop_cache_id, | ||
int | prop_font_size, | ||
FT_UInt & | gindex, | ||
FT_BitmapGlyph & | bitmap_glyph | ||
) | [protected] |
Now attempt to get the bitmap for the specified character.
FT_Outline* vtkFreeTypeTools::GetOutline | ( | FT_UInt32 | c, |
unsigned long | prop_cache_id, | ||
int | prop_font_size, | ||
FT_UInt & | gindex, | ||
FT_OutlineGlyph & | outline_glyph | ||
) | [protected] |
Attempt to get the outline for the specified character.
void vtkFreeTypeTools::GetLineMetrics | ( | T | begin, |
T | end, | ||
MetaData & | metaData, | ||
int & | width, | ||
int | bbox[4] | ||
) | [protected] |
Get the width of the rendered string between iterators begin and end. Width is calculated as the sum of advances and kernings along the baseline (i.e. rotations are ignored), while bbox is the is a tight fitting bbox around the rendering string, assuming (0, 0) is the pen origin.
FTC_Manager* vtkFreeTypeTools::GetCacheManager | ( | ) | [protected] |
Get the FreeType cache manager, image cache and charmap cache
FTC_ImageCache* vtkFreeTypeTools::GetImageCache | ( | ) | [protected] |
Get the FreeType cache manager, image cache and charmap cache
FTC_CMapCache* vtkFreeTypeTools::GetCMapCache | ( | ) | [protected] |
Get the FreeType cache manager, image cache and charmap cache
void vtkFreeTypeTools::InitializeCacheManager | ( | ) | [protected] |
void vtkFreeTypeTools::ReleaseCacheManager | ( | ) | [protected] |
bool vtkFreeTypeTools::ScaleToPowerTwo [protected] |
Should the image be scaled to the next highest power of 2?
Definition at line 312 of file vtkFreeTypeTools.h.
vtkFreeTypeTools* vtkFreeTypeTools::Instance [static, protected] |
The singleton instance and the singleton cleanup instance
Definition at line 350 of file vtkFreeTypeTools.h.
vtkFreeTypeToolsCleanup vtkFreeTypeTools::Cleanup [static, protected] |
The singleton instance and the singleton cleanup instance
Definition at line 351 of file vtkFreeTypeTools.h.
vtkTextPropertyLookup* vtkFreeTypeTools::TextPropertyLookup [protected] |
Lookup table that maps free type font cache face ids to vtkTextProperties
Definition at line 356 of file vtkFreeTypeTools.h.
FTC_Manager* vtkFreeTypeTools::CacheManager [protected] |
The cache manager, image cache and charmap cache
Definition at line 360 of file vtkFreeTypeTools.h.
FTC_ImageCache* vtkFreeTypeTools::ImageCache [protected] |
The cache manager, image cache and charmap cache
Definition at line 361 of file vtkFreeTypeTools.h.
FTC_CMapCache* vtkFreeTypeTools::CMapCache [protected] |
The cache manager, image cache and charmap cache
Definition at line 362 of file vtkFreeTypeTools.h.
unsigned int vtkFreeTypeTools::MaximumNumberOfFaces [protected] |
Definition at line 372 of file vtkFreeTypeTools.h.
unsigned int vtkFreeTypeTools::MaximumNumberOfSizes [protected] |
Definition at line 373 of file vtkFreeTypeTools.h.
unsigned long vtkFreeTypeTools::MaximumNumberOfBytes [protected] |
Definition at line 374 of file vtkFreeTypeTools.h.
bool vtkFreeTypeTools::ForceCompiledFonts [protected] |
Definition at line 376 of file vtkFreeTypeTools.h.