VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkFreeTypeTools Class Reference

FreeType library support. More...

#include <vtkFreeTypeTools.h>

Inheritance diagram for vtkFreeTypeTools:
[legend]
Collaboration diagram for vtkFreeTypeTools:
[legend]

Public Types

typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkFreeTypeToolsNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
FT_Library * GetLibrary ()
 
virtual void SetDebugTextures (bool)
 
virtual bool GetDebugTextures ()
 
virtual void DebugTexturesOn ()
 
virtual void DebugTexturesOff ()
 
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 dpi, int bbox[4])
 
bool GetBoundingBox (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, int bbox[4])
 
bool GetMetrics (vtkTextProperty *tprop, const vtkStdString &str, int dpi, vtkTextRenderer::Metrics &metrics)
 
bool GetMetrics (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, vtkTextRenderer::Metrics &metrics)
 
bool RenderString (vtkTextProperty *tprop, const vtkStdString &str, int dpi, vtkImageData *data, int textDims[2]=NULL)
 
bool RenderString (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, vtkImageData *data, int textDims[2]=NULL)
 
bool StringToPath (vtkTextProperty *tprop, const vtkStdString &str, int dpi, vtkPath *path)
 
bool StringToPath (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, vtkPath *path)
 
int GetConstrainedFontSize (const vtkStdString &str, vtkTextProperty *tprop, int dpi, int targetWidth, int targetHeight)
 
int GetConstrainedFontSize (const vtkUnicodeString &str, vtkTextProperty *tprop, int dpi, int targetWidth, int targetHeight)
 
void MapTextPropertyToId (vtkTextProperty *tprop, size_t *tprop_cache_id)
 
void MapIdToTextProperty (size_t 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 ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool 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)
 
vtkCommandGetCommand (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)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(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)
 
- Public Member Functions inherited from vtkObjectBase
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 &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkFreeTypeToolsSafeDownCast (vtkObjectBase *o)
 
static vtkFreeTypeToolsGetInstance ()
 
static void SetInstance (vtkFreeTypeTools *instance)
 
static vtkTypeUInt16 HashString (const char *str)
 
static bool LookupFace (vtkTextProperty *tprop, FT_Library lib, FT_Face *face)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
virtual FT_Error CreateFTCManager ()
 
void PrepareImageData (vtkImageData *data, int bbox[4])
 
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, int dpi, MetaData &metaData)
 
bool PrepareImageMetaData (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData)
 
void RenderBackground (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData)
 
bool GetFace (vtkTextProperty *prop, size_t &prop_cache_id, FT_Face &face, bool &face_has_kerning)
 
FT_Bitmap * GetBitmap (FT_UInt32 c, size_t prop_cache_id, int prop_font_size, FT_UInt &gindex, FT_BitmapGlyph &bitmap_glyph)
 
FT_Bitmap * GetBitmap (FT_UInt32 c, FTC_Scaler scaler, FT_UInt &gindex, FT_BitmapGlyph &bitmap_glyph)
 
FT_Outline * GetOutline (FT_UInt32 c, size_t prop_cache_id, int prop_font_size, FT_UInt &gindex, FT_OutlineGlyph &outline_glyph)
 
FT_Outline * GetOutline (FT_UInt32 c, FTC_Scaler scaler, FT_UInt &gindex, FT_OutlineGlyph &outline_glyph)
 
FTC_Manager * GetCacheManager ()
 
FTC_ImageCache * GetImageCache ()
 
FTC_CMapCache * GetCMapCache ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

bool ScaleToPowerTwo
 
vtkTextPropertyLookup * TextPropertyLookup
 
unsigned int MaximumNumberOfFaces
 
unsigned int MaximumNumberOfSizes
 
unsigned long MaximumNumberOfBytes
 
bool ForceCompiledFonts
 
bool DebugTextures
 
FTC_Manager * CacheManager
 
FTC_ImageCache * ImageCache
 
FTC_CMapCache * CMapCache
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Static Protected Attributes

static vtkFreeTypeToolsInstance
 
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 (size_t tprop_cache_id, int font_size, FT_Size *size)
 
