Foxit PDF SDK

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

## Public Member Functions
| Link ()
| Constructor.
| Link (const Annot &annot)
| Constructor, with parent class object. More...
| ~Link ()
| Destructor.
bool | ExecuteJavaScriptAction (const actions::JavaScriptAction &javascript_action=actions::JavaScriptAction((FS_HANDLE) 0))
| Execute the JavaScript action associated with the link annotation. More...
actions::Action | GetAction ()
| Get action. More...
HighlightingMode | GetHighlightingMode ()
| Get highlighting mode. More...
QuadPointsArray | GetQuadPoints () const
| Get quadrilaterals. More...
bool | RemoveAction ()
| Remove action. More...
void | SetAction (const actions::Action &action)
| Set action. More...
void | SetHighlightingMode (HighlightingMode mode)
| Set highlighting mode. More...
void | SetQuadPoints (const QuadPointsArray &quad_points_array)
| Set quadrilaterals. 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::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 link annotation represents an action to be performed.
Class annots::Link is derived from Annot, and offers functions to get/set link annotation's properties and reset appearance stream of a link annotation.

Note
  For a newly created link annotation, if user calls function Annot::ResetAppearanceStream directly without setting any other properties, the default appearance will be used:
  border width = 1.0, border style = BorderInfo::e_Solid, border color = 0xFFFF0000 (red), opacity = 1.0, highlighting mode = Annot::e_HighlightingNone.

See also
  Annot

## Constructor & Destructor Documentation

## ◆ Link()

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

Constructor, with parent class object.

Parameters

  [in] | annot | Parent class object.

## Member Function Documentation

## ◆ ExecuteJavaScriptAction()

bool foxit::pdf::annots::Link::ExecuteJavaScriptAction | ( | const actions::JavaScriptAction & | javascript_action = `actions::JavaScriptAction((FS_HANDLE) 0)` | ) |

Execute the JavaScript action associated with the link annotation.

Parameters

  JavaScriptAction | The executed javascript action and it should be belong to current annotation. It will execute the main JavaScript action if the value is empty.

Returns
  true means success, while false means failure.

## ◆ GetAction()

actions::Action foxit::pdf::annots::Link::GetAction | ( |  | ) |

Get action.

Returns
  An action object that receives the action data. If the return value of function actions::Action::IsEmpty for the returned action object is true, that means no action.

## ◆ GetHighlightingMode()

HighlightingMode foxit::pdf::annots::Link::GetHighlightingMode | ( |  | ) |

Get highlighting mode.

Returns
  Highlighting mode value. Please refer to values starting from Annot::e_HighlightingNone and this would be one of these values except Annot::e_HighlightingToggle. -1 means no highlighting mode value is found.

## ◆ GetQuadPoints()

QuadPointsArray foxit::pdf::annots::Link::GetQuadPoints | ( |  | ) | const

Get quadrilaterals.

The order of points in a quadrilateral should be:

- The first point is the point in left-top corner of the quadrilateral.
- The second point is the point in right-top corner of the quadrilateral.
- The third point is the point in left-bottom corner of the quadrilateral.
- The fourth point is the point in right-bottom corner of the quadrilateral.

Returns
  A quadrilateral points array that receives the quadrilaterals value.

## ◆ RemoveAction()

bool foxit::pdf::annots::Link::RemoveAction | ( |  | ) |

Remove action.

Returns
  true means success, while false means failure.

## ◆ SetAction()

void foxit::pdf::annots::Link::SetAction | ( | const actions::Action & | action | ) |

Set action.

Parameters

  [in] | action | New action to be set. It should be valid. Currently only support following types as the new action: actions::Action::e_TypeGoto, actions::Action::e_TypeURI, actions::Action::e_TypeJavaScript, actions::Action::e_TypeNamed, actions::Action::e_TypeGoToR, actions::Action::e_TypeGoToE, actions::Action::e_TypeSubmitForm, actions::Action::e_TypeResetForm, actions::Action::e_TypeHide, actions::Action::e_TypeLaunch, actions::Action::e_TypeImportData, actions::Action::e_TypeRendition.

Returns
  None.

## ◆ SetHighlightingMode()

void foxit::pdf::annots::Link::SetHighlightingMode | ( | HighlightingMode | mode | ) |

Set highlighting mode.

Parameters

  [in] | mode | New highlighting mode value. Please refer to values starting from Annot::e_HighlightingNone and this should be one of these values except Annot::e_HighlightingToggle.

Returns
  None.

## ◆ SetQuadPoints()

void foxit::pdf::annots::Link::SetQuadPoints | ( | const QuadPointsArray & | quad_points_array | ) |

Set quadrilaterals.

This property has effect on the link annotation's appearance.The order of points in a quadrilateral should be :

- The first point is the point in left-top corner of the quadrilateral.
- The second point is the point in right-top corner of the quadrilateral.
- The third point is the point in left-bottom corner of the quadrilateral.
- The fourth point is the point in right-bottom corner of the quadrilateral.

If user wants the new quadrilaterals has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting quadrilaterals.

Parameters

  [in] | quad_points_array | A valid array of quadrilaterals. It should not be an empty array.

Returns
  None.