Xojo Conferences
XDCMay2019MiamiUSA
MBSOct2019CologneDE

DynaPDF Manual - Page 582

Previous Page 581   Index   Next Page 583

Function Reference
Page 582 of 766
TOnUpdateWindow* OnUpdateWindow; // Optional, UpdateOnPathCount and UpdateOnImageCoverage define
// when the function should be called
void*
OnInitDecoder;
// Not yet defined
void*
OnDecodeLine;
// Not yet defined
const void*
UserData;
// A pointer that should be passed to the callback function
UI32
UpdateOnPathCount;
// Optional -> Call OnUpdateWindow when the limit was reached. Clipping paths increment the number
// too. Only full paths are considered, independent of the number of vertices they contain. The
// value should be between 3000 and 10.000. Values between 3000 and 5000 produce best results.
// DynaPDF fires an update event when either 100.000 vertices were rendered or when the
// UpdateOnPathCount limit was reached, whatever occurs first.
float
UpdateOnImageCoverage;
// Optional -> DynaPDF multiplies the output image width and height with this factor to calculate
// the coverage limit. When an image is inserted the unscaled width and height is added to the
// current coverage value. When the number reaches the limit the OnUpdateWindow event is raised.
// The factor should be around 0.5 through 5.0. Larger values cause less frequently update events.
// DynaPDF fires also the update event when either the coverage limit was reached or when more
// than 3000 images were rendered. The image counter makes sure that the window becomes updated
// from time to time when many small images were rendered.
// Statistics...
UI32
NumAnnots;
// Out
UI32
NumBezierCurves;
// Out
UI32
NumClipPaths;
// Out
UI32
NumFormFields;
// Out
UI32
NumGlyphs;
// Out
UI32
NumImages;
// Out
UI32
NumLineTo;
// Out
UI32
NumPaths;
// Out
UI32
NumPatterns;
// Out
UI32
NumRectangles;
// Out
UI32
NumRestoreGState;
// Out
UI32
NumSaveGState;
// Out
UI32
NumShadings;
// Out
UI32
NumSoftMasks;
// Out
UI32
NumTextRecords;
// Out
};
typedef enum
{
psFitWidth,
// Scale the page to the width of the image
psFitHeight, // Scale the page to the height of the image
psFitBest,
// Scale the page so that it fits fully into the image
psFitZoom
// Should be used when zooming into a page to avoid
// adjustments on the transformation matrix
}TPDFPageScale;
typedef enum
{
rfDefault
= 0x00000000,
rfScaleToMediaBox = 0x00000001,
rfIgnoreCropBox
= 0x00000002,
/*
The art, bleed, or trim box is first intersected with the media box
or crop box if present since these boxes represent the maximum extend
of the page. If the flag rfIgnoreCropBox is set, the boxes are
intersected with the media box. The page is scaled to the media or crop
box depending on the above flags. By default a page is scaled to the
crop box if present.
*/
rtClipToArtBox
= 0x00000004,
rtClipToBleedBox
= 0x00000008,
rtClipToTrimBox
= 0x00000010,
rtExclAnnotations = 0x00000020,
rtExclFormFields
= 0x00000040,
rfSkipUpdateBG
= 0x00000080, // Skip the update event after initializing the background
rfRotate90
= 0x00000100, // Rotate the page by 90 degress
 

Previous topic: RenderPage (Rendering Engine)

Next topic: Minimal initialization