diff options
author | Lei Zhang <thestig@chromium.org> | 2015-08-14 19:24:08 -0700 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2015-08-14 19:24:08 -0700 |
commit | bdf72c353af5b8a34ef5efdeddfff36d2089a158 (patch) | |
tree | 34258c3019152b41bbfd8f3332683dbc25c0c9da /public | |
parent | 88f0bafb4163d297b51055124d4d35b769905216 (diff) | |
download | pdfium-bdf72c353af5b8a34ef5efdeddfff36d2089a158.tar.xz |
Merge to XFA: Add new public APIs to find the z-order for links and widgets.
- Implement FPDFLink_GetLinkZOrderAtPoint().
- Implement FPDFPage_FormFieldZOrderAtPoint().
- Mark FPDPage_HasFormFieldAtPoint() as deprecated.
- Modify CPDF_LinkList and CPDF_InterForm to support new APIs.
- Clean up dead code in CPDF_LinkList and CPDF_InterForm.
BUG=chromium:515837
R=jun_fang@foxitsoftware.com, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1278053004 .
(cherry picked from commit 24fbf134d43a7ec4226de3db601f0a617bbe428b)
Review URL: https://codereview.chromium.org/1295893005 .
Diffstat (limited to 'public')
-rw-r--r-- | public/fpdf_doc.h | 49 | ||||
-rw-r--r-- | public/fpdf_formfill.h | 45 |
2 files changed, 73 insertions, 21 deletions
diff --git a/public/fpdf_doc.h b/public/fpdf_doc.h index 9e3f0af6d1..ca16d26627 100644 --- a/public/fpdf_doc.h +++ b/public/fpdf_doc.h @@ -177,27 +177,52 @@ 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. +// 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. +// 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. +// 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. +// The point coordinates are specified in page coordinate system. You can +// convert coordinates from screen system to page system using +// FPDF_DeviceToPage(). +// // Notes: -// The method can not support this feature for the document consists of -// dynamic XFA fields. +// The method can not support this feature for the document consists of +// dynamic XFA fields. // DLLEXPORT FPDF_LINK STDCALL FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, double y); +// Function: FPDFLink_GetLinkZOrderAtPoint +// Find the z-order of 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: +// Z-order of the link, or -1 if no link found at that point. +// Higher numbers are closer to the front. +// Comments: +// The point coordinates are specified in page coordinate system. You can +// convert coordinates from screen system to page system using +// FPDF_DeviceToPage(). +// +// Notes: +// The method can not support this feature for the document consists of +// dynamic XFA fields. +// +// +DLLEXPORT int STDCALL +FPDFLink_GetLinkZOrderAtPoint(FPDF_PAGE page, double x, double y); + // Function: FPDFLink_GetDest // Get destination info of a link. // Parameters: diff --git a/public/fpdf_formfill.h b/public/fpdf_formfill.h index 73fe491435..7be678cd47 100644 --- a/public/fpdf_formfill.h +++ b/public/fpdf_formfill.h @@ -1311,17 +1311,26 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle); #define FPDF_FORMFIELD_XFA 7 // text field type. /** - * Function: FPDPage_HasFormFieldAtPoint - * Check the form filed position by point. + * Function: FPDFPage_HasFormFieldAtPoint + * Get the form field type by point. * Parameters: - * hHandle - Handle to the form fill module. Returned by - *FPDFDOC_InitFormFillEnvironment. - * page - Handle to the page. Returned by FPDF_LoadPage - *function. - * page_x - X position in PDF "user space". - * page_y - Y position in PDF "user space". + * hHandle - Handle to the form fill module. Returned by + * FPDFDOC_InitFormFillEnvironment(). + * page - Handle to the page. Returned by FPDF_LoadPage(). + * page_x - X position in PDF "user space". + * page_y - Y position in PDF "user space". * Return Value: - * Return the type of the formfiled; -1 indicates no fields. + * Return the type of the form field; -1 indicates no field. + * See field types above. + **/ +DLLEXPORT int STDCALL FPDFPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle, + FPDF_PAGE page, + double page_x, + double page_y); + +/** + * Function: FPDPage_HasFormFieldAtPoint + * DEPRECATED. Please use FPDFPage_HasFormFieldAtPoint. **/ DLLEXPORT int STDCALL FPDPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, @@ -1329,6 +1338,24 @@ DLLEXPORT int STDCALL FPDPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle, double page_y); /** + * Function: FPDFPage_FormFieldZOrderAtPoint + * Get the form field z-order by point. + * Parameters: + * hHandle - Handle to the form fill module. Returned by + * FPDFDOC_InitFormFillEnvironment(). + * page - Handle to the page. Returned by FPDF_LoadPage(). + * page_x - X position in PDF "user space". + * page_y - Y position in PDF "user space". + * Return Value: + * Return the z-order of the form field; -1 indicates no field. + * Higher numbers are closer to the front. + **/ +DLLEXPORT int STDCALL FPDFPage_FormFieldZOrderAtPoint(FPDF_FORMHANDLE hHandle, + FPDF_PAGE page, + double page_x, + double page_y); + +/** * Function: FPDF_SetFormFieldHighlightColor * Set the highlight color of specified or all the form fields in the *document. |