Finale PDK Framework  0.54
Public Member Functions | List of all members
FCPDFPage Class Reference

A representation of a page in a created PDF file. More...

#include <ff_pdfwriter.h>

Inheritance diagram for FCPDFPage:
__FCBase

Public Member Functions

 FCPDFPage (void *pPageStruct, void *pDocStruct)
 The constructor. More...
 
void SetWidth (float width)
 Sets the width for the page (in points). More...
 
float GetWidth () const
 Returns the width of the page (in points). More...
 
void SetHeight (float height)
 Sets the height for the page. More...
 
float GetHeight () const
 Returns the height of the page. More...
 
void SetLineWidth (float linewidth)
 Sets the line width (in points) for all subsequent drawing operations. More...
 
float GetLineWidth () const
 Returns the current line width for the page (in points). More...
 
float GetGrayStroke () const
 Returns the current gray stroke value for the page. More...
 
void SetGrayStroke (float value)
 Sets the gray stroke value for the subsequent drawing operations on the page. More...
 
void SetGrayFill (float value)
 Sets the gray fill value for the subsequent drawing operations on the page. More...
 
float GetGrayFill () const
 Returns the current gray fill value for the page. More...
 
bool SetFontAndSize (const char *pszFontName, float size)
 Sets the stock font and size for subsequent text operations on the page. More...
 
void SetMargins (float leftmargin, float rightmargin, float topmargin, float bottommargin)
 Sets all the margins for the page. More...
 
void DrawString (FCString *pString, int x, int y)
 Draws a FCString object at a specific position, using the current font, size and color. More...
 
void DrawLine (float x1, float y1, float x2, float y2)
 Draws a line using the current stroke color value. More...
 
void DrawBlackLine (float x1, float y1, float x2, float y2, float linewidth)
 Draws a black solid line with a specified line width. More...
 
void DrawBlackBorderRect (float x1, float y1, float x2, float y2, float linewidth)
 Draws a black solid rectangle border with a specified line width. More...
 
void DrawTextRect (FCString *pString, float left, float top, float right, float bottom)
 Draws text within a rectangle. Word-wrapping if needed. More...
 
float GetLastTextPosX () const
 Returns the horizontal end position after a DrawTextRect call. More...
 
float GetLastTextPosY () const
 Returns the vertical end position after a DrawTextRect call. More...
 
float GetInnerLeft () const
 Returns the horizontal coordinate at the left margin. More...
 
float GetInnerTop () const
 Returns the horizontal coordinate at the top margin. More...
 
float GetInnerRight () const
 Returns the horizontal coordinate at the right margin. More...
 
float GetInnerBottom () const
 Returns the horizontal coordinate at the bottom margin. More...
 
- Public Member Functions inherited from __FCBase
virtual const PDKFRAMEWORK_CLASSID GetClassID ()
 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. More...
 
virtual const char * ClassName ()
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
 __FCBase ()
 The constructor.
 
virtual ~__FCBase ()
 Virtual destructor, so all inherited classes get the virtual destructor. More...
 
void DebugMsgDigit (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. More...
 
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. More...
 
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. More...
 
void DebugMsg (const char *pszMsg)
 Creates a simple Message Box for debug purposes with just one text string. More...
 
void DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const
 Outputs the menu command info for debugging purposes. More...
 
int DebugOutFormat (const char *fmt,...)
 Outputs debug text using C style "printf" syntax. More...
 
virtual void DebugDump ()
 Outputs the class data/information for debugging purposes. More...
 
virtual void DebugDataDump ()
 Outputs a memory dump of the data block in the object for debugging purposes. More...
 
virtual void DebugDataByteArrayDump ()
 Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. More...
 
void Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state)
 Sets a 16 bit flag in the data block. More...
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets a 32 bit flag in the data block. More...
 
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. More...
 
void SetUserData (void *pData)
 Sets the user data attached to the instance of an object. More...
 
void SetUserData2 (void *pData)
 Sets the additional user data attached to the instance of an object. More...
 
void * GetUserData () const
 Gets the user data attached to the instance of an object. More...
 
void * GetUserData2 () const
 Gets the additional user data attached to the instance of an object. More...
 
virtual bool IsIdentical (__FCBase *pCompareObject)
 Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. More...
 
void StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file. More...
 
void StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value)
 Helper function to store integer objects in the XML file. More...
 
void StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value)
 Helper function to store boolean objects in the XML file. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void StoreToXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to store an object's data. More...
 
bool ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file. More...
 
bool ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue)
 Helper method to read integer objects from the XML file. More...
 
bool ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue)
 Helper method to read boolean objects from the XML file. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual bool ReadFromXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to read object data. More...
 

Additional Inherited Members

