diff options
Diffstat (limited to 'fpdfsdk/include/fpdfdoc.h')
-rw-r--r-- | fpdfsdk/include/fpdfdoc.h | 460 |
1 files changed, 230 insertions, 230 deletions
diff --git a/fpdfsdk/include/fpdfdoc.h b/fpdfsdk/include/fpdfdoc.h index 35c2c9674c..54ede4037a 100644 --- a/fpdfsdk/include/fpdfdoc.h +++ b/fpdfsdk/include/fpdfdoc.h @@ -1,230 +1,230 @@ -// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _FPDFDOC_H_
-#define _FPDFDOC_H_
-
-#include "fpdfview.h"
-
-// Exported Functions
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Function: FPDFBookmark_Find
-// Find a bookmark in the document, using the bookmark title.
-// Parameters:
-// document - Handle to the document. Returned by FPDF_LoadDocument or FPDF_LoadMemDocument.
-// title - The UTF-16LE encoded Unicode string for the bookmark title to be searched. Can't be NULL.
-// Return value:
-// Handle to the found bookmark item. NULL if the title can't be found.
-// Comments:
-// It always returns the first found bookmark if more than one bookmarks have the same title.
-//
-DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_Find(FPDF_DOCUMENT document, FPDF_WIDESTRING title);
-
-// Function: FPDFBookmark_GetDest
-// Get the destination associated with a bookmark item.
-// Parameters:
-// document - Handle to the document.
-// bookmark - Handle to the bookmark.
-// Return value:
-// Handle to the destination data. NULL if no destination is associated with this bookmark.
-//
-DLLEXPORT FPDF_DEST STDCALL FPDFBookmark_GetDest(FPDF_DOCUMENT document, FPDF_BOOKMARK bookmark);
-
-// Function: FPDFBookmark_GetAction
-// Get the action associated with a bookmark item.
-// Parameters:
-// bookmark - Handle to the bookmark.
-// Return value:
-// Handle to the action data. NULL if no action is associated with this bookmark. In this case, the
-// application should try FPDFBookmark_GetDest.
-//
-DLLEXPORT FPDF_ACTION STDCALL FPDFBookmark_GetAction(FPDF_BOOKMARK bookmark);
-
-#define PDFACTION_UNSUPPORTED 0 // Unsupported action type.
-#define PDFACTION_GOTO 1 // Go to a destination within current document.
-#define PDFACTION_REMOTEGOTO 2 // Go to a destination within another document.
-#define PDFACTION_URI 3 // Universal Resource Identifier, including web pages and
- // other Internet based resources.
-#define PDFACTION_LAUNCH 4 // Launch an application or open a file.
-
-// Function: FPDFAction_GetType
-// Get type of an action.
-// Parameters:
-// action - Handle to the action.
-// Return value:
-// A type number as defined above.
-//
-DLLEXPORT unsigned long STDCALL FPDFAction_GetType(FPDF_ACTION action);
-
-// Function: FPDFAction_GetDest
-// Get destination of an action.
-// Parameters:
-// document - Handle to the document.
-// action - Handle to the action. It must be a GOTO or REMOTEGOTO action.
-// Return value:
-// Handle to the destination data.
-// Comments:
-// In case of remote goto action, the application should first use FPDFAction_GetFilePath to
-// get file path, then load that particular document, and use its document handle to call this
-// function.
-//
-DLLEXPORT FPDF_DEST STDCALL FPDFAction_GetDest(FPDF_DOCUMENT document, FPDF_ACTION action);
-
-// Function: FPDFAction_GetURIPath
-// Get URI path of a URI action.
-// Parameters:
-// document - Handle to the document.
-// action - Handle to the action. Must be a URI action.
-// buffer - A buffer for output the path string. Can be NULL.
-// buflen - The length of the buffer, number of bytes. Can be 0.
-// Return value:
-// Number of bytes the URI path consumes, including trailing zeros.
-// Comments:
-// The URI path is always encoded in 7-bit ASCII.
-//
-// The return value always indicated number of bytes required for the buffer, even when there is
-// no buffer specified, or the buffer size is less then required. In this case, the buffer will not
-// be modified.
-//
-DLLEXPORT unsigned long STDCALL FPDFAction_GetURIPath(FPDF_DOCUMENT document, FPDF_ACTION action,
- void* buffer, unsigned long buflen);
-
-// Function: FPDFDest_GetPageIndex
-// Get page index of a destination.
-// Parameters:
-// document - Handle to the document.
-// dest - Handle to the destination.
-// Return value:
-// The page index. Starting from 0 for the first page.
-//
-DLLEXPORT unsigned long STDCALL FPDFDest_GetPageIndex(FPDF_DOCUMENT document, FPDF_DEST dest);
-
-// Function: FPDFLink_GetLinkAtPoint
-// Find a link at specified point on a document page.
-// Parameters:
-// page - Handle to the document page.
-// x - The x coordinate of the point, specified in page coordinate system.
-// y - The y coordinate of the point, specified in page coordinate system.
-// Return value:
-// Handle to the link. NULL if no link found at that point.
-// Comments:
-// The point coordinates are specified in page coordinate system. You can convert coordinates
-// from screen system to page system using FPDF_DeviceToPage functions.
-//
-DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, double y);
-
-// Function: FPDFLink_GetDest
-// Get destination info of a link.
-// Parameters:
-// document - Handle to the document.
-// link - Handle to the link. Returned by FPDFLink_GetLinkAtPoint.
-// Return value:
-// Handle to the destination. NULL if there is no destination associated with the link, in this case
-// the application should try FPDFLink_GetAction.
-//
-DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document, FPDF_LINK link);
-
-// Function: FPDFLink_GetAction
-// Get action info of a link.
-// Parameters:
-// link - Handle to the link.
-// Return value:
-// Handle to the action. NULL if there is no action associated with the link.
-//
-DLLEXPORT FPDF_ACTION STDCALL FPDFLink_GetAction(FPDF_LINK link);
-
-// Function: FPDFLink_Enumerate
-// This function would enumerate all the link annotations in a single PDF page.
-// Parameters:
-// page[in] - Handle to the page.
-// startPos[in,out] - The start position to enumerate the link annotations, which should be specified to start from
-// - 0 for the first call, and would receive the next position for enumerating to start from.
-// linkAnnot[out] - Receive the link handle.
-// Return value:
-// TRUE if succceed, else False;
-//
-DLLEXPORT FPDF_BOOL STDCALL FPDFLink_Enumerate(FPDF_PAGE page, int* startPos, FPDF_LINK* linkAnnot);
-
-// Function: FPDFLink_GetAnnotRect
-// Get the annotation rectangle. (Specified by the ˇ°Rectˇ± entry of annotation dictionary).
-// Parameters:
-// linkAnnot[in] - Handle to the link annotation.
-// rect[out] - The annotation rect.
-// Return value:
-// TRUE if succceed, else False;
-//
-DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetAnnotRect(FPDF_LINK linkAnnot, FS_RECTF* rect);
-
-// Function: FPDFLink_CountQuadPoints
-// Get the count of quadrilateral points to the link annotation.
-// Parameters:
-// linkAnnot[in] - Handle to the link annotation.
-// Return value:
-// The count of quadrilateral points.
-//
-DLLEXPORT int STDCALL FPDFLink_CountQuadPoints(FPDF_LINK linkAnnot);
-
-/* _FS_DEF_STRUCTURE_QUADPOINTSF_ */
-#ifndef _FS_DEF_STRUCTURE_QUADPOINTSF_
-#define _FS_DEF_STRUCTURE_QUADPOINTSF_
-typedef struct _FS_QUADPOINTSF
-{
- FS_FLOAT x1;
- FS_FLOAT y1;
- FS_FLOAT x2;
- FS_FLOAT y2;
- FS_FLOAT x3;
- FS_FLOAT y3;
- FS_FLOAT x4;
- FS_FLOAT y4;
-} FS_QUADPOINTSF;
-#endif /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */
-
-// Function: FPDFLink_GetQuadPoints
-// Get the quadrilateral points for the specified index in the link annotation.
-// Parameters:
-// linkAnnot[in] - Handle to the link annotation.
-// quadIndex[in] - The specified quad points index.
-// quadPoints[out] - Receive the quadrilateral points.
-// Return value:
-// True if succeed, else False.
-//
-DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetQuadPoints(FPDF_LINK linkAnnot, int quadIndex, FS_QUADPOINTSF* quadPoints);
-
-// Function: FPDF_GetMetaText
-// Get a text from meta data of the document. Result is encoded in UTF-16LE.
-// Parameters:
-// doc - Handle to a document
-// tag - The tag for the meta data. Currently, It can be "Title", "Author",
-// "Subject", "Keywords", "Creator", "Producer", "CreationDate", or "ModDate".
-// For detailed explanation of these tags and their respective values,
-// please refer to PDF Reference 1.6, section 10.2.1, "Document Information Dictionary".
-// buffer - A buffer for output the title. Can be NULL.
-// buflen - The length of the buffer, number of bytes. Can be 0.
-// Return value:
-// Number of bytes the title consumes, including trailing zeros.
-// Comments:
-// No matter on what platform, the title is always output in UTF-16LE encoding, which means the buffer
-// can be regarded as an array of WORD (on Intel and compatible CPUs), each WORD represent the Unicode of
-// a character (some special Unicode may take 2 WORDs). The string is followed by two bytes of zero
-// indicating end of the string.
-//
-// The return value always indicated number of bytes required for the buffer, even when there is
-// no buffer specified, or the buffer size is less then required. In this case, the buffer will not
-// be modified.
-//
-DLLEXPORT unsigned long STDCALL FPDF_GetMetaText(FPDF_DOCUMENT doc, FPDF_BYTESTRING tag,
- void* buffer, unsigned long buflen);
-
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif // _FPDFDOC_H_
+// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef _FPDFDOC_H_ +#define _FPDFDOC_H_ + +#include "fpdfview.h" + +// Exported Functions +#ifdef __cplusplus +extern "C" { +#endif + +// Function: FPDFBookmark_Find +// Find a bookmark in the document, using the bookmark title. +// Parameters: +// document - Handle to the document. Returned by FPDF_LoadDocument or FPDF_LoadMemDocument. +// title - The UTF-16LE encoded Unicode string for the bookmark title to be searched. Can't be NULL. +// Return value: +// Handle to the found bookmark item. NULL if the title can't be found. +// Comments: +// It always returns the first found bookmark if more than one bookmarks have the same title. +// +DLLEXPORT FPDF_BOOKMARK STDCALL FPDFBookmark_Find(FPDF_DOCUMENT document, FPDF_WIDESTRING title); + +// Function: FPDFBookmark_GetDest +// Get the destination associated with a bookmark item. +// Parameters: +// document - Handle to the document. +// bookmark - Handle to the bookmark. +// Return value: +// Handle to the destination data. NULL if no destination is associated with this bookmark. +// +DLLEXPORT FPDF_DEST STDCALL FPDFBookmark_GetDest(FPDF_DOCUMENT document, FPDF_BOOKMARK bookmark); + +// Function: FPDFBookmark_GetAction +// Get the action associated with a bookmark item. +// Parameters: +// bookmark - Handle to the bookmark. +// Return value: +// Handle to the action data. NULL if no action is associated with this bookmark. In this case, the +// application should try FPDFBookmark_GetDest. +// +DLLEXPORT FPDF_ACTION STDCALL FPDFBookmark_GetAction(FPDF_BOOKMARK bookmark); + +#define PDFACTION_UNSUPPORTED 0 // Unsupported action type. +#define PDFACTION_GOTO 1 // Go to a destination within current document. +#define PDFACTION_REMOTEGOTO 2 // Go to a destination within another document. +#define PDFACTION_URI 3 // Universal Resource Identifier, including web pages and + // other Internet based resources. +#define PDFACTION_LAUNCH 4 // Launch an application or open a file. + +// Function: FPDFAction_GetType +// Get type of an action. +// Parameters: +// action - Handle to the action. +// Return value: +// A type number as defined above. +// +DLLEXPORT unsigned long STDCALL FPDFAction_GetType(FPDF_ACTION action); + +// Function: FPDFAction_GetDest +// Get destination of an action. +// Parameters: +// document - Handle to the document. +// action - Handle to the action. It must be a GOTO or REMOTEGOTO action. +// Return value: +// Handle to the destination data. +// Comments: +// In case of remote goto action, the application should first use FPDFAction_GetFilePath to +// get file path, then load that particular document, and use its document handle to call this +// function. +// +DLLEXPORT FPDF_DEST STDCALL FPDFAction_GetDest(FPDF_DOCUMENT document, FPDF_ACTION action); + +// Function: FPDFAction_GetURIPath +// Get URI path of a URI action. +// Parameters: +// document - Handle to the document. +// action - Handle to the action. Must be a URI action. +// buffer - A buffer for output the path string. Can be NULL. +// buflen - The length of the buffer, number of bytes. Can be 0. +// Return value: +// Number of bytes the URI path consumes, including trailing zeros. +// Comments: +// The URI path is always encoded in 7-bit ASCII. +// +// The return value always indicated number of bytes required for the buffer, even when there is +// no buffer specified, or the buffer size is less then required. In this case, the buffer will not +// be modified. +// +DLLEXPORT unsigned long STDCALL FPDFAction_GetURIPath(FPDF_DOCUMENT document, FPDF_ACTION action, + void* buffer, unsigned long buflen); + +// Function: FPDFDest_GetPageIndex +// Get page index of a destination. +// Parameters: +// document - Handle to the document. +// dest - Handle to the destination. +// Return value: +// The page index. Starting from 0 for the first page. +// +DLLEXPORT unsigned long STDCALL FPDFDest_GetPageIndex(FPDF_DOCUMENT document, FPDF_DEST dest); + +// Function: FPDFLink_GetLinkAtPoint +// Find a link at specified point on a document page. +// Parameters: +// page - Handle to the document page. +// x - The x coordinate of the point, specified in page coordinate system. +// y - The y coordinate of the point, specified in page coordinate system. +// Return value: +// Handle to the link. NULL if no link found at that point. +// Comments: +// The point coordinates are specified in page coordinate system. You can convert coordinates +// from screen system to page system using FPDF_DeviceToPage functions. +// +DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, double y); + +// Function: FPDFLink_GetDest +// Get destination info of a link. +// Parameters: +// document - Handle to the document. +// link - Handle to the link. Returned by FPDFLink_GetLinkAtPoint. +// Return value: +// Handle to the destination. NULL if there is no destination associated with the link, in this case +// the application should try FPDFLink_GetAction. +// +DLLEXPORT FPDF_DEST STDCALL FPDFLink_GetDest(FPDF_DOCUMENT document, FPDF_LINK link); + +// Function: FPDFLink_GetAction +// Get action info of a link. +// Parameters: +// link - Handle to the link. +// Return value: +// Handle to the action. NULL if there is no action associated with the link. +// +DLLEXPORT FPDF_ACTION STDCALL FPDFLink_GetAction(FPDF_LINK link); + +// Function: FPDFLink_Enumerate +// This function would enumerate all the link annotations in a single PDF page. +// Parameters: +// page[in] - Handle to the page. +// startPos[in,out] - The start position to enumerate the link annotations, which should be specified to start from +// - 0 for the first call, and would receive the next position for enumerating to start from. +// linkAnnot[out] - Receive the link handle. +// Return value: +// TRUE if succceed, else False; +// +DLLEXPORT FPDF_BOOL STDCALL FPDFLink_Enumerate(FPDF_PAGE page, int* startPos, FPDF_LINK* linkAnnot); + +// Function: FPDFLink_GetAnnotRect +// Get the annotation rectangle. (Specified by the ˇ°Rectˇ± entry of annotation dictionary). +// Parameters: +// linkAnnot[in] - Handle to the link annotation. +// rect[out] - The annotation rect. +// Return value: +// TRUE if succceed, else False; +// +DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetAnnotRect(FPDF_LINK linkAnnot, FS_RECTF* rect); + +// Function: FPDFLink_CountQuadPoints +// Get the count of quadrilateral points to the link annotation. +// Parameters: +// linkAnnot[in] - Handle to the link annotation. +// Return value: +// The count of quadrilateral points. +// +DLLEXPORT int STDCALL FPDFLink_CountQuadPoints(FPDF_LINK linkAnnot); + +/* _FS_DEF_STRUCTURE_QUADPOINTSF_ */ +#ifndef _FS_DEF_STRUCTURE_QUADPOINTSF_ +#define _FS_DEF_STRUCTURE_QUADPOINTSF_ +typedef struct _FS_QUADPOINTSF +{ + FS_FLOAT x1; + FS_FLOAT y1; + FS_FLOAT x2; + FS_FLOAT y2; + FS_FLOAT x3; + FS_FLOAT y3; + FS_FLOAT x4; + FS_FLOAT y4; +} FS_QUADPOINTSF; +#endif /* _FS_DEF_STRUCTURE_QUADPOINTSF_ */ + +// Function: FPDFLink_GetQuadPoints +// Get the quadrilateral points for the specified index in the link annotation. +// Parameters: +// linkAnnot[in] - Handle to the link annotation. +// quadIndex[in] - The specified quad points index. +// quadPoints[out] - Receive the quadrilateral points. +// Return value: +// True if succeed, else False. +// +DLLEXPORT FPDF_BOOL STDCALL FPDFLink_GetQuadPoints(FPDF_LINK linkAnnot, int quadIndex, FS_QUADPOINTSF* quadPoints); + +// Function: FPDF_GetMetaText +// Get a text from meta data of the document. Result is encoded in UTF-16LE. +// Parameters: +// doc - Handle to a document +// tag - The tag for the meta data. Currently, It can be "Title", "Author", +// "Subject", "Keywords", "Creator", "Producer", "CreationDate", or "ModDate". +// For detailed explanation of these tags and their respective values, +// please refer to PDF Reference 1.6, section 10.2.1, "Document Information Dictionary". +// buffer - A buffer for output the title. Can be NULL. +// buflen - The length of the buffer, number of bytes. Can be 0. +// Return value: +// Number of bytes the title consumes, including trailing zeros. +// Comments: +// No matter on what platform, the title is always output in UTF-16LE encoding, which means the buffer +// can be regarded as an array of WORD (on Intel and compatible CPUs), each WORD represent the Unicode of +// a character (some special Unicode may take 2 WORDs). The string is followed by two bytes of zero +// indicating end of the string. +// +// The return value always indicated number of bytes required for the buffer, even when there is +// no buffer specified, or the buffer size is less then required. In this case, the buffer will not +// be modified. +// +DLLEXPORT unsigned long STDCALL FPDF_GetMetaText(FPDF_DOCUMENT doc, FPDF_BYTESTRING tag, + void* buffer, unsigned long buflen); + + +#ifdef __cplusplus +}; +#endif + +#endif // _FPDFDOC_H_ |