VTK
9.1.0
|
FreeType library support. More...
#include <vtkFreeTypeTools.h>
Classes | |
struct | FaceMetrics |
struct | GlyphOutline |
Public Types | |
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. | |
vtkFreeTypeTools * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
FT_Library * | GetLibrary () |
Get the FreeType library singleton. | |
FaceMetrics | GetFaceMetrics (vtkTextProperty *tprop) |
Return some metrics about a font face. | |
GlyphOutline | GetUnscaledGlyphOutline (vtkTextProperty *tprop, vtkUnicodeStringValueType charId) |
Return a generic outline of a glyph with some additional metadata. | |
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. | |
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. | |
virtual bool | GetDebugTextures () |
If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow. | |
virtual void | DebugTexturesOn () |
If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow. | |
virtual void | DebugTexturesOff () |
If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow. | |
virtual void | SetMaximumNumberOfFaces (unsigned int) |
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. | |
virtual unsigned int | GetMaximumNumberOfFaces () |
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. | |
virtual void | SetMaximumNumberOfSizes (unsigned int) |
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. | |
virtual unsigned int | GetMaximumNumberOfSizes () |
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. | |
virtual void | SetMaximumNumberOfBytes (unsigned long) |
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. | |
virtual unsigned long | GetMaximumNumberOfBytes () |
Set/Get the maximum number of faces (FT_Face), sizes (FT_Size) and bytes used by the cache. | |
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. | |
bool | 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. | |
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. | |
bool | 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. | |
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. | |
bool | RenderString (vtkTextProperty *tprop, const vtkUnicodeString &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. | |
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. | |
bool | 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. | |
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. | |
int | 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. | |
void | MapTextPropertyToId (vtkTextProperty *tprop, size_t *tprop_cache_id) |
Given a text property 'tprop', get its unique ID in our cache framework. | |
void | MapIdToTextProperty (size_t tprop_cache_id, vtkTextProperty *tprop) |
Given a text property 'tprop', get its unique ID in our cache framework. | |
virtual void | SetScaleToPowerTwo (bool) |
Set whether the image produced should be scaled up to the nearest power of. | |
virtual bool | GetScaleToPowerTwo () |
Set whether the image produced should be scaled up to the nearest power of. | |
virtual void | ScaleToPowerTwoOn () |
Set whether the image produced should be scaled up to the nearest power of. | |
virtual void | ScaleToPowerTwoOff () |
Set whether the image produced should be scaled up to the nearest power of. | |
virtual void | SetForceCompiledFonts (bool) |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. | |
virtual bool | GetForceCompiledFonts () |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. | |
virtual void | ForceCompiledFontsOn () |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. | |
virtual void | ForceCompiledFontsOff () |
Force use of the fonts compiled into VTK, ignoring any FontConfig or embedded fonts. | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
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) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
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. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
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. | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkFreeTypeTools * | SafeDownCast (vtkObjectBase *o) |
static vtkFreeTypeTools * | GetInstance () |
Return the singleton instance with no reference counting. | |
static void | SetInstance (vtkFreeTypeTools *instance) |
Supply a user defined instance. | |
static vtkTypeUInt16 | HashString (const char *str) |
Turn a string into a hash. | |
static vtkTypeUInt32 | HashBuffer (const void *buffer, size_t n, vtkTypeUInt32 hash=0) |
Hash a buffer of a given length. | |
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. | |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
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. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
virtual FT_Error | CreateFTCManager () |
Create the FreeType Cache manager instance and set this->CacheManager. | |
void | PrepareImageData (vtkImageData *data, int bbox[4]) |
This function initializes the extent of the ImageData to eventually receive the text stored in str. | |
void | RenderBackground (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData) |
Draw the background quad on the image. | |
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). | |
bool | GetFace (vtkTextProperty *tprop, FT_Face *face) |
Given a text property, get the corresponding FreeType face. | |
bool | GetGlyphIndex (vtkTextProperty *tprop, FT_UInt32 c, FT_UInt *gindex) |
Given a text property and a character, get the corresponding FreeType glyph index. | |
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. | |
void | InitializeCacheManager () |
void | ReleaseCacheManager () |
bool | PrepareMetaData (vtkTextProperty *tprop, int dpi, MetaData &metaData) |
bool | PrepareImageMetaData (vtkTextProperty *tprop, vtkImageData *image, ImageMetaData &metaData) |
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. | |
FT_Bitmap * | GetBitmap (FT_UInt32 c, FTC_Scaler scaler, FT_UInt &gindex, FT_BitmapGlyph &bitmap_glyph) |
Now attempt to get the bitmap for the specified character. | |
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. | |
FT_Outline * | GetOutline (FT_UInt32 c, FTC_Scaler scaler, FT_UInt &gindex, FT_OutlineGlyph &outline_glyph) |
Attempt to get the outline for the specified character. | |
FTC_Manager * | GetCacheManager () |
Get the FreeType cache manager, image cache and charmap cache. | |
FTC_ImageCache * | GetImageCache () |
Get the FreeType cache manager, image cache and charmap cache. | |
FTC_CMapCache * | GetCMapCache () |
Get the FreeType cache manager, image cache and charmap cache. | |
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. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
bool | ScaleToPowerTwo |
Should the image be scaled to the next highest power of 2? | |
vtkTextPropertyLookup * | TextPropertyLookup |
Lookup table that maps free type font cache face ids to vtkTextProperties. | |
FT_Library * | Library |
FreeType library instance. | |
unsigned int | MaximumNumberOfFaces |
unsigned int | MaximumNumberOfSizes |
unsigned long | MaximumNumberOfBytes |
bool | ForceCompiledFonts |
bool | DebugTextures |
FTC_Manager * | CacheManager |
The cache manager, image cache and charmap cache. | |
FTC_ImageCache * | ImageCache |
The cache manager, image cache and charmap cache. | |
FTC_CMapCache * | CMapCache |
The cache manager, image cache and charmap cache. | |
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 | |
static vtkFreeTypeTools * | Instance |
The singleton instance. | |
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... | |
bool | GetGlyph (vtkTextProperty *tprop, FT_UInt32 c, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
Given a text property and a character, get the corresponding FreeType glyph. | |
bool | GetSize (size_t tprop_cache_id, int font_size, FT_Size *size) |
Given a text property and a character, get the corresponding FreeType glyph. | |
bool | GetSize (FTC_Scaler scaler, FT_Size *size) |
Given a text property and a character, get the corresponding FreeType glyph. | |
bool | GetFace (size_t tprop_cache_id, FT_Face *face) |
Given a text property and a character, get the corresponding FreeType glyph. | |
bool | GetGlyphIndex (size_t tprop_cache_id, FT_UInt32 c, FT_UInt *gindex) |
Given a text property and a character, get the corresponding FreeType glyph. | |
bool | GetGlyph (size_t tprop_cache_id, int font_size, FT_UInt gindex, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
Given a text property and a character, get the corresponding FreeType glyph. | |
bool | GetGlyph (FTC_Scaler scaler, FT_UInt gindex, FT_Glyph *glyph, int request=GLYPH_REQUEST_DEFAULT) |
Given a text property and a character, get the corresponding FreeType glyph. | |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
FreeType library support.
vtkFreeTypeTools provides a low-level interface to the FreeType2 library, including font-cache and rasterization.
Definition at line 107 of file vtkFreeTypeTools.h.
Definition at line 128 of file vtkFreeTypeTools.h.
|
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 390 of file vtkFreeTypeTools.h.
|
protected |
|
overrideprotected |
|
static |
|
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 vtkObjectBase.
Reimplemented in vtkFontConfigFreeTypeTools.
|
static |
|
protectedvirtual |
Reimplemented in vtkFontConfigFreeTypeTools.
vtkFreeTypeTools * vtkFreeTypeTools::NewInstance | ( | ) | const |
|
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 vtkObject.
Reimplemented in vtkFontConfigFreeTypeTools.
|
static |
Return the singleton instance with no reference counting.
|
static |
Supply a user defined instance.
Call Delete() on the supplied instance after setting it to fix the reference count.
|
virtual |
If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.
|
virtual |
If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.
|
virtual |
If true, images produced by RenderString will have a transparent grey background and set the justification anchor texel to bright yellow.
|
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.
FaceMetrics vtkFreeTypeTools::GetFaceMetrics | ( | vtkTextProperty * | tprop | ) |
Return some metrics about a font face.
The information is generic and not tied to a single font size, but describes a scalable font defined on the EM square.
GlyphOutline vtkFreeTypeTools::GetUnscaledGlyphOutline | ( | vtkTextProperty * | tprop, |
vtkUnicodeStringValueType | charId | ||
) |
Return a generic outline of a glyph with some additional metadata.
The information is generic and not tied to a single font size, but describes a scalable font defined on the EM square.
std::array< int, 2 > vtkFreeTypeTools::GetUnscaledKerning | ( | vtkTextProperty * | tprop, |
vtkUnicodeStringValueType | leftChar, | ||
vtkUnicodeStringValueType | rightChar | ||
) |
Return a 2D vector detailing the unscaled kerning offset for a pair of characters.
If tprop's font size is 0, the information will be generic and not tied to a single font size, but describe a scalable font defined on the EM square.
|
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 |
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 |
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 |
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 |
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 |
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.
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.
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] = nullptr |
||
) |
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] = nullptr |
||
) |
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 |
Turn a string into a hash.
This is not a general purpose hash function, and is only used to generate identifiers for cached fonts.
|
static |
Hash a buffer of a given length.
This function hashes n bytes and does not depend on a terminating null character.
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 |
Set whether the image produced should be scaled up to the nearest power of.
|
virtual |
Set whether the image produced should be scaled up to the nearest power of.
|
virtual |
Set whether the image produced should be scaled up to the nearest power of.
|
virtual |
Set whether the image produced should be scaled up to the nearest power of.
|
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 |
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 |
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 |
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 |
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.
|
protectedvirtual |
Create the FreeType Cache manager instance and set this->CacheManager.
Reimplemented in vtkFontConfigFreeTypeTools.
|
protected |
|
protected |
|
protected |
This function initializes the extent of the ImageData to eventually receive the text stored in str.
|
protected |
Draw the background quad on the image.
|
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.
|
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
|
protected |
Given a text property and a character, get the corresponding FreeType glyph index.
Return true on success, false otherwise
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
protected |
Attempt to get the typeface of the specified font.
|
protected |
Now attempt to get the bitmap for the specified character.
|
protected |
Now attempt to get the bitmap for the specified character.
|
protected |
Attempt to get the outline for the specified character.
|
protected |
Attempt to get the outline for the specified character.
|
protected |
Get the FreeType cache manager, image cache and charmap cache.
|
protected |
Get the FreeType cache manager, image cache and charmap cache.
|
protected |
Get the FreeType cache manager, image cache and charmap cache.
|
protected |
|
protected |
|
protected |
Should the image be scaled to the next highest power of 2?
Definition at line 411 of file vtkFreeTypeTools.h.
|
staticprotected |
The singleton instance.
Definition at line 444 of file vtkFreeTypeTools.h.
|
protected |
Lookup table that maps free type font cache face ids to vtkTextProperties.
Definition at line 449 of file vtkFreeTypeTools.h.
|
protected |
FreeType library instance.
Definition at line 454 of file vtkFreeTypeTools.h.
|
protected |
The cache manager, image cache and charmap cache.
Definition at line 460 of file vtkFreeTypeTools.h.
|
protected |
The cache manager, image cache and charmap cache.
Definition at line 461 of file vtkFreeTypeTools.h.
|
protected |
The cache manager, image cache and charmap cache.
Definition at line 462 of file vtkFreeTypeTools.h.
|
protected |
Definition at line 474 of file vtkFreeTypeTools.h.
|
protected |
Definition at line 475 of file vtkFreeTypeTools.h.
|
protected |
Definition at line 476 of file vtkFreeTypeTools.h.
|
protected |
Definition at line 478 of file vtkFreeTypeTools.h.
|
protected |
Definition at line 479 of file vtkFreeTypeTools.h.