foxit.pdf.annots.Ink Class Reference
Inheritance diagram for foxit.pdf.annots.Ink:
foxit.pdf.annots.Markup foxit.pdf.annots.Annot foxit.common.Base

Public Member Functions

 Ink ()
 Constructor.

 
 Ink (Annot annot)
 Constructor, with parent class.

 
Path GetInkList ()
 Get ink list data.
More...
 
void SetInkList (Path ink_list)
 Set ink list data.
More...
 
- Public Member Functions inherited from foxit.pdf.annots.Markup
 Markup (Annot annot)
 Constructor, with parent class object.

 
 Markup ()
 Constructor.

 
Note AddReply ()
 Add a new reply to the end of reply list.
More...
 
Note AddStateAnnot (Markup.StateModel model, Markup.State state)
 Add a new state annotation.
More...
 
DateTime GetCreationDateTime ()
 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 ()
 Get intent name.
More...
 
float GetOpacity ()
 Get opacity value.
More...
 
Popup GetPopup ()
 Get related pop-up annotation.
More...
 
Note GetReply (int index)
 Get a reply by index.
More...
 
int GetReplyCount ()
 Count all replies.
More...
 
Note GetStateAnnot (Markup.StateModel model, int index)
 Get a state annotation, under a specified state model.
More...
 
int GetStateAnnotCount (Markup.StateModel model)
 Get the count of state annotations, under a specified state model.
More...
 
string GetSubject ()
 Get subject string.
More...
 
string GetTitle ()
 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 (DateTime date_time)
 Set creation date time.
More...
 
void SetIntent (string intent)
 Set intent name.
More...
 
void SetOpacity (float opacity)
 Set opacity value.
More...
 
void SetPopup (Popup popup)
 Set related pop-up annotation.
More...
 
void SetSubject (string subject)
 Set subject string.
More...
 
void SetTitle (string 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 (PDFPage page, PDFDictionary annot_dict)
 Constructor, with PDF page and annotation's PDF dictionary.
More...
 
 Annot (Annot annot)
 Constructor, with another annot object.

 
 Annot ()
 Constructor.

 
PDFStream GetAppearanceStream (Annot.AppearanceType type, string appearance_state)
 Get annotation's appearance stream with specified type and state.
More...
 
int GetBorderColor ()
 Get border color.
More...
 
BorderInfo GetBorderInfo ()
 Get border information.
More...
 
string GetContent ()
 Get content.
More...
 
RectI GetDeviceRect (bool is_transform_icon, Matrix2D matrix)
 Get annotation rectangle in device coordinate system.
More...
 
PDFDictionary GetDict ()
 Get annotation's dictionary object.
More...
 
int GetFlags ()
 Get annotation flags.
More...
 
int GetIndex ()
 Get the index of current annotation in the page which current annotation belongs to.
More...
 
DateTime GetModifiedDateTime ()
 Get last modified date time.
More...
 
PDFDictionary GetOptionalContent ()
 Get the PDF dictionary of annotation's optional content.
More...
 
PDFPage GetPage ()
 Get the related PDF page.
More...
 
RectF GetRect ()
 Get rectangle, in PDF coordinate system .
More...
 
Annot.Type GetType ()
 Get actual annotation type of current annotation.
More...
 
string GetUniqueID ()
 Get unique ID.
More...
 
bool IsEmpty ()
 Check whether current object is empty or not.
More...
 
bool IsMarkup ()
 Check if current annotation is a markup annotation.
More...
 
bool Move (RectF rect)
 Move current annotation to a new position, specified by a new rectangle in PDF coordinate system .
More...
 
bool RemoveProperty (Annot.Property property)
 Remove a specified annotation's property.
More...
 
bool ResetAppearanceStream ()
 Reset appearance stream.
More...
 
void SetBorderColor (int color)
 Set border color.
More...
 
void SetBorderInfo (BorderInfo border)
 Set border information.
More...
 
void SetContent (string content)
 Set content.
More...
 
void SetFlags (int flags)
 Set annotation flags.
More...
 
void SetModifiedDateTime (DateTime date_time)
 Set last modified date time.
More...
 
void SetUniqueID (string unique_id)
 Set unique ID.
More...
 

Additional Inherited Members

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

Detailed Description

An ink annotation represents a freehand "scribble" composed of one or more disjoint paths. Ink annotation is a kind of markup annotation, so class Ink is derived from class Markup, offers functions to get/set ink annotation's properties and also and reset appearance stream of an ink annotation.
For a ink annotation, ink list property is required. So please ensure that an ink annotation has valid ink list property before resetting its appearance stream; otherwise the ink annotation cannot be reset appearance stream.

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

Member Function Documentation

◆ GetInkList()

Path foxit.pdf.annots.Ink.GetInkList ( )
inline

Get ink list data.

Ink list property is required for an ink annotation and this property has effect on ink annotation's appearance. The ink list contains one or more stroked path.
In Foxit PDF SDK, class Path is used to represent the ink list data, but the point types for Path object have been specially simplified for ink list. Only e_TypeMoveTo and e_TypeLineTo types are used for points in the ink list:


a point with type e_TypeMoveTo means that this point is the start point of a stroked path. Usually the first in Path object should be this type.
a point with type e_TypeLineTo means that this point is in a stroked path, which is started by a point with type e_TypeMoveTo, and when function Ink::ResetAppearanceStream is called, Foxit PDF SDK will connect this point with other points by curves.
Operations such as move the ink annotation, or set a new ink path to this annotation will update the ink path data, so that the previous returned Path object would become invalid. In this case, user should call this function again to obtain the new Path object.

Returns
The ink list data. If the return value of function common::Path::IsEmpty for the returned Path object is true, that means no ink list data can be found.

◆ SetInkList()

void foxit.pdf.annots.Ink.SetInkList ( Path  ink_list)
inline

Set ink list data.

Ink list property is required for an ink annotation and this property has effect on ink annotation's appearance. The ink list contains one or more stroked path.
In Foxit PDF SDK, class Path is used to represent the ink list data, but the point types for Path object have been specially simplified for ink list. Only e_TypeMoveTo and e_TypeLineTo types are used for points in the ink list:


a point with type e_TypeMoveTo means that this point is the start point of a stroked path. Usually the first in Path object should be this type.
a point with type e_TypeLineTo means that this point is in a stroked path, which is started by a point with with type e_TypeMoveTo, and when function Ink::ResetAppearanceStream is called, Foxit PDF SDK will connect this point with other points by curves.
Specially, if input parameter ink_list contains bezier points (for example, added by function common::Path::CubicBezierTo), the control points will be ignored and only the target point will be used in the ink list data.
User is strongly recommended to pass a valid Path object only with point types e_TypeMoveTo and e_TypeLineTo.
If user wants the effect to be shown in annotation's appearance, please call function Annot::ResetAppearanceStream after this function.

Parameters
ink_listNew Path object which specifies the new list data.
Returns
None.

Foxit Software Corporation Logo
@2018 Foxit Software Incorporated. All rights reserved.