Foxit PDF SDK

Public Types | Public Member Functions | Static Public Member Functions | List of all members
foxit::pdf::Destination Class Reference
Inheritance diagram for foxit::pdf::Destination:

## Public Types
enum | ZoomMode { e_ZoomXYZ = 1, e_ZoomFitPage = 2, e_ZoomFitHorz = 3, e_ZoomFitVert = 4, e_ZoomFitRect = 5, e_ZoomFitBBox = 6, e_ZoomFitBHorz = 7, e_ZoomFitBVert = 8 }
| Enumeration for zoom mode. More...

## Public Member Functions
| Destination (const Destination &other)
| Constructor, with another destination object. More...
| Destination (objects::PDFArray *dest_array)
| Constructor, with a specified PDF array object. More...
| ~Destination ()
| Destructor.
float | GetBottom () const
| Get bottom position value. More...
objects::PDFArray * | GetDestArray () const
| Get the destination PDF array. More...
float | GetLeft () const
| Get left position value. More...
int | GetPageIndex (const PDFDoc &document) const
| Get the index of the destination page. More...
float | GetRight () const
| Get right position value. More...
float | GetTop () const
| Get top position value. More...
float | GetZoomFactor () const
| Get zoom factor. More...
Destination::ZoomMode | GetZoomMode () const
| Get the zoom mode. More...
bool | IsEmpty () const
| Check whether current object is empty or not. More...
bool | IsLeftNull () const
| Check if left value is a null object. More...
bool | IsTopNull () const
| Check if top value is a null object. More...
bool | operator!= (const Destination &other) const
| Not equal operator. More...
Destination & | operator= (const Destination &other)
| Assign operator. More...
bool | operator== (const Destination &other) const
| Equal operator. More...
Public Member Functions inherited from foxit::Base
FS_HANDLE | Handle () const
| Get the handle of current object. More...

## Static Public Member Functions
static Destination | CreateFitBBox (const PDFDoc &document, int page_index)
| Create a destination object for zoom mode Destination::e_ZoomFitBBox. More...
static Destination | CreateFitBHorz (const PDFDoc &document, int page_index, float top)
| Create a destination object for zoom mode Destination::e_ZoomFitBHorz. More...
static Destination | CreateFitBVert (const PDFDoc &document, int page_index, float left)
| Create a destination object for zoom mode Destination::e_ZoomFitBVert. More...
static Destination | CreateFitHorz (const PDFDoc &document, int page_index, float top)
| Create a destination object for zoom mode Destination::e_ZoomFitHorz. More...
static Destination | CreateFitPage (const PDFDoc &document, int page_index)
| Create a destination object for zoom mode Destination::e_ZoomFitPage. More...
static Destination | CreateFitRect (const PDFDoc &document, int page_index, float left, float bottom, float right, float top)
| Create a destination object for zoom mode Destination::e_ZoomFitRect. More...
static Destination | CreateFitVert (const PDFDoc &document, int page_index, float left)
| Create a destination object for zoom mode Destination::e_ZoomFitVert. More...
static Destination | CreateFromPDFArray (const PDFDoc &document, objects::PDFArray *pdf_array)
| Create a destination object from an existing destination array. More...
static Destination | CreateXYZ (const PDFDoc &document, int page_index, float left, float top, float zoom_factor)
| Create a destination object for zoom mode Destination::e_ZoomXYZ. More...

## Detailed Description

A destination defines a particular view of a PDF document, consisting of the following items:

- The page of the document to be displayed.
- The location of the document window on that page.
- The magnification (zoom) factor to use when displaying the page.

Destinations may be associated with bookmarks, or some types of actions. In each case, the destination specifies the view of the document to be presented when the bookmark item or link annotation is opened or the action is performed.
This class offers functions to create destination objects for different zoom modes, and get destination data.

See also
  pdf::Bookmark
  actions::GotoAction
  actions::RemoteGotoAction
  actions::EmbeddedGotoAction

## Member Enumeration Documentation

## ◆ ZoomMode

enum foxit::pdf::Destination::ZoomMode

Enumeration for zoom mode.

Values of this enumeration should be used alone.

Enumerator
e_ZoomXYZ | Display page with a specified position and a specified zoom factor. If this is used, that means the specified position of the page will be treated as the left-top position when the page is rendered and this position should be at the upper-left corner of the display area. Contents of the page should be magnified by the specified zoom factor.
e_ZoomFitPage | Fit the entire page within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit the entire page within the display area both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the page within the window in the other dimension.
e_ZoomFitHorz | Fit the entire width of the page within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit the entire width of the page within the display area.
e_ZoomFitVert | Fit the entire height of the page within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit the entire height of the page within the display area.
e_ZoomFitRect | Fit the page content in a specified rectangle entirely within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit the page content in the specified rectangle entirely within the display area both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the rectangle within the display area in the other dimension.
e_ZoomFitBBox | Fit the bounding box of page entirely within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit its bounding box entirely within the display area both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the bounding box within the display area in the other dimension.
e_ZoomFitBHorz | Fit the entire width of the page's bounding box within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit the entire width of the page's bounding box within the display area.
e_ZoomFitBVert | Fit the entire height of the page's bounding box within the display area when display the page. If this is used, that means the contents of the page should be magnified just enough to fit the entire height of the page's bounding box within the display area.

## Constructor & Destructor Documentation

## ◆ Destination() [1/2]

foxit::pdf::Destination::Destination | ( | objects::PDFArray * | dest_array | ) |
| explicit

Constructor, with a specified PDF array object.

Parameters

  [in] | dest_array | A PDF array object that represents destination data.

## ◆ Destination() [2/2]

foxit::pdf::Destination::Destination | ( | const Destination & | other | ) |

Constructor, with another destination object.

Parameters

  [in] | other | Another destination object.

## Member Function Documentation

## ◆ CreateFitBBox()

static Destination foxit::pdf::Destination::CreateFitBBox | ( | const PDFDoc & | document,
|  | int | page_index
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitBBox.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.

Returns
  A new destination object.

## ◆ CreateFitBHorz()

static Destination foxit::pdf::Destination::CreateFitBHorz | ( | const PDFDoc & | document,
|  | int | page_index,
|  | float | top
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitBHorz.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.
  [in] | top | The vertical coordinate of top edge

Returns
  A new destination object.

## ◆ CreateFitBVert()

static Destination foxit::pdf::Destination::CreateFitBVert | ( | const PDFDoc & | document,
|  | int | page_index,
|  | float | left
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitBVert.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.
  [in] | left | Horizontal coordinate of left edge.

Returns
  A new destination object.

## ◆ CreateFitHorz()

static Destination foxit::pdf::Destination::CreateFitHorz | ( | const PDFDoc & | document,
|  | int | page_index,
|  | float | top
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitHorz.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.
  [in] | top | Vertical coordinate of top edge.

Returns
  A new destination object.

## ◆ CreateFitPage()

static Destination foxit::pdf::Destination::CreateFitPage | ( | const PDFDoc & | document,
|  | int | page_index
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitPage.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.

Returns
  A new destination object.

## ◆ CreateFitRect()

static Destination foxit::pdf::Destination::CreateFitRect | ( | const PDFDoc & | document,
|  | int | page_index,
|  | float | left,
|  | float | bottom,
|  | float | right,
|  | float | top
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitRect.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.
  [in] | left | The coordinate left of a rectangle.
  [in] | bottom | The coordinate bottom of a rectangle.
  [in] | right | The coordinate right of a rectangle.
  [in] | top | The coordinate top of a rectangle.

Returns
  A new destination object.

## ◆ CreateFitVert()

static Destination foxit::pdf::Destination::CreateFitVert | ( | const PDFDoc & | document,
|  | int | page_index,
|  | float | left
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomFitVert.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.
  [in] | left | Horizontal coordinate of left edge.

Returns
  A new destination object.

## ◆ CreateFromPDFArray()

static Destination foxit::pdf::Destination::CreateFromPDFArray | ( | const PDFDoc & | document,
|  | objects::PDFArray * | pdf_array
| ) |  |
| static

Create a destination object from an existing destination array.

Parameters

  [in] | document | A valid PDF document object.
  [in] | pdf_array | A destination PDF array. This PDF array can be retrieved from a objects::PDFNameTree in type objects::PDFNameTree::e_Dests.

Returns
  A new destination object.

## ◆ CreateXYZ()

static Destination foxit::pdf::Destination::CreateXYZ | ( | const PDFDoc & | document,
|  | int | page_index,
|  | float | left,
|  | float | top,
|  | float | zoom_factor
| ) |  |
| static

Create a destination object for zoom mode Destination::e_ZoomXYZ.

Parameters

  [in] | document | A valid PDF document object.
  [in] | page_index | The index of the destination page in the PDF document.
  [in] | left | Horizontal coordinate value of a position as page's left-top position.
  [in] | top | Vertical coordinate value of a position as page's left-top position.
  [in] | zoom_factor | Zoom factor value.

Returns
  A new destination object.

## ◆ GetBottom()

float foxit::pdf::Destination::GetBottom | ( |  | ) | const

Get bottom position value.

This is only useful when zoom mode is Destination::e_ZoomFitRect. For other zoom modes, this function will be 0.0f.

Returns
  The bottom position value.

## ◆ GetDestArray()

objects::PDFArray* foxit::pdf::Destination::GetDestArray | ( |  | ) | const

Get the destination PDF array.

Returns
  The destination PDF array.If there is any error, this function will return NULL.

## ◆ GetLeft()

float foxit::pdf::Destination::GetLeft | ( |  | ) | const

Get left position value.

This is only useful when zoom mode is Destination::e_ZoomXYZ, Destination::e_ZoomFitVert, Destination::e_ZoomFitRect or Destination::e_ZoomFitBVert. Specially for Destination::e_ZoomXYZ, Destination::e_ZoomFitVert and Destination::e_ZoomFitBVert, left value may be a null object, which means that just use current left value of application as the destination's left value. For this case, this function will return 0.0f. In order to check if the left value is just 0 or a null object, user is recommended to call function Destination::IsLeftNull.
For other zoom modes, this function will return 0.0f.

Returns
  The left position value.

## ◆ GetPageIndex()

int foxit::pdf::Destination::GetPageIndex | ( | const PDFDoc & | document | ) | const

Get the index of the destination page.

Parameters

  [in] | document | A valid PDF document object.

Returns
  The page index, starting from 0. If there is any error, this function will return -1.

## ◆ GetRight()

float foxit::pdf::Destination::GetRight | ( |  | ) | const

Get right position value.

This is only useful when zoom mode is Destination::e_ZoomFitRect. For other zoom modes, this function will be 0.0f.

Returns
  The right position value.

## ◆ GetTop()

float foxit::pdf::Destination::GetTop | ( |  | ) | const

Get top position value.

This is only useful when zoom mode is Destination::e_ZoomXYZ, Destination::e_ZoomFitHorz, Destination::e_ZoomFitBHorz or Destination::e_ZoomFitRect. Specially for Destination::e_ZoomXYZ, Destination::e_ZoomFitHorz and Destination::e_ZoomFitBHorz, top value may be a null object, which means that just use current top value of application as the destination's top value. For this case, this function will return 0.0f. In order to check if the left value is just 0 or a null object, user is recommended to call function Destination::IsTopNull.
For other zoom modes, this function will return 0.0f.

Returns
  The top position value.

## ◆ GetZoomFactor()

float foxit::pdf::Destination::GetZoomFactor | ( |  | ) | const

Get zoom factor.

This is only useful when zoom mode is Destination::e_ZoomXYZ. For Destination::e_ZoomXYZ, if the zoom factor is 0, that means just use current zoom factor of application as the destination zoom factor.
For other zoom modes, this function will be 0.0f.

Returns
  The zoom factor.

## ◆ GetZoomMode()

Destination::ZoomMode foxit::pdf::Destination::GetZoomMode | ( |  | ) | const

Get the zoom mode.

Returns
  Zoom mode value. Please refer to values starting from Destination::e_ZoomXYZ and this would be one of these values. If no zoom mode or zoom mode is unknown, this function will return 0.

## ◆ IsEmpty()

bool foxit::pdf::Destination::IsEmpty | ( |  | ) | const

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
  true means current object is empty, while false means not.

## ◆ IsLeftNull()

bool foxit::pdf::Destination::IsLeftNull | ( |  | ) | const

Check if left value is a null object.

This is only useful when zoom mode is Destination::e_ZoomXYZ, Destination::e_ZoomFitVert or Destination::e_ZoomFitBVert. This function can be used to check if the left value is a null object. For other zoom modes, this function will return false.

Returns
  true means left value is a null object, and false means left value is not a null object and the left value can be retrieved by function Destination::GetLeft.

## ◆ IsTopNull()

bool foxit::pdf::Destination::IsTopNull | ( |  | ) | const

Check if top value is a null object.

This is only useful when zoom mode is Destination::e_ZoomXYZ, Destination::e_ZoomFitHorz, or Destination::e_ZoomFitBHorz. This function can be used to check if the top value is a null object. For other zoom modes, this function will return false.

Returns
  true means top value is a null object, and false means top value is not a null object and the top value can be retrieved by function Destination::GetTop.

## ◆ operator!=()

bool foxit::pdf::Destination::operator!= | ( | const Destination & | other | ) | const

Not equal operator.

Parameters

  [in] | other | Another destination object. This function will check if current object is not equal to this one.

Returns
  true means not equal, while false means equal.

## ◆ operator=()

Destination& foxit::pdf::Destination::operator= | ( | const Destination & | other | ) |

Assign operator.

Parameters

  [in] | other | Another destination object, whose value would be assigned to current object.

Returns
  Reference to current object itself.

## ◆ operator==()

bool foxit::pdf::Destination::operator== | ( | const Destination & | other | ) | const

Equal operator.

Parameters

  [in] | other | Another destination object. This function will check if current object is equal to this one.

Returns
  true means equal, while false means not equal.