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

Subclass of vtkFreeTypeTools that uses system installed fonts. More...

#include <vtkFontConfigFreeTypeTools.h>

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

Public Types

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

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkFontConfigFreeTypeToolsNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
- Public Member Functions inherited from vtkFreeTypeTools
vtkFreeTypeToolsNewInstance () const
 
virtual void SetDebugTextures (bool)
 If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow. More...
 
virtual bool GetDebugTextures ()
 
virtual void DebugTexturesOn ()
 
virtual void DebugTexturesOff ()
 
FT_Library * GetLibrary ()
 Get the FreeType library singleton. More...
 
FaceMetrics GetFaceMetrics (vtkTextProperty *tprop)
 Return some metrics about a font face. More...
 
GlyphOutline GetUnscaledGlyphOutline (vtkTextProperty *tprop, vtkUnicodeStringValueType charId)
 Return a generic outline of a glyph with some additional metadata. More...
 
std::array< int, 2 > GetUnscaledKerning (vtkTextProperty *tprop, vtkUnicodeStringValueType leftChar, vtkUnicodeStringValueType rightChar)
 Return a 2D vector detailing the unscaled kerning offset for a pair of characters. More...
 
virtual void SetMaximumNumberOfFaces (unsigned int)
 Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. More...
 
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])
 Given a text property and a string, get the bounding box {xmin, xmax, ymin, ymax} of the rendered string in pixels. More...
 
bool GetBoundingBox (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, int bbox[4])
 
bool 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. More...
 
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]=nullptr)
 Given a text property and a string, this function initializes the vtkImageData *data and renders it in a vtkImageData. More...
 
bool RenderString (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, vtkImageData *data, int textDims[2]=nullptr)
 
bool 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. More...
 
bool StringToPath (vtkTextProperty *tprop, const vtkUnicodeString &str, int dpi, vtkPath *path)
 
int 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. More...
 
int GetConstrainedFontSize (const vtkUnicodeString &str, vtkTextProperty *tprop, int dpi, int targetWidth, int targetHeight)
 
void MapTextPropertyToId (vtkTextProperty *tprop, size_t *tprop_cache_id)
 Given a text property 'tprop', get its unique ID in our cache framework. More...
 
void MapIdToTextProperty (size_t tprop_cache_id, vtkTextProperty *tprop)
 
virtual void SetScaleToPowerTwo (bool)
 Set whether the image produced should be scaled up to the nearest power of. More...
 
virtual bool GetScaleToPowerTwo ()
 
virtual void ScaleToPowerTwoOn ()
 
virtual void ScaleToPowerTwoOff ()
 
virtual void SetForceCompiledFonts (bool)
 Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. More...
 
virtual bool GetForceCompiledFonts ()
 
virtual void ForceCompiledFontsOn ()
 
virtual void ForceCompiledFontsOff ()
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
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 *)
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
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)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
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
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkFontConfigFreeTypeToolsSafeDownCast (vtkObjectBase *o)
 
static vtkFontConfigFreeTypeToolsNew ()
 Creates a new object of this type, but it is not preferred to use this method directly. More...
 
static bool LookupFaceFontConfig (vtkTextProperty *tprop, FT_Library lib, FT_Face *face)
 Modified version of vtkFreeTypeTools::LookupFace that locates FontConfig faces. More...
 
- Static Public Member Functions inherited from vtkFreeTypeTools
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkFreeTypeToolsSafeDownCast (vtkObjectBase *o)
 
static vtkFreeTypeToolsGetInstance ()
 Return the singleton instance with no reference counting. More...
 
static void SetInstance (vtkFreeTypeTools *instance)
 Supply a user defined instance. More...
 
static vtkTypeUInt16 HashString (const char *str)
 Turn a string into a hash. More...
 
static vtkTypeUInt32 HashBuffer (const void *str, size_t n, vtkTypeUInt32 hash=0)
 Hash a string of a given length. More...
 
static bool LookupFace (vtkTextProperty *tprop, FT_Library lib, FT_Face *face)
 Lookup and set the FreeType font face face best matching the text property tprop using the compiled Arial, Times, and Courier fonts. More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkFontConfigFreeTypeTools ()
 
 ~vtkFontConfigFreeTypeTools () override
 
FT_Error CreateFTCManager () override
 Reimplemented from Superclass to use the FontConfig face lookup callback. More...
 
- Protected Member Functions inherited from vtkFreeTypeTools
bool PrepareMetaData (vtkTextProperty *tprop, int dpi, MetaData &metaData)
 
bool PrepareImageMetaData (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData)
 
void PrepareImageData (vtkImageData *data, int bbox[4])
 This function initializes the extent of the ImageData to eventually receive the text stored in str. More...
 
void RenderBackground (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData)
 Draw the background quad on the image. More...
 
bool 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). More...
 
bool GetFace (vtkTextProperty *tprop, FT_Face *face)
 Given a text property, get the corresponding FreeType face. More...
 
