summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-08-14 19:02:30 -0700
committerLei Zhang <thestig@chromium.org>2015-08-14 19:02:30 -0700
commit24fbf134d43a7ec4226de3db601f0a617bbe428b (patch)
treeb4313e784666623df89c635a3f9841a7cc7e817a /public
parentcb62e7657b3a9a04142028a4e6614029a08e894b (diff)
downloadpdfium-24fbf134d43a7ec4226de3db601f0a617bbe428b.tar.xz
Add new public APIs to find the z-order for links and widgets.chromium/2485chromium/2484
- 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 .
Diffstat (limited to 'public')
-rw-r--r--public/fpdf_doc.h39
-rw-r--r--public/fpdf_formfill.h45
2 files changed, 65 insertions, 19 deletions
diff --git a/public/fpdf_doc.h b/public/fpdf_doc.h
index ed05aed4d9..e537d2b6c1 100644
--- a/public/fpdf_doc.h
+++ b/public/fpdf_doc.h
@@ -177,24 +177,43 @@ 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().
//
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().
+//
+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 625a2b63e9..128c7ec818 100644
--- a/public/fpdf_formfill.h
+++ b/public/fpdf_formfill.h
@@ -962,17 +962,26 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle);
#define FPDF_FORMFIELD_TEXTFIELD 6 // 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,
@@ -980,6 +989,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.