Foxit PDF SDK
foxit::pdf::annots::Polygon Class Reference
Inheritance diagram for foxit::pdf::annots::Polygon:
foxit::pdf::annots::Markup foxit::pdf::annots::Annot foxit::Base

Public Member Functions

 Polygon ()
 Constructor.
 
 Polygon (const Annot &annot)
 Constructor, with parent class object. More...
 
 ~Polygon ()
 Destructor.
 
RGB GetFillColor () const
 Get fill color. More...
 
float GetMeasureConversionFactor (MeasureType measure_type)
 Get the conversion factor for measuring. More...
 
String GetMeasureRatio ()
 Get the scale ratio string for measuring. More...
 
String GetMeasureUnit (MeasureType measure_type)
 Get the label for displaying the units for measuring. More...
 
PointFArray GetVertexes ()
 Get vertexes. More...
 
void SetFillColor (RGB fill_color)
 Set fill color. 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 SetVertexes (const PointFArray &vertexes)
 Set vertexes. More...
 
- Public Member Functions inherited from foxit::pdf::annots::Markup
 Markup (const Annot &annot)
 Constructor, with parent class object. More...
 
 Markup ()
 Constructor.
 
 ~Markup ()
 Destructor.
 
Note AddReply ()
 Add a new reply to the end of reply list. More...
 
Note AddStateAnnot (StateModel model, State state)
 Add a new state annotation. More...
 
DateTime GetCreationDateTime () const
 Get creation date time. 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...
 
Note GetStateAnnot (StateModel model, int index)
 Get a state annotation, under a specified state model. More...
 
int GetStateAnnotCount (StateModel model)
 Get the count of state annotations, under a specified state model. More...
 
WString GetSubject () const
 Get subject string. More...
 
WString GetTitle () const
 Get title string. 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 state annotations. More...
 
bool RemoveReply (int index)
 Remove a reply by index. More...
 
void SetCreationDateTime (const DateTime &date_time)
 Set creation date time. 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 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 (const PDFPage &page, objects::PDFDictionary *annot_dict)
 Constructor, with PDF page and annotation's PDF dictionary. More...
 
 Annot (const Annot &annot)
 Constructor, with another annotation object. More...
 
 Annot ()
 Constructor.
 
virtual ~Annot ()
 Destructor.
 
objects::PDFStreamGetAppearanceStream (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::PDFDictionaryGetDict () 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::PDFDictionaryGetOptionalContent () 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 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 operator!= (const Annot &other) const
 Not equal operator. More...
 
Annotoperator= (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...
 
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_StateMarked = 1, e_StateUnmarked = 2, e_StateAccepted = 3, e_StateRejected = 4,
  e_StateCancelled = 5, e_StateCompleted = 6, e_StateNone = 7
}
 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
}
 Enumeration for PDF annotation type. More...
 

Detailed Description

A polygon annotation displays a closed polygon on the page.
Polygon annotation is a kind of markup annotation, so class Polygon is derived from class Markup, and also offers functions to get/set polygon annotation's properties and reset appearance stream of a polygon annotation.
For a polygon annotation, vertexes property is required. So please ensure that a polygon annotation has valid vertexes property before resetting its appearance stream; otherwise the polygon annotation cannot be reset appearance stream.

Note
For a newly created polygon 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

◆ Polygon()

foxit::pdf::annots::Polygon::Polygon ( const Annot annot)
explicit

Constructor, with parent class object.

Parameters
[in]annotParent class object.

Member Function Documentation

◆ GetFillColor()

RGB foxit::pdf::annots::Polygon::GetFillColor ( ) const

Get fill color.

This property has effect on polygon annotation's appearance.

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

◆ GetMeasureConversionFactor()

float foxit::pdf::annots::Polygon::GetMeasureConversionFactor ( MeasureType  measure_type)

Get the conversion factor for measuring.

A polygon 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_typeMeasure type. Please refer to values starting from Markup::e_MeasureTypeX and this would be one of these values.
Returns
The conversion factor.

◆ GetMeasureRatio()

String foxit::pdf::annots::Polygon::GetMeasureRatio ( )

Get the scale ratio string for measuring.

A polygon annotation may have a measure dictionary that specifies an alternate coordinate system for a region of a page. Scale ratio string expresses the scale radio 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.

◆ GetMeasureUnit()

String foxit::pdf::annots::Polygon::GetMeasureUnit ( MeasureType  measure_type)

Get the label for displaying the units for measuring.

A polygon 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_typeMeasure type. Please refer to values starting from Markup::e_MeasureTypeX and this should be one of these values.
Returns
A utf-8 text string that represents a label for displaying the units.

◆ GetVertexes()

PointFArray foxit::pdf::annots::Polygon::GetVertexes ( )

Get vertexes.

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

Returns
A point array that represents the vertexes.

◆ SetFillColor()

void foxit::pdf::annots::Polygon::SetFillColor ( RGB  fill_color)

Set fill color.

This property has effect on polygon annotation's appearance. If user wants the new fill color has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting the new fill color.

Parameters
[in]fill_colorNew fill color to be set. Format: 0xRRGGBB.
Returns
None.

◆ SetMeasureConversionFactor()

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

Set the conversion factor for measuring.

A polygon 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_typeMeasure type. Please refer to values starting from Markup::e_MeasureTypeX and this would be one of these values.
[in]factorThe conversion factor.
Returns
None.

◆ SetMeasureRatio()

void foxit::pdf::annots::Polygon::SetMeasureRatio ( const String ratio)

Set the scale ratio string for measuring.

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

Parameters
[in]ratioA 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::Polygon::SetMeasureUnit ( MeasureType  measure_type,
const String unit 
)

Set the label for displaying the units for measuring.

A polygon 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_typeMeasure type. Please refer to values starting from Markup::e_MeasureTypeX and this should be one of these values.
[in]unitA utf-8 text string that specifies a label for displaying the units.
Returns
None.

◆ SetVertexes()

void foxit::pdf::annots::Polygon::SetVertexes ( const PointFArray vertexes)

Set vertexes.

Vertexes property is required for a polygon annotation and this property has effect on polygon 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]vertexesA valid point array for vertexes. It should contains at least 2 points as vertexes.
Returns
None.