Foxit PDF SDK
|
Public Member Functions | |
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... | |
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... | |
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... | |
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 | 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 | 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... | |
![]() | |
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::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 | 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... | |
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... | |
![]() | |
FS_HANDLE | Handle () const |
Get the handle of current object. More... | |
Markup annotations are used primarily to mark up PDF documents. These annotations have text that appears as part of the annotation and may be displayed in other ways by a viewer application, such as in a Comments pane.
Class annots::Markup is derived from class Annot, and is also the base class for all PDF markup annotations. It offers the base functions to get/set markup annotation's common properties. For concrete markup annotation types, please refer to derived classes.
Function Annot::IsMarkup can be used to judge if an annotation is a markup annotation.
Enumeration for line ending style.
Values of this enumeration should be used alone.
Enumeration for annotation's measure type.
Values of this enumeration should be used alone.
Enumeration for markup annotation's state.
Values of this enumeration should be used alone.
Enumerator | |
---|---|
e_StateNone | (Used with state model Markup::e_StateModelReview) The user has indicated nothing about the change. |
e_StateMarked | (Used with state model Markup::e_StateModelMarked) The annotation has been marked by the user. |
e_StateUnmarked | (Used with state model Markup::e_StateModelMarked) The annotation has not been marked by the user. |
e_StateAccepted | (Used with state model Markup::e_StateModelReview) The user agrees with the change. |
e_StateRejected | (Used with state model Markup::e_StateModelReview) The user disagrees with the change. |
e_StateCancelled | (Used with state model Markup::e_StateModelReview) The change has been cancelled. |
e_StateCompleted | (Used with state model Markup::e_StateModelReview) The change has been completed. |
e_StateDeferred | (Used with state model Markup::e_StateModelReview) The change has been deferred. |
e_StateFuture | (Used with state model Markup::e_StateModelReview) The change will be working in the future. |
|
explicit |
Constructor, with parent class object.
[in] | annot | Parent class object. |
Note foxit::pdf::annots::Markup::AddReply | ( | ) |
Add a new reply to the end of reply list.
void foxit::pdf::annots::Markup::AddRichText | ( | const WString & | content, |
const RichTextStyle & | style | ||
) |
Add a new rich text string to the end.
Markup annotation's content can consist of several rich text strings. Specially, if current annotation is a freetext and its intent is "FreeTextTypewriter", text aligment of input style will be set to all rich text strings of current freetext annotation.
[in] | content | Text string used as content of the new rich text string. This should not be an empty string. |
[in] | style | Style data used for the new rich text string. |
Note foxit::pdf::annots::Markup::AddStateAnnot | ( | const WString & | title, |
StateModel | model, | ||
State | state | ||
) |
Add a new state annotation.
A markup annotation may have one or several author-specific state associated with it. Each state is not specified in the annotation itself but in a separate note annotation.
[in] | title | Title for the new state annotation. Title can be used to identify the user who added current annotation. This can be an empty string but users are strongly recommended to set a meaningful title when using this function. |
[in] | model | State model for the new state annotation. It should be one of following values: |
[in] | state | State value for the new state annotation. It should be one of following values:
|
DateTime foxit::pdf::annots::Markup::GetCreationDateTime | ( | ) | const |
Get creation date time.
MarkupArray foxit::pdf::annots::Markup::GetGroupElements | ( | ) |
Get an element (as markup annotation) from the group that current markup annotation belongs to.
Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.
Markup foxit::pdf::annots::Markup::GetGroupHeader | ( | ) |
Get the header annotation (as primary annotation) of the group that current markup annotation belongs to.
Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.
String foxit::pdf::annots::Markup::GetIntent | ( | ) | const |
Get intent name.
Following annotation types have predefined intent name:
float foxit::pdf::annots::Markup::GetOpacity | ( | ) | const |
Get opacity value.
This property has effect on markup annotation's appearance.
Popup foxit::pdf::annots::Markup::GetPopup | ( | ) |
Get related pop-up annotation.
Most markup annotations can have a pop-up annotation to show their content, except sound and free text annotations:
Though, in some special(or error) PDF document, sound or free text annotation may have a pop-up annotation, they still do not need a pop-up annotation.
Note foxit::pdf::annots::Markup::GetReply | ( | int | index | ) | const |
Get a reply by index.
[in] | index | The index for a specified reply. Valid range: from 0 to (count-1). count is returned by function Markup::GetReplyCount. |
int foxit::pdf::annots::Markup::GetReplyCount | ( | ) |
Count all replies.
Get text string of a rich text string specified by index.
Markup annotation's content can consist of several rich text strings.
[in] | index | Index for a rich text string whose content is to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup::GetRichTextCount. |
int32 foxit::pdf::annots::Markup::GetRichTextCount | ( | ) |
Get the count of rich text strings.
Markup annotation's content can consist of several rich text strings.
RichTextStyle foxit::pdf::annots::Markup::GetRichTextStyle | ( | int32 | index | ) |
Get style data of a rich text string specified by index.
Markup annotation's content can consist of several rich text strings.
[in] | index | Index for a rich text string whose style data is to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup::GetRichTextCount. |
NoteArray foxit::pdf::annots::Markup::GetStateAnnots | ( | StateModel | model | ) |
Get all state annotations in a specified state model.
A markup annotation may have one or several author-specific state associated with it. Each state is not specified in the annotation itself but in a separate note annotation.
[in] | model | State model. It should be one of following values: |
WString foxit::pdf::annots::Markup::GetSubject | ( | ) | const |
Get subject string.
WString foxit::pdf::annots::Markup::GetTitle | ( | ) | const |
Get title string.
By convention, annotation's title can be used to identify the user who added current annotation.
void foxit::pdf::annots::Markup::InsertRichText | ( | int32 | index, |
const WString & | content, | ||
const RichTextStyle & | style | ||
) |
Insert a new rich text string to the place which is specified by index.
Markup annotation's content can consist of several rich text strings. Specially, if current annotation is a freetext and its intent is "FreeTextTypewriter", text aligment of input style will be set to all rich text strings of current freetext annotation.
[in] | index | Index for a rich text string whose style data is to be inserted at. Valid range: from 0 to count. count is returned by function Markup::GetRichTextCount. If input value is equal to rich text string count, that means to add the new rich text string to the end. In this case, this funcion equals to function Markup::AddRichText. |
[in] | content | Text string used as content of the new rich text string. This should not be an empty string. |
[in] | style | Style data used for the new rich text string. |
bool foxit::pdf::annots::Markup::IsGrouped | ( | ) |
Check whether current markup annotation is in a group or not.
Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.
bool foxit::pdf::annots::Markup::RemoveAllReplies | ( | ) |
Remove all the replies.
bool foxit::pdf::annots::Markup::RemoveAllStateAnnots | ( | ) |
Remove all the state annotations.
State annotation is represented by note annotation, so, to remove state annotations means to remove this kind of note annotations (with their popup annotations if any) from the page.
bool foxit::pdf::annots::Markup::RemovePopup | ( | ) |
Remove related pop-up annotation.
bool foxit::pdf::annots::Markup::RemoveReply | ( | int | index | ) |
Remove a reply by index.
If specified reply has its own replies, these sub replies will be removed at the same time.
[in] | index | The index for a specified reply to be removed. Valid range: from 0 to (count-1). count is returned by function Markup::GetReplyCount. |
void foxit::pdf::annots::Markup::RemoveRichText | ( | int | index | ) |
Remove a rich text string specified by index.
Markup annotation's content can consist of several rich text strings.
[in] | index | Index for a rich text string whose style data is to be inserted at. Valid range: from 0 to (count-1). count is returned by function Markup::GetRichTextCount. |
void foxit::pdf::annots::Markup::SetCreationDateTime | ( | const DateTime & | date_time | ) |
Set creation date time.
[in] | date_time | The new date time to be set. |
void foxit::pdf::annots::Markup::SetIntent | ( | const String & | intent | ) |
Set intent name.
Following annotation types have predefined intent name:
If supported predefined intent name has been set to corresponding type of annotation, user should call function Annot::ResetAppearanceStream to make the effect on annotation's appearance.
[in] | intent | New intent name string to be set. If it is an empty string, that means the intent property will not be used. Some annotation type have predefined intent name, please refer to "Details" part for more details. If this string is one of those unsupported intent name, this string will be ignored when set to corresponding annotations. |
void foxit::pdf::annots::Markup::SetOpacity | ( | float | opacity | ) |
Set opacity value.
This property has effect on markup annotation's appearance. If user wants the new opacity value has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting the new opacity value.
[in] | opacity | The new opacity value. Valid range: 0.0 to 1.0 . 0.0 means full transparency and 1.0 means full opaque. |
void foxit::pdf::annots::Markup::SetPopup | ( | const Popup & | popup | ) |
Set related pop-up annotation.
Most markup annotations can have a pop-up annotation to show their content, except sound and free text annotations:
So, this function does not allow to set pop-up annotation to sound and free text annotation.
[in] | popup | A valid pop-up annotation to be set to current markup annotation. |
Set text string of a rich text string specified by index.
Markup annotation's content can consist of several rich text strings.
[in] | index | Index for a rich text string whose content is to be set. Valid range: from 0 to (count-1). count is returned by function Markup::GetRichTextCount. |
[in] | content | Text string to be set as content for specified rich text. This should not be an empty string. |
void foxit::pdf::annots::Markup::SetRichTextStyle | ( | int32 | index, |
const RichTextStyle & | style | ||
) |
Set style data of a rich text string specified by index.
Markup annotation's content can consist of several rich text strings.
Specially, if current annotation is a freetext and its intent is "FreeTextTypewriter", text aligment of input style will be set to all rich text strings of current freetext annotation.
[in] | index | Index for a rich text string whose style data is to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup::GetRichTextCount. |
[in] | style | Style data used to be set to specified rich text. |
void foxit::pdf::annots::Markup::SetSubject | ( | const WString & | subject | ) |
Set subject string.
[in] | subject | New subject string to be set. |
void foxit::pdf::annots::Markup::SetTitle | ( | const WString & | title | ) |
Set title string.
By convention, annotation's title can be used to identify the user who added current annotation.
[in] | title | New title string to be set. |
bool foxit::pdf::annots::Markup::Ungroup | ( | ) |
Ungroup current markup annotation from the group it belongs to.