- Public Types inherited from __FCBase
enum  PDKFRAMEWORK_CLASSID {
  FCID_UNKNOWN = 0, FCID_ACCIDENTALMOD, FCID_ALLOTMENT, FCID_ARTICULATION,
  FCID_ARTICULATIONDEF, FCID_BACKWARDREPEAT, FCID_BASELINE, FCID_BEAMMOD,
  FCID_BEATCHARTELEMENT, 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_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_KEYSIGNATURE, FCID_LAYERPREFS, 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_PERCUSSIONNOTEMOD, FCID_PIANOBRACEPREFS, FCID_PLAYBACKPREFS, FCID_RAWTEXT,
  FCID_REPEATPREFS, FCID_SECONDARYBEAMBREAKMOD, 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. More...
 
static void DebugOutDigit (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. More...
 
static void DebugOutFloat (const char *pszPrefixText, float f)
 Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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". More...
 
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. More...
 
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. More...
 
static void DebugOut (const char *pszLine)
 Static method to output a line of text for debugging purposes. More...
 

Detailed Description

A representation of a page in a created PDF file.

All measurements are in points.

Constructor & Destructor Documentation

FCPDFPage::FCPDFPage ( void *  pPageStruct,
void *  pDocStruct 
)

The constructor.

This is called by FCPDFWriter::AddPage().

Member Function Documentation

void FCPDFPage::DrawBlackBorderRect ( float  x1,
float  y1,
float  x2,
float  y2,
float  linewidth 
)

Draws a black solid rectangle border with a specified line width.

Lua-supported.

void FCPDFPage::DrawBlackLine ( float  x1,
float  y1,
float  x2,
float  y2,
float  linewidth 
)

Draws a black solid line with a specified line width.

Lua-supported.

void FCPDFPage::DrawLine ( float  x1,
float  y1,
float  x2,
float  y2 
)

Draws a line using the current stroke color value.

Lua-supported.

void FCPDFPage::DrawString ( FCString pString,
int  x,
int  y 
)

Draws a FCString object at a specific position, using the current font, size and color.

Lua-supported.

void FCPDFPage::DrawTextRect ( FCString pString,
float  left,
float  top,
float  right,
float  bottom 
)

Draws text within a rectangle. Word-wrapping if needed.

The methods GetLastTextPosX() and GetLastTextPosY() can be used after this call to get the end of the drawing rectangle.

Lua-supported.

Parameters
pStringThe FCString object containing the string.
leftThe left position of the text rectagle.
topThe top position of the text rectagle.
rightThe right position of the text rectagle.
bottomIf set to 0, it'll indicating bottom of the page.
float FCPDFPage::GetGrayFill ( ) const

Returns the current gray fill value for the page.

Lua-supported (also as property).

Returns
The gray value between 0 and 1. 0 is pure black, 1 is white.
float FCPDFPage::GetGrayStroke ( ) const

Returns the current gray stroke value for the page.

Lua-supported (also as property).

Returns
The gray value between 0 and 1. 0 is pure black, 1 is white.
float FCPDFPage::GetHeight ( ) const

Returns the height of the page.

Lua-supported (also as property).

float FCPDFPage::GetInnerBottom ( ) const

Returns the horizontal coordinate at the bottom margin.

Lua-supported (also as a read-only property).

float FCPDFPage::GetInnerLeft ( ) const

Returns the horizontal coordinate at the left margin.

Lua-supported (also as a read-only property).

float FCPDFPage::GetInnerRight ( ) const

Returns the horizontal coordinate at the right margin.

Lua-supported (also as a read-only property).

float FCPDFPage::GetInnerTop ( ) const

Returns the horizontal coordinate at the top margin.

Lua-supported (also as a read-only property).

float FCPDFPage::GetLastTextPosX ( ) const

Returns the horizontal end position after a DrawTextRect call.

Lua-supported (also as a read-only property).

float FCPDFPage::GetLastTextPosY ( ) const

Returns the vertical end position after a DrawTextRect call.

Lua-supported (also as a read-only property).

float FCPDFPage::GetLineWidth ( ) const

Returns the current line width for the page (in points).

Lua-supported (also as property).

float FCPDFPage::GetWidth ( ) const

Returns the width of the page (in points).

Lua-supported (also as property).

bool FCPDFPage::SetFontAndSize ( const char *  pszFontName,
float  size 
)

Sets the stock font and size for subsequent text operations on the page.

Lua-supported.

Parameters
pszFontNameThe font name, as a C-style string.
sizeThe font size in points.
Returns
True if the font was set correctly.
void FCPDFPage::SetGrayFill ( float  value)

Sets the gray fill value for the subsequent drawing operations on the page.

Lua-supported (also as property).

Parameters
valueThe gray value between 0 and 1. 0 is pure black, 1 is white.
void FCPDFPage::SetGrayStroke ( float  value)

Sets the gray stroke value for the subsequent drawing operations on the page.

Lua-supported (also as property).

Parameters
valueThe gray value between 0 and 1. 0 is pure black, 1 is white.
void FCPDFPage::SetHeight ( float  height)

Sets the height for the page.

Lua-supported (also as property).

void FCPDFPage::SetLineWidth ( float  linewidth)

Sets the line width (in points) for all subsequent drawing operations.

Lua-supported (also as property).

void FCPDFPage::SetMargins ( float  leftmargin,
float  rightmargin,
float  topmargin,
float  bottommargin 
)

Sets all the margins for the page.

Margins are only used for some high-level methods and will not result in any specific data saved to the PDF.

Lua-supported.

void FCPDFPage::SetWidth ( float  width)

Sets the width for the page (in points).

Lua-supported (also as property).