DynaPDF Manual - Page 381
Previous Page 380 Index Next Page 382

Function Reference
Page 381 of 860
char*
Intent;
// Markup annotations only. The intent allows to distinguish
// between different uses of an annotation. For example, line
// annotations have two intents: LineArrow and LineDimension.
TLineEndStyle LE1;
// Style of the start point -> Line and PolyLine annotations
TLineEndStyle LE2;
// Style of the end point
-> Line and PolyLine annotations
float*
Vertices;
// Line, PolyLine, and Polygon annotations only
UI32
VerticesCount;
// Number of values in the array. This is the raw number of
// floating point values. Since a vertice requires always two
// coordinate pairs, the number of vertices or points is
// VerticeCount divided by 2.
// Line annotations only. These properties should only be considered if the member Intent is set
// to the string "LineDimension".
LBOOL
Caption;
// If true, the annotation string Content is used as caption.
// The string is shown in a PopUp annotation otherwise.
float
CaptionOffsetX;
// Horizontal offset of the caption from its normal position
float
CaptionOffsetY;
// Vertical offset of the caption from its normal position
TLineCaptionPos CaptionPos;
// The position where the caption should be drawn if present
float
LeaderLineLen;
// Length of the leader lines (positive or negative)
float
LeaderLineExtend;// Optional leader line extend beyond the leader line
float
LeaderLineOffset;// Amount of space between the endpoints of the annotation and
// the leader lines.
TBorderEffect BorderEffect;
// Circle, Square, FreeText, and Polygon annotations.
char*
RichStyle;
// Optional default style string. -> FreeText annotations.
char*
RichText;
// Optional rich text string (RC key). -> Markup annotations.
const ILST**
InkList;
// Ink annotations only. Array of array. The sub arrays can be
// accessed with GetInkList().
UI32
InkListCount;
// Number of ink arrays.
SI32
OC;
// Handle of an OCG or OCMD or -1 if not set. See description.
};
The function returns the most important properties of an annotation. The parameter Handle must be
a valid annotation handle. All string values are pointers to the original string buffer. You must not
modify or free such a string. Reserved fields must be initialized with NULL.
The function returns also deleted annotations because DeleteAnnotation() does not physically delete
annotations.
The members QuadPoints and Vertices contain the raw floating point values which are stored in the
annotation. The corresponding values QuadPointCount and VerticesCount contain the number of
floating point values and not the number of vertices or quad points which are stored in the arrays.
Note that the number of values can be odd if an imported annotation contains errors.
Optional Content
Annotations can be part of an Optional Content Group (OCG) or Optional Content Membership
Dictionary (OCMD). If OC is greater -1 an OCG or OCMD handle was set. To determine whether an
OCG handle was set, check whether the value is smaller 0x40000000:
bool IsOCG(SI32 Handle)
{
return (Handle > -1 && Handle < 0x40000000);
}
Previous topic: GetAnnotColor, GetAnnotCount, GetAnnotEx
Next topic: Migration states