Finale PDK Framework 0.77
Power Up Your Finale Music Software
|
A class that fetches the metrics for text (for how Finale will render it), such as the boundary boxes and the advance width. More...
#include <ff_base.h>
Public Member Functions | |
FCTextMetrics () | |
The constructor. Defaults to unloaded. Metrics must be loaded with LoadString, LoadSymbol, or LoadArticulation. | |
bool | LoadString (const FCString *pText, const FCFontInfo *pFont, float percent) |
Loads the metrics for the string and font. | |
bool | LoadSymbol (eUniChar16 symbolchar, FCFontInfo *pFont, float percent) |
Loads the text metrics for a specific character in a font. | |
bool | LoadArticulation (FCArticulationDef *pArticDef, bool flipped, float percent) |
Loads the metrics for a specific articulation glyph. | |
void | CopyFrom (FCTextMetrics *pTextMetrics) |
Copies all metrics data from another object. | |
double | GetAdvanceWidthPoints () const |
Returns the advance width of the string (the pen position before and after printing the string), in fractional Points measurements. | |
double | GetLeftPoints () const |
Returns the left side of the bounding box, in fractional Points measurements. | |
double | GetRightPoints () const |
Returns the right side of the bounding box, in fractional Points measurements. | |
double | GetTopPoints () const |
Returns the top side of the bounding box, in fractional Points measurements. | |
double | GetBottomPoints () const |
Returns the bottom side of the bounding box, in fractional Points measurements. | |
double | GetAdvanceWidthEVPUs () const |
Returns the advance width of the string (the pen position before and after printing the string), in fractional EVPUs. | |
double | GetLeftEVPUs () const |
Returns the left side of the bounding box, in fractional EVPUs. | |
double | GetRightEVPUs () const |
Returns the right side of the bounding box, in fractional EVPUs. | |
double | GetTopEVPUs () const |
Returns the top side of the bounding box, in fractional EVPUs. | |
double | GetBottomEVPUs () const |
Returns the bottom side of the bounding box, in fractional EVPUs. | |
double | CalcHeightPoints () |
Returns the width of the bounding box, in fractional Points. | |
double | CalcWidthPoints () |
Returns the width of the bounding box, in fractional Points. | |
double | CalcHeightEVPUs () |
Returns the width of the bounding box, in fractional EVPUs. | |
double | CalcWidthEVPUs () |
Returns the width of the bounding box, in fractional EVPUs. | |
const char * | ClassName () const override |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. | |
void | DebugDump () override |
Outputs the class data/information for debugging purposes. | |
Public Member Functions inherited from __FCBase | |
virtual const PDKFRAMEWORK_CLASSID | GetClassID () const |
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has problems to resolve the true classes of inherited objects. | |
virtual | ~__FCBase () |
Virtual destructor, so all inherited classes get the virtual destructor. | |
void | DebugMsgInt (const char *pszPrefixText, int i) |
Creates a simple Message Box for debug purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. | |
void | DebugMsgHex (const char *pszPrefixText, int i) |
Creates a simple Message Box for debug purposes. The text appears with the extra digit (as a hexadecimal number) appearing afterwards. | |
void | DebugMsgString (const char *pszPrefixText, const char *thestring) |
Creates a simple Message Box for debug purposes. The text appears with the extra string appearing afterwards. | |
void | DebugMsg (const char *pszMsg) |
Creates a simple Message Box for debug purposes with just one text string. | |
void | DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const |
Outputs the menu command info for debugging purposes. | |
int | DebugOutFormat (const char *fmt,...) |
Outputs debug text using C style "printf" syntax. | |
virtual void | DebugDataDump () |
Outputs a memory dump of the data block in the object for debugging purposes. | |
virtual void | DebugDataByteArrayDump () |
Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. | |
void | Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state) |
Sets a 16 bit flag. | |
void | Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state) |
Sets/resets a 32 bit flag, by using a bit mask. | |
bool | GetBitFlag (FLAG_32 flag, FLAG_32 flagbits) const |
Gets a state from flag bits. Returns true if any bit in the mask is set. | |
int | GetBitCount (FLAG_32 flag) |
Returns the total number of set bits in a 32-bit unsigned int. | |
void | SetSpecific32Bit (FLAG_32 *flag, int bitnumber, bool state) |
Sets/resets a single bit in a 32 bit flag, by specifying one specific bit. | |
void | SetUserData (void *pData) |
Sets the user data attached to the instance of an object. | |
void | SetUserData2 (void *pData) |
Sets the additional user data attached to the instance of an object. | |
void * | GetUserData () const |
Gets the user data attached to the instance of an object. | |
void * | GetUserData2 () const |
Gets the additional user data attached to the instance of an object. | |
virtual bool | IsIdentical (const __FCBase *pCompareObject) const |
Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. | |
void | StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file. | |
void | StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value) |
Helper function to store integer objects in the XML file. | |
void | StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value) |
Helper function to store boolean objects in the XML file. | |
void | StoreXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file, as an attribute to a node. | |
void | StoreXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int value) |
Helper function to store integer objects in the XML file, as an attribute to a node. | |
void | StoreXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool value) |
Helper function to store boolean objects in the XML file, as an attribute to a node. | |
void | StoreXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float value) |
Helper function to store floating point objects in the XML file, as an attribute to a node. | |
virtual void | StoreToXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to store an object's data. | |
bool | ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file. | |
bool | ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue) |
Helper method to read integer objects from the XML file. | |
bool | ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue) |
Helper method to read boolean objects from the XML file. | |
bool | ReadXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file, as an attribute to a node. | |
bool | ReadXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int *pValue) |
Helper method to read integer objects from the XML file, as an attribute to a node. | |
bool | ReadXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool *pValue) |
Helper method to read boolean objects from the XML file, as an attribute to a node. | |
bool | ReadXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float *pValue) |
Helper method to read floating point objects from the XML file, as an attribute to a node. | |
virtual bool | ReadFromXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to read object data. | |
Additional Inherited Members | |
Public Types inherited from __FCBase | |
enum | PDKFRAMEWORK_CLASSID { FCID_UNKNOWN = 0 , FCID_ACCIDENTALMOD , FCID_ACTIVELYRIC , FCID_ALLOTMENT , FCID_ARTICULATION , FCID_ARTICULATIONDEF , FCID_BACKWARDREPEAT , FCID_BASELINE , FCID_BEAMMOD , FCID_BEATCHARTELEMENT , FCID_BOOKMARK , FCID_BROKENBEAMMOD , FCID_CATEGORYDEF , FCID_CELLCLEFCHANGE , FCID_CELLFRAMEHOLD , FCID_CELLGRAPHIC , FCID_CELLTEXT , FCID_CENTERSMARTSHAPE , FCID_CHORD , FCID_CHORDPREFS , FCID_CHORDSUFFIXELEMENT , FCID_CHORUSSYLLABLE , FCID_CLEFDEF , FCID_COMPOSITETIMESIGBOTTOMELEMENT , FCID_COMPOSITETIMESIGTOPELEMENT , FCID_CROSSSTAFFMOD , FCID_CUSTOMSMARTLINEDEF , FCID_CUSTOMSTEMMOD , FCID_DISTANCEPREFS , FCID_DOTMOD , FCID_ENCLOSURE , FCID_ENDINGREPEAT , FCID_ENIGMATEXTSTYLE , FCID_ENTRYALTERMOD , FCID_EXECUTABLESHAPEDEF , FCID_EXPRESSION , FCID_FONTINFO , FCID_FONTPREFS , FCID_FREEZESYSTEM , FCID_FRETBOARDSTYLEDEF , FCID_FRETBOARDSTYLEDEFS , FCID_FRETBOARDGROUPDEF , FCID_FRETBOARDGROUPDEFS , FCID_FRETINSTRUMENTDEF , FCID_GENERALPREFS , FCID_GRIDSGUIDESPREFS , FCID_GROUP , FCID_GROUPNAMEPOSITIONPREFS , FCID_HUMANPLAYBACKPREFS , FCID_INDEPENDENTCELLDETAIL , FCID_INSTRUMENTDEF , FCID_INSTRUMENTPLAYBACKDATA , FCID_KEYMODEDEF , FCID_KEYSIGNATURE , FCID_LAYERPREFS , FCID_LYRICSBASELINE , FCID_LYRICSPREFS , FCID_MEASURE , FCID_MEASURENUMBERREGION , FCID_METATOOLASSIGNMENT , FCID_MIDIEXPRESSION , FCID_MISCDOCPREFS , FCID_MULTIMEASUREREST , FCID_MULTIMEASURERESTPREFS , FCID_MULTISTAFFINSTRUMENT , FCID_MULTISTAFFINSTRUMENTS , FCID_MUSICCHARACTERPREFS , FCID_MUSICSPACINGPREFS , FCID_NUMBER , FCID_NOTEHEADMOD , FCID_OTHERINCI , FCID_PERCUSSIONLAYOUTNOTE , FCID_PERCUSSIONSTAFF , FCID_PERFORMANCEMOD , FCID_PAGE , FCID_PAGEFORMATPREFS , FCID_PAGEGRAPHIC , FCID_PAGETEXT , FCID_PART , FCID_PARTEXTRACTPREFS , FCID_PARTSCOPEPREFS , FCID_PARTSTAFFVOICING , FCID_PERCUSSIONNOTEMOD , FCID_PIANOBRACEPREFS , FCID_PLAYBACKPREFS , FCID_RAWTEXT , FCID_REPEATPREFS , FCID_SECONDARYBEAMBREAKMOD , FCID_BEAMEXTENSIONMOD , FCID_SECTIONSYLLABLE , FCID_SEPARATEMEASURENUMBER , FCID_SEPARATEPLACEMENT , FCID_SHAPEDEF , FCID_SHAPEEXPRESSIONDEF , FCID_SLURCONTOURPREFS , FCID_SIZEPREFS , FCID_SMARTSHAPE , FCID_SMARTSHAPEENTRYMARK , FCID_SMARTSHAPEMEASUREMARK , FCID_SMARTSHAPEPREFS , FCID_STAFF , FCID_STAFFLIST , FCID_STAFFNAMEPOSITION , FCID_STAFFNAMEPOSITIONPREFS , FCID_STAFFSTYLEASSIGN , FCID_STAFFSTYLEDEF , FCID_STAFFSYSTEM , FCID_STEMCONNECTIONTABLE , FCID_STEMMOD , FCID_STRING , FCID_SYLLABLEENTRYMOD , FCID_SYSTEMSTAFF , FCID_TABLATURENOTEMOD , FCID_TEMPOELEMENT , FCID_TEXTBLOCK , FCID_TEXTEXPRESSIONDEF , FCID_TEXTREPEAT , FCID_TEXTREPEATDEF , FCID_TIEMOD , FCID_TIEPREFS , FCID_TIECONTOURPREFS , FCID_TIEPLACEMENTPREFS , FCID_TIMESIGNATURE , FCID_TUPLET , FCID_TUPLETPREFS , FCID_VERSESYLLABLE } |
Constants for the GetClassID method. More... | |
enum | MEASUREMENTUNITS { MEASUREMENTUNIT_DEFAULT = UNIT_DEFAULT , MEASUREMENTUNIT_EVPUS = UNIT_EVPUS , MEASUREMENTUNIT_INCHES = UNIT_INCHES , MEASUREMENTUNIT_CENTIMETERS = UNIT_CENTS , MEASUREMENTUNIT_POINTS = UNIT_POINTS , MEASUREMENTUNIT_PICAS = UNIT_PICAS , MEASUREMENTUNIT_SPACES = UNIT_SPACES , MEASUREMENTUNIT_MILLIMETERS = 100 } |
Constants for Finale's standard measurement units. More... | |
Static Public Member Functions inherited from __FCBase | |
static void | DebugOutPtr (const char *pszPrefixText, void *ptr) |
Static method that outputs a line for debugging purposes. The prefix text appears with the extra ptr (in hexadeximal representation) appearing afterwards. | |
static void | DebugOutInt (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. | |
static void | DebugOutFloat (const char *pszPrefixText, double f) |
Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. | |
static void | DebugOutTag (const char *pszPrefixText, EXTAG extag) |
Static method that outputs a line for debugging purposes. The text appears with the EXTAG (in text) appearing afterwards. | |
static void | DebugOutHex (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in hexadecimal presentation) appearing afterwards. | |
static void | DebugOutBin (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in binary presentation) appearing afterwards. | |
static void | DebugOutString (const char *pszPrefixText, const char *thestring) |
Static method that outputs a line for debugging purposes (C string version). The text appears with the extra string appearing afterwards. | |
static void | DebugOutString (const char *pszPrefixText, FCString *pString) |
Static method that outputs a line for debugging purposes (FCString version). The text appears with the extra string appearing afterwards. | |
static void | DebugOutBool (const char *pszPrefixText, bool state) |
Static method that outputs a line for debugging purposes. The boolean state appears afterwards as either "TRUE" or "FALSE". | |
static void | DebugOutBlock (const void *pBuffer, int startoffset, int size) |
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) until the whole memory block is dumped. | |
static void | DebugOutByteArrayBlock (const void *pBuffer, int startoffset, int size) |
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) as a C++ onebyte array, until the whole memory block is dumped. | |
static void | DebugOut (const char *pszLine) |
Static method to output a line of text for debugging purposes. | |
Protected Member Functions inherited from __FCBase | |
__FCBase () | |
The constructor. | |
A class that fetches the metrics for text (for how Finale will render it), such as the boundary boxes and the advance width.
Metrics can be obtained with the LoadString(), LoadSymbol() or LoadArticulation() methods.
This class only works on Finale 25 and above.
|
inline |
The constructor. Defaults to unloaded. Metrics must be loaded with LoadString, LoadSymbol, or LoadArticulation.
Lua-supported.
|
inline |
Returns the width of the bounding box, in fractional EVPUs.
Lua-supported.
|
inline |
Returns the width of the bounding box, in fractional Points.
Lua-supported.
|
inline |
Returns the width of the bounding box, in fractional EVPUs.
Lua-supported.
|
inline |
Returns the width of the bounding box, in fractional Points.
Lua-supported.
|
inlineoverridevirtual |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
Lua-supported.
Implements __FCBase.
void FCTextMetrics::CopyFrom | ( | FCTextMetrics * | pTextMetrics | ) |
Copies all metrics data from another object.
Lua-supported.
pTextMetrics | Pointer to the source object to be copied. |
|
inlineoverridevirtual |
Outputs the class data/information for debugging purposes.
Accessible if PDK_FRAMEWORK_DEBUG is defined.
When child class inherit this method to output the contents of its own members, it should call the parent before providing its own output.
Reimplemented from __FCBase.
|
inline |
Returns the advance width of the string (the pen position before and after printing the string), in fractional EVPUs.
Lua-supported (also as a read-only property).
|
inline |
Returns the advance width of the string (the pen position before and after printing the string), in fractional Points measurements.
This width is not the same as the left-right difference of the bounding box.
Lua-supported (also as a read-only property).
|
inline |
Returns the bottom side of the bounding box, in fractional EVPUs.
Lua-supported (also as a read-only property).
|
inline |
Returns the bottom side of the bounding box, in fractional Points measurements.
Lua-supported (also as a read-only property).
|
inline |
Returns the left side of the bounding box, in fractional EVPUs.
Lua-supported (also as a read-only property).
|
inline |
Returns the left side of the bounding box, in fractional Points measurements.
Lua-supported (also as a read-only property).
|
inline |
Returns the right side of the bounding box, in fractional EVPUs.
Lua-supported (also as a read-only property).
|
inline |
Returns the right side of the bounding box, in fractional Points measurements.
Lua-supported (also as a read-only property).
|
inline |
Returns the top side of the bounding box, in fractional EVPUs.
Lua-supported (also as a read-only property).
|
inline |
Returns the top side of the bounding box, in fractional Points measurements.
Lua-supported (also as a read-only property).
bool FCTextMetrics::LoadArticulation | ( | FCArticulationDef * | pArticDef, |
bool | flipped, | ||
float | percent ) |
Loads the metrics for a specific articulation glyph.
Please note that this method can only handle Unicode glyphs correctly within the 16-bit range.
Lua-supported.
pArticDef | The pointer to the FCArticulationDef object that contains the symbol for which the metrics should be queried. NULL is not allowed. |
flipped | If true, use the flipped glyph. If false, use the main glyph. |
percent | The reduction value of the articulation, in fractional percent. Use 100 for no reduction. 0 is not allowed. |
bool FCTextMetrics::LoadString | ( | const FCString * | pText, |
const FCFontInfo * | pFont, | ||
float | percent ) |
Loads the metrics for the string and font.
LoadString
macro.) However, as long as all callers compile with the same Character Set, you will likely not notice.For Lua scripts it is always "LoadString".
Lua-supported.
pText | The pointer to the FCString object that contains the text for which the metrics should be queried. NULL is not allowed. |
pFont | The pointer to the FCFontInfo object that contains the font information. NULL is not allowed. |
percent | The reduction value of the text, in fractional percent. Use 100 for no reduction. 0 is not allowed. |
bool FCTextMetrics::LoadSymbol | ( | eUniChar16 | symbolchar, |
FCFontInfo * | pFont, | ||
float | percent ) |
Loads the text metrics for a specific character in a font.
Lua-supported.
symbolchar | The symbol number. Please note that it only support Unicode symbols within the 16-bit range. |
pFont | The pointer to the FCFontInfo object that contains the font information. NULL is not allowed. |
percent | The reduction value of the text, in fractional percent. Use 100 for no reduction. 0 is not allowed. |