bool GetSize (FTC_Scaler scaler, FT_Size *size)
 
bool GetFace (size_t tprop_cache_id, FT_Face *face)
 
bool GetGlyphIndex (size_t tprop_cache_id, FT_UInt32 c, FT_UInt *gindex)
 
bool GetGlyph (size_t tprop_cache_id, int font_size, FT_UInt gindex, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT)
 
bool GetGlyph (FTC_Scaler scaler, FT_UInt gindex, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT)
 

Detailed Description

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 63 of file vtkFreeTypeTools.h.

Member Typedef Documentation

Definition at line 66 of file vtkFreeTypeTools.h.

Member Enumeration Documentation

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

Enumerator
GLYPH_REQUEST_DEFAULT 
GLYPH_REQUEST_BITMAP 
GLYPH_REQUEST_OUTLINE 

Definition at line 250 of file vtkFreeTypeTools.h.

Constructor & Destructor Documentation

vtkFreeTypeTools::vtkFreeTypeTools ( )
protected
virtual vtkFreeTypeTools::~vtkFreeTypeTools ( )
protectedvirtual

Member Function Documentation

static int vtkFreeTypeTools::IsTypeOf ( const char *  type)
static
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
virtual vtkObjectBase* vtkFreeTypeTools::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkObject.

Reimplemented in vtkFontConfigFreeTypeTools.

vtkFreeTypeTools* vtkFreeTypeTools::NewInstance ( ) const
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.

virtual void vtkFreeTypeTools::SetDebugTextures ( bool  )
virtual

If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.

virtual bool vtkFreeTypeTools::GetDebugTextures ( )
virtual

If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.

virtual void vtkFreeTypeTools::DebugTexturesOn ( )
virtual

If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.

virtual void vtkFreeTypeTools::DebugTexturesOff ( )
virtual

If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.

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  dpi,
int  bbox[4] 
)

Given a text property and a string, get the bounding box {xmin, xmax, ymin, ymax} of the rendered string in pixels. The origin of the bounding box is the anchor point described by the horizontal and vertical justification text property variables. Returns true on success, false otherwise.

See also
GetMetrics
bool vtkFreeTypeTools::GetBoundingBox ( vtkTextProperty tprop,
const vtkUnicodeString str,
int  dpi,
int  bbox[4] 
)

Given a text property and a string, get the bounding box {xmin, xmax, ymin, ymax} of the rendered string in pixels. The origin of the bounding box is the anchor point described by the horizontal and vertical justification text property variables. Returns true on success, false otherwise.

See also
GetMetrics
bool vtkFreeTypeTools::GetMetrics ( vtkTextProperty tprop,
const vtkStdString str,
int  dpi,
vtkTextRenderer::Metrics metrics 
)

Given a text property and a string, get the metrics of the rendered string. Returns true on success, false otherwise.

bool vtkFreeTypeTools::GetMetrics ( vtkTextProperty tprop,
const vtkUnicodeString str,
int  dpi,
vtkTextRenderer::Metrics metrics 
)

Given a text property and a string, get the metrics of the rendered string. Returns true on success, false otherwise.

bool vtkFreeTypeTools::RenderString ( vtkTextProperty tprop,
const vtkStdString str,
int  dpi,
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. The origin of the image's extents is aligned with the anchor point described by the text property's vertical and horizontal justification options.

bool vtkFreeTypeTools::RenderString ( vtkTextProperty tprop,
const vtkUnicodeString str,
int  dpi,
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. The origin of the image's extents is aligned with the anchor point described by the text property's vertical and horizontal justification options.

bool vtkFreeTypeTools::StringToPath ( vtkTextProperty tprop,
const vtkStdString str,
int  dpi,
vtkPath path 
)

Given a text property and a string, this function populates the vtkPath path with the outline of the rendered string. The origin of the path coordinates is aligned with the anchor point described by the text property's horizontal and vertical justification options.

bool vtkFreeTypeTools::StringToPath ( vtkTextProperty tprop,
const vtkUnicodeString str,
int  dpi,
vtkPath path 
)

Given a text property and a string, this function populates the vtkPath path with the outline of the rendered string. The origin of the path coordinates is aligned with the anchor point described by the text property's horizontal and vertical justification options.

int vtkFreeTypeTools::GetConstrainedFontSize ( const vtkStdString str,
vtkTextProperty tprop,
int  dpi,
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  dpi,
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,
size_t *  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 ( size_t  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 ( )
protectedvirtual

Create the FreeType Cache manager instance and set this->CacheManager

Reimplemented in vtkFontConfigFreeTypeTools.

bool vtkFreeTypeTools::PrepareMetaData ( vtkTextProperty tprop,
int  dpi,
MetaData &  metaData 
)
protected
bool vtkFreeTypeTools::PrepareImageMetaData ( vtkTextProperty tprop,
vtkImageData image,
ImageMetaData &  metaData 
)
protected
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

void vtkFreeTypeTools::RenderBackground ( vtkTextProperty tprop,
vtkImageData image,
ImageMetaData &  metaData 
)
protected

Draw the background quad on the image.

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 ( size_t  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::GetSize ( FTC_Scaler  scaler,
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 ( size_t  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 ( size_t  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 ( size_t  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::GetGlyph ( FTC_Scaler  scaler,
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,
size_t &  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,
size_t  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_Bitmap* vtkFreeTypeTools::GetBitmap ( FT_UInt32  c,
FTC_Scaler  scaler,
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,
size_t  prop_cache_id,
int  prop_font_size,
FT_UInt &  gindex,
FT_OutlineGlyph &  outline_glyph 
)
protected

Attempt to get the outline for the specified character.

FT_Outline* vtkFreeTypeTools::GetOutline ( FT_UInt32  c,
FTC_Scaler  scaler,
FT_UInt &  gindex,
FT_OutlineGlyph &  outline_glyph 
)
protected

Attempt to get the outline for the specified character.

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

Member Data Documentation

bool vtkFreeTypeTools::ScaleToPowerTwo
protected

Should the image be scaled to the next highest power of 2?

Definition at line 277 of file vtkFreeTypeTools.h.

vtkFreeTypeTools* vtkFreeTypeTools::Instance
staticprotected

The singleton instance and the singleton cleanup instance

Definition at line 308 of file vtkFreeTypeTools.h.

vtkFreeTypeToolsCleanup vtkFreeTypeTools::Cleanup
staticprotected

The singleton instance and the singleton cleanup instance

Definition at line 309 of file vtkFreeTypeTools.h.

vtkTextPropertyLookup* vtkFreeTypeTools::TextPropertyLookup
protected

Lookup table that maps free type font cache face ids to vtkTextProperties

Definition at line 314 of file vtkFreeTypeTools.h.

FTC_Manager* vtkFreeTypeTools::CacheManager
protected

The cache manager, image cache and charmap cache

Definition at line 318 of file vtkFreeTypeTools.h.

FTC_ImageCache* vtkFreeTypeTools::ImageCache
protected

The cache manager, image cache and charmap cache

Definition at line 319 of file vtkFreeTypeTools.h.

FTC_CMapCache* vtkFreeTypeTools::CMapCache
protected

The cache manager, image cache and charmap cache

Definition at line 320 of file vtkFreeTypeTools.h.

unsigned int vtkFreeTypeTools::MaximumNumberOfFaces
protected

Definition at line 330 of file vtkFreeTypeTools.h.

unsigned int vtkFreeTypeTools::MaximumNumberOfSizes
protected

Definition at line 331 of file vtkFreeTypeTools.h.

unsigned long vtkFreeTypeTools::MaximumNumberOfBytes
protected

Definition at line 332 of file vtkFreeTypeTools.h.

bool vtkFreeTypeTools::ForceCompiledFonts
protected

Definition at line 334 of file vtkFreeTypeTools.h.

bool vtkFreeTypeTools::DebugTextures
protected

Definition at line 335 of file vtkFreeTypeTools.h.


The documentation for this class was generated from the following file: