Foxit PDF SDK

Public Member Functions | List of all members
foxit::pdf::annots::PolyLine Class Reference
Inheritance diagram for foxit::pdf::annots::PolyLine:

## Public Member Functions
| PolyLine ()
| Constructor.
| PolyLine (const Annot &annot)
| Constructor, with parent class object. More...
| ~PolyLine ()
| Destructor.
EndingStyle | GetLineEndStyle () const
| Get line ending style of the end point. More...
EndingStyle | GetLineStartStyle () const
| Get line ending style of the start point. More...
float | GetMeasureConversionFactor (MeasureType measure_type)
| Get the conversion factor for measuring. More...
String | GetMeasureRatio ()
| Get the scale ratio string for measuring. More...
WString | GetMeasureRatioW ()
| Get the scale ratio string for measuring. More...
String | GetMeasureUnit (MeasureType measure_type)
| Get the label for displaying the units for measuring. More...
WString | GetMeasureUnitW (MeasureType measure_type)
| Get the label for displaying the units for measuring. More...
RGB | GetStyleFillColor () const
| Get fill color for some line ending styles. More...
PointFArray | GetVertexes ()
| Get vertexes. More...
void | SetLineEndStyle (EndingStyle ending_style)
| Set line ending style of the end point. More...
void | SetLineStartStyle (EndingStyle starting_style)
| Set line ending style of the start point. More...
void | SetMeasureConversionFactor (MeasureType measure_type, float factor)
| Set the conversion factor for measuring. More...
void | SetMeasureRatio (const String &ratio)
| Set the scale ratio string for measuring. More...
void | SetMeasureUnit (MeasureType measure_type, const String &unit)
| Set the label for displaying the units for measuring. More...
void | SetStyleFillColor (RGB fill_color)
| Set fill color for some line ending styles. More...
void | SetVertexes (const PointFArray &vertexes)
| Set vertexes. More...
Public Member Functions inherited from foxit::pdf::annots::Markup
| Markup ()
| Constructor.
| Markup (const Annot &annot)
| Constructor, with parent class object. More...
| ~Markup ()
| Destructor.
Note | AddReply ()
| Add a new reply to the end of reply list. More...
void | AddRichText (const WString &content, const RichTextStyle &style)
| Add a new rich text string to the end. More...
Note | AddStateAnnot (const WString &title, StateModel model, State state)
| Add a new state annotation. More...
float | GetBorderOpacity () const
| Get the border opacity of the annotation. More...
DateTime | GetCreationDateTime () const
| Get creation date time. More...
float | GetFillOpacity () const
| Get the fill opacity of the annotation. More...
MarkupArray | GetGroupElements ()
| Get an element (as markup annotation) from the group that current markup annotation belongs to. More...
Markup | GetGroupHeader ()
| Get the header annotation (as primary annotation) of the group that current markup annotation belongs to. More...
String | GetIntent () const
| Get intent name. More...
float | GetOpacity () const
| Get opacity value. More...
Popup | GetPopup ()
| Get related pop-up annotation. More...
Note | GetReply (int index) const
| Get a reply by index. More...
int | GetReplyCount ()
| Count all replies. More...
WString | GetRichTextContent (int32 index)
| Get text string of a rich text string specified by index. More...
int32 | GetRichTextCount ()
| Get the count of rich text strings. More...
RichTextStyle | GetRichTextStyle (int32 index)
| Get style data of a rich text string specified by index. More...
NoteArray | GetStateAnnots (StateModel model)
| Get all state annotations in a specified state model. More...
WString | GetSubject () const
| Get subject string. More...
WString | GetTitle () const
| Get title string. More...
void | InsertRichText (int32 index, const WString &content, const RichTextStyle &style)
| Insert a new rich text string to the place which is specified by index. More...
bool | IsGrouped ()
| Check whether current markup annotation is in a group or not. More...
bool | RemoveAllReplies ()
| Remove all the replies. More...
bool | RemoveAllStateAnnots ()
| Remove all the state annotations. More...
bool | RemovePopup ()
| Remove related pop-up annotation. More...
bool | RemoveReply (int index)
| Remove a reply by index. More...
void | RemoveRichText (int index)
| Remove a rich text string specified by index. More...
void | SetBorderOpacity (float opacity)
| Set the border opacity of the annotation. More...
void | SetCreationDateTime (const DateTime &date_time)
| Set creation date time. More...
void | SetFillOpacity (float opacity)
| Set the fill opacity of the annotation. More...
void | SetIntent (const String &intent)
| Set intent name. More...
void | SetOpacity (float opacity)
| Set opacity value. More...
void | SetPopup (const Popup &popup)
| Set related pop-up annotation. More...
void | SetRichTextContent (int32 index, const WString &content)
| Set text string of a rich text string specified by index. More...
void | SetRichTextStyle (int32 index, const RichTextStyle &style)
| Set style data of a rich text string specified by index. More...
void | SetSubject (const WString &subject)
| Set subject string. More...
void | SetTitle (const WString &title)
| Set title string. More...
bool | Ungroup ()
| Ungroup current markup annotation from the group it belongs to. More...
Public Member Functions inherited from foxit::pdf::annots::Annot
| Annot ()
| Constructor.
| Annot (const Annot &annot)
| Constructor, with another annotation object. More...
| Annot (const PDFPage &page, objects::PDFDictionary *annot_dict)
| Constructor, with PDF page and annotation's PDF dictionary. More...
virtual | ~Annot ()
| Destructor.
objects::PDFStream * | GetAppearanceStream (AppearanceType type, const char *appearance_state="") const
| Get annotation's appearance stream with specified type and state. More...
RGB | GetBorderColor () const
| Get border color. More...
BorderInfo | GetBorderInfo () const
| Get border information. More...
WString | GetContent () const
| Get content. More...
RectI | GetDeviceRect (const Matrix &matrix)
| Get annotation rectangle in device coordinate system. More...
objects::PDFDictionary * | GetDict () const
| Get annotation's dictionary object. More...
Matrix | GetDisplayMatrix (const Matrix &page_display_matrix)
| Get the display matrix, from PDF coordinate system to targeted device coordinate system. More...
uint32 | GetFlags () const
| Get annotation flags. More...
int | GetIndex () const
| Get the index of current annotation in the page which current annotation belongs to. More...
DateTime | GetModifiedDateTime () const
| Get last modified date time. More...
objects::PDFDictionary * | GetOptionalContent () const
| Get the PDF dictionary of annotation's optional content. More...
PDFPage | GetPage () const
| Get the related PDF page. More...
RectF | GetRect () const
| Get rectangle, in PDF coordinate system. More...
Type | GetType () const
| Get actual annotation type of current annotation. More...
WString | GetUniqueID () const
| Get unique ID. More...
bool | HasProperty (Property property) const
| Whether current annotation has the specified annotation's property. More...
bool | IsEmpty () const
| Check whether current object is empty or not. More...
bool | IsMarkup () const
| Check if current annotation is a markup annotation. More...
bool | Move (const RectF &rect)
| Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
bool | Move (const RectF &rect, bool is_reset_appearance)
| Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
bool | operator!= (const Annot &other) const
| Not equal operator. More...
Annot & | operator= (const Annot &annot)
| Assign operator. More...
bool | operator== (const Annot &other) const
| Equal operator. More...
bool | RemoveProperty (Property property)
| Remove a specified annotation's property. More...
bool | ResetAppearanceStream ()
| Reset appearance stream. More...
bool | ResetAppearanceStream (bool is_generate_new_appearance_obj)
| Reset appearance stream. More...
void | SetBorderColor (RGB color)
| Set border color. More...
void | SetBorderInfo (const BorderInfo &border)
| Set border information. More...
void | SetContent (const WString &content)
| Set content. More...
void | SetFlags (uint32 flags)
| Set annotation flags. More...
void | SetModifiedDateTime (const DateTime &date_time)
| Set last modified date time. More...
void | SetUniqueID (const WString &unique_id)
| Set unique ID. More...
Public Member Functions inherited from foxit::Base
FS_HANDLE | Handle () const
| Get the handle of current object. More...

## Additional Inherited Members
Public Types inherited from foxit::pdf::annots::Markup
enum | EndingStyle { e_EndingStyleNone = 0, e_EndingStyleSquare = 1, e_EndingStyleCircle = 2, e_EndingStyleDiamond = 3, e_EndingStyleOpenArrow = 4, e_EndingStyleClosedArrow = 5, e_EndingStyleButt = 6, e_EndingStyleROpenArrow = 7, e_EndingStyleRClosedArrow = 8, e_EndingStyleSlash = 9 }
| Enumeration for line ending style. More...
enum | MeasureType { e_MeasureTypeX = 0, e_MeasureTypeY = 1, e_MeasureTypeD = 2, e_MeasureTypeA = 3, e_MeasureTypeT = 4, e_MeasureTypeS = 5 }
| Enumeration for annotation's measure type. More...
enum | State { e_StateNone = 0, e_StateMarked = 1, e_StateUnmarked = 2, e_StateAccepted = 3, e_StateRejected = 4, e_StateCancelled = 5, e_StateCompleted = 6, e_StateDeferred = 7, e_StateFuture = 8 }
| Enumeration for markup annotation's state. More...
enum | StateModel { e_StateModelMarked = 1, e_StateModelReview = 2 }
| Enumeration for markup annotation's state model. More...
Public Types inherited from foxit::pdf::annots::Annot
enum | AppearanceType { e_AppearanceTypeNormal = 0, e_AppearanceTypeRollover = 1, e_AppearanceTypeDown = 2 }
| Enumeration for the type of annotation's appearance. More...
enum | Flags { e_FlagInvisible = 0x0001, e_FlagHidden = 0x0002, e_FlagPrint = 0x0004, e_FlagNoZoom = 0x0008, e_FlagNoRotate = 0x0010, e_FlagNoView = 0x0020, e_FlagReadOnly = 0x0040, e_FlagLocked = 0x0080, e_FlagToggleNoView = 0x0100, e_FlagLockedContents = 0x0200 }
| Enumeration for PDF annotation flags. More...
enum | HighlightingMode { e_HighlightingNone = 0, e_HighlightingInvert = 1, e_HighlightingOutline = 2, e_HighlightingPush = 3, e_HighlightingToggle = 4 }
| Enumeration for PDF annotation highlighting mode. More...
enum | MKEntry { e_MKEntryRotation = 0, e_MKEntryBorderColor = 1, e_MKEntryBackgroundColor = 2, e_MKEntryNormalCaption = 3, e_MKEntryRolloverCaption = 4, e_MKEntryDownCaption = 5, e_MKEntryNormalIcon = 6, e_MKEntryRolloverIcon = 7, e_MKEntryDownIcon = 8, e_MKEntryIconFit = 9, e_MKEntryIconCaptionRelation = 10 }
| Enumeration for annotation's MK dictionary (an appearance characteristics) entry. More...
enum | MKIconCaptionRelation { e_MKRelationNoIcon = 0, e_MKRelationNoCaption = 1, e_MKRelationCaptionBelowIcon = 2, e_MKRelationCaptionAboveIcon = 3, e_MKRelationCaptionRight = 4, e_MKRelationCaptionLeft = 5, e_MKRelationCaptionOvrlayOnIcon = 6 }
| Enumeration for icon and caption relative position in annotation's MK dictionary. More...
enum | Property { e_PropertyModifiedDate = 0, e_PropertyCreationDate = 1, e_PropertyBorderColor = 2, e_PropertyFillColor = 3 }
| Enumeration for some PDF annotation property. More...
enum | Type { e_UnknownType = 0, e_Note = 1, e_Link = 2, e_FreeText = 3, e_Line = 4, e_Square = 5, e_Circle = 6, e_Polygon = 7, e_PolyLine = 8, e_Highlight = 9, e_Underline = 10, e_Squiggly = 11, e_StrikeOut = 12, e_Stamp = 13, e_Caret = 14, e_Ink = 15, e_PSInk = 16, e_FileAttachment = 17, e_Sound = 18, e_Movie = 19, e_Widget = 20, e_Screen = 21, e_PrinterMark = 22, e_TrapNet = 23, e_Watermark = 24, e_3D = 25, e_Popup = 26, e_Redact = 27, e_RichMedia = 28, e_PagingSeal = 29 }
| Enumeration for PDF annotation type. More...

## Detailed Description

A polyline annotation (PDF 1.5) is similar to a polygon, except that the first and last vertex are not implicitly connected.
Polyline annotation is a kind of markup annotation, so class PolyLine is derived from class Markup, and also offers functions to get/set polyline annotation's properties and reset appearance stream of a polyline annotation.
For a polyline annotation, vertexes property is required. So please ensure that a polyline annotation has valid vertexes property before resetting its appearance stream; otherwise the polyline annotation cannot be reset appearance stream.

Note
  For a newly created polyline annotation, if user calls function Annot::ResetAppearanceStream directly after setting required vertexes property and not setting any other properties, the default appearance will be used:
  border width = 2.0, border style = BorderInfo::e_Solid, border color = 0xFFFF0000 (red), opacity = 1.0.

See also
  Markup

## Constructor & Destructor Documentation

## ◆ PolyLine()

foxit::pdf::annots::PolyLine::PolyLine | ( | const Annot & | annot | ) |
| explicit

Constructor, with parent class object.

Parameters

  [in] | annot | Parent class object.

## Member Function Documentation

## ◆ GetLineEndStyle()

EndingStyle foxit::pdf::annots::PolyLine::GetLineEndStyle | ( |  | ) | const

Get line ending style of the end point.

This property has effect on polyline annotation's appearance.

Returns
  The line ending style of the end point. Please refer to values starting from Markup::e_EndingStyleNone and this would be one of these values.

## ◆ GetLineStartStyle()

EndingStyle foxit::pdf::annots::PolyLine::GetLineStartStyle | ( |  | ) | const

Get line ending style of the start point.

This property has effect on polyline annotation's appearance.

Returns
  The line ending style of the start point. Please refer to values starting from Markup::e_EndingStyleNone and this would be one of these values.

## ◆ GetMeasureConversionFactor()

float foxit::pdf::annots::PolyLine::GetMeasureConversionFactor | ( | MeasureType | measure_type | ) |

Get the conversion factor for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Please refer to P745 in <PDF Reference 1.7> for more details.

Parameters

  [in] | measure_type | Measure type. Please refer to values starting from Markup::e_MeasureTypeX and this should be one of these values.

Returns
  The conversion factor.

## ◆ GetMeasureRatio()

String foxit::pdf::annots::PolyLine::GetMeasureRatio | ( |  | ) |

Get the scale ratio string for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Scale ratio string expresses the scale ratio of the drawing in the region. Please refer to P745 in <PDF Reference 1.7> for more details.

Returns
  A UTF-8 byte string that expresses the scale ratio.

## ◆ GetMeasureRatioW()

WString foxit::pdf::annots::PolyLine::GetMeasureRatioW | ( |  | ) |

Get the scale ratio string for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Scale ratio string expresses the scale ratio of the drawing in the region. Please refer to P745 in <PDF Reference 1.7> for more details.

Returns
  A Unicode string that expresses the scale ratio.

## ◆ GetMeasureUnit()

String foxit::pdf::annots::PolyLine::GetMeasureUnit | ( | MeasureType | measure_type | ) |

Get the label for displaying the units for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Please refer to P745 in <PDF Reference 1.7> for more details.

Parameters

  [in] | measure_type | Measure type. Please refer to values starting from Markup::e_MeasureTypeX and this would be one of these values.

Returns
  A UTF-8 text string that represents a label for displaying the units.

## ◆ GetMeasureUnitW()

WString foxit::pdf::annots::PolyLine::GetMeasureUnitW | ( | MeasureType | measure_type | ) |

Get the label for displaying the units for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Please refer to P745 in <PDF Reference 1.7> for more details.

Parameters

  [in] | measure_type | Measure type. Please refer to values starting from Markup::e_MeasureTypeX and this would be one of these values.

Returns
  A Unicode string that represents a label for displaying the units.

## ◆ GetStyleFillColor()

RGB foxit::pdf::annots::PolyLine::GetStyleFillColor | ( |  | ) | const

Get fill color for some line ending styles.

This property has effect on polyline annotation's appearance when the line ending style is one of following styles:
"Square", "Circle", "Diamond", "ClosedArrow", "RClosedArrow".

Returns
  The fill color. Format: 0xRRGGBB. If no fill color can be found, 0x000000 will be returned.

## ◆ GetVertexes()

PointFArray foxit::pdf::annots::PolyLine::GetVertexes | ( |  | ) |

Get vertexes.

Vertexes property is required for a polyline annotation and this property has effect on polyline annotation's appearance.

Returns
  A point array that represents the vertexes.

## ◆ SetLineEndStyle()

void foxit::pdf::annots::PolyLine::SetLineEndStyle | ( | EndingStyle | ending_style | ) |

Set line ending style of the end point.

This property has effect on polyline annotation's appearance. If user wants the new line ending style of end point has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting the new line ending style of end point.

Parameters

  [in] | ending_style | The line ending style for the end point to be set. Please refer to values starting from Markup::e_EndingStyleNone and this should be one of these values.

Returns
  None.

## ◆ SetLineStartStyle()

void foxit::pdf::annots::PolyLine::SetLineStartStyle | ( | EndingStyle | starting_style | ) |

Set line ending style of the start point.

This property has effect on polyline annotation's appearance. If user wants the new line ending style of start point has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting the new line ending style of start point.

Parameters

  [in] | starting_style | The line ending style for the start point to be set.Please refer to values starting from Markup::e_EndingStyleNone and this should be one of these values.

Returns
  None.

## ◆ SetMeasureConversionFactor()

void foxit::pdf::annots::PolyLine::SetMeasureConversionFactor | ( | MeasureType | measure_type,
|  | float | factor
| ) |  |

Set the conversion factor for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Please refer to P745 in <PDF Reference 1.7> for more details.

Parameters

  [in] | measure_type | Measure type. Please refer to values starting from Markup::e_MeasureTypeX and this should be one of these values.
  [in] | factor | The conversion factor.

Returns
  None.

## ◆ SetMeasureRatio()

void foxit::pdf::annots::PolyLine::SetMeasureRatio | ( | const String & | ratio | ) |

Set the scale ratio string for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Scale ratio string expresses the scale ratio of the drawing in the region. Please refer to P745 in <PDF Reference 1.7> for more details.

Parameters

  [in] | ratio | A UTF-8 byte string expressing the scale ratio. The string should be like: "1/4 in = 1 ft", indicating that 1/4 inches in default user space is equivalent to 1 foot in real-world measurements.

Returns
  None.

## ◆ SetMeasureUnit()

void foxit::pdf::annots::PolyLine::SetMeasureUnit | ( | MeasureType | measure_type,
|  | const String & | unit
| ) |  |

Set the label for displaying the units for measuring.

A polyline annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Please refer to P745 in <PDF Reference 1.7> for more details.

Parameters

  [in] | measure_type | Measure type. Please refer to values starting from Markup::e_MeasureTypeX and this would be one of these values.
  [in] | unit | A UTF-8 text string that specifies a label for displaying the units.

Returns
  None.

## ◆ SetStyleFillColor()

void foxit::pdf::annots::PolyLine::SetStyleFillColor | ( | RGB | fill_color | ) |

Set fill color for some line ending styles.

This property has effect on polyline annotation's appearance when the line ending style of start point or end point is one of following styles:
"Square", "Circle", "Diamond", "ClosedArrow", "RClosedArrow".

Parameters

  [in] | fill_color | New fill color to be set. Format: 0xRRGGBB.

Returns
  None.

## ◆ SetVertexes()

void foxit::pdf::annots::PolyLine::SetVertexes | ( | const PointFArray & | vertexes | ) |

Set vertexes.

Vertexes property is required for a polyline annotation and this property has effect on polyline annotation's appearance. If user wants the new vertexes have effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting the new vertexes.

Parameters

  [in] | vertexes | A valid point array of vertexes. It should contains at least 2 points as vertexes.

Returns
  None.