bool GetGlyphIndex (vtkTextProperty *tprop, FT_UInt32 c, FT_UInt *gindex)
 Given a text property and a character, get the corresponding FreeType glyph index. More...
 
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)
 
 vtkFreeTypeTools ()
 
 ~vtkFreeTypeTools () override
 
bool GetFace (vtkTextProperty *prop, size_t &prop_cache_id, FT_Face &face, bool &face_has_kerning)
 Attempt to get the typeface of the specified font. More...
 
FT_Bitmap * GetBitmap (FT_UInt32 c, size_t prop_cache_id, int prop_font_size, FT_UInt &gindex, FT_BitmapGlyph &bitmap_glyph)
 Now attempt to get the bitmap for the specified character. More...
 
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)
 Attempt to get the outline for the specified character. More...
 
FT_Outline * GetOutline (FT_UInt32 c, FTC_Scaler scaler, FT_UInt &gindex, FT_OutlineGlyph &outline_glyph)
 
FTC_Manager * GetCacheManager ()
 Get the FreeType cache manager, image cache and charmap cache. More...
 
FTC_ImageCache * GetImageCache ()
 
FTC_CMapCache * GetCMapCache ()
 
void InitializeCacheManager ()
 
void ReleaseCacheManager ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
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 &)
 

Additional Inherited Members

- Protected Types inherited from vtkFreeTypeTools
enum  { GLYPH_REQUEST_DEFAULT = 0, GLYPH_REQUEST_BITMAP = 1, GLYPH_REQUEST_OUTLINE = 2 }
 Given a text property and a character, get the corresponding FreeType glyph. More...
 
- Protected Attributes inherited from vtkFreeTypeTools
bool ScaleToPowerTwo
 Should the image be scaled to the next highest power of 2? More...
 
vtkTextPropertyLookup * TextPropertyLookup
 Lookup table that maps free type font cache face ids to vtkTextProperties. More...
 
FT_Library * Library
 FreeType library instance. More...
 
FTC_Manager * CacheManager
 The cache manager, image cache and charmap cache. More...
 
FTC_ImageCache * ImageCache
 
FTC_CMapCache * CMapCache
 
unsigned int MaximumNumberOfFaces
 
unsigned int MaximumNumberOfSizes
 
unsigned long MaximumNumberOfBytes
 
bool ForceCompiledFonts
 
bool DebugTextures
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
- Static Protected Attributes inherited from vtkFreeTypeTools
static vtkFreeTypeToolsInstance
 The singleton instance. More...
 

Detailed Description

Subclass of vtkFreeTypeTools that uses system installed fonts.

vtkFontConfigFreeTypeTools defers to vtkFreeTypeTools for rendering and rasterization, but sources fonts from a FontConfig system lookup. If the lookup fails, the compiled fonts of vtkFreeType are used instead.

Warning
Do not instantiate this class directly. Rather, call vtkFreeTypeTools::GetInstance() to ensure that the singleton design is correctly applied. Be aware that FontConfig lookup is disabled by default. To enable, call vtkFreeTypeTools::GetInstance()->ForceCompiledFontsOff();

Definition at line 40 of file vtkFontConfigFreeTypeTools.h.

Member Typedef Documentation

◆ Superclass

Definition at line 43 of file vtkFontConfigFreeTypeTools.h.

Constructor & Destructor Documentation

◆ vtkFontConfigFreeTypeTools()

vtkFontConfigFreeTypeTools::vtkFontConfigFreeTypeTools ( )
protected

◆ ~vtkFontConfigFreeTypeTools()

vtkFontConfigFreeTypeTools::~vtkFontConfigFreeTypeTools ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkFontConfigFreeTypeTools::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkFontConfigFreeTypeTools::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 vtkFreeTypeTools.

◆ SafeDownCast()

static vtkFontConfigFreeTypeTools* vtkFontConfigFreeTypeTools::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkFontConfigFreeTypeTools::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkFreeTypeTools.

◆ NewInstance()

vtkFontConfigFreeTypeTools* vtkFontConfigFreeTypeTools::NewInstance ( ) const

◆ PrintSelf()

void vtkFontConfigFreeTypeTools::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

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 vtkFreeTypeTools.

◆ New()

static vtkFontConfigFreeTypeTools* vtkFontConfigFreeTypeTools::New ( )
static

Creates a new object of this type, but it is not preferred to use this method directly.

Instead, call vtkFreeTypeTools::GetInstance() and let the object factory create a new instance. In this way the singleton pattern of vtkFreeTypeTools is preserved.

◆ LookupFaceFontConfig()

static bool vtkFontConfigFreeTypeTools::LookupFaceFontConfig ( vtkTextProperty tprop,
FT_Library  lib,
FT_Face *  face 
)
static

Modified version of vtkFreeTypeTools::LookupFace that locates FontConfig faces.

Falls back to the Superclass method for compiled fonts if the FontConfig lookup fails.

◆ CreateFTCManager()

FT_Error vtkFontConfigFreeTypeTools::CreateFTCManager ( )
overrideprotectedvirtual

Reimplemented from Superclass to use the FontConfig face lookup callback.

Reimplemented from vtkFreeTypeTools.


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