Add a NULL check in pdf_page_colors.cpp
[pdfium.git] / public / fpdf_formfill.h
index 90c8b26..baab18a 100644 (file)
@@ -293,17 +293,12 @@ typedef struct _IPDF_JsPlatform {
 
   /* Version 2. */
 
-  /**
-  *   pointer to the v8::Isolate to use, or NULL to force PDFium to create one.
-  **/
-  void* m_isolate;
+  void* m_isolate;               /* Unused in v3, retain for compatibility. */
+  unsigned int m_v8EmbedderSlot; /* Unused in v3, retain for compatibility. */
+
+  /* Version 3. */
+  /* Version 3 moves m_Isolate and m_v8EmbedderSlot to FPDF_LIBRARY_CONFIG. */
 
-  /**
-   *   The embedder data slot to use in the v8::Isolate to store PDFium's
-   *   per-isolate data. The value needs to be between 0 and
-   *   v8::Internals::kNumIsolateDataLots (exclusive).
-   */
-  unsigned int m_v8EmbedderSlot;
 } IPDF_JSPLATFORM;
 
 // Flags for Cursor type
@@ -767,6 +762,7 @@ DLLEXPORT void STDCALL FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle);
   0x13  // WP, before printing document, JavaScript action.
 #define FPDFDOC_AACTION_DP \
   0x14  // DP, after printing document, JavaScript action.
+
 /**
 * Function: FORM_DoDocumentAAction
 *           This method is required for performing the document's
@@ -961,17 +957,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,
@@ -979,6 +984,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.