fpdf_formfill.h revision 4d3acf4ec42bf6e838f9060103aff98fbf170794
1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved.
2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Use of this source code is governed by a BSD-style license that can be
3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// found in the LICENSE file.
4e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef PUBLIC_FPDF_FORMFILL_H_
8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#define PUBLIC_FPDF_FORMFILL_H_
9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// NOLINTNEXTLINE(build/include)
11e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include "fpdfview.h"
12e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
13e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef void* FPDF_FORMHANDLE;
14e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifdef PDF_ENABLE_XFA
16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define DOCTYPE_PDF 0          // Normal pdf Document
17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define DOCTYPE_DYNAMIC_XFA 1  // Dynamic xfa Document Type
18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define DOCTYPE_STATIC_XFA 2   // Static xfa Document Type
19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif  // PDF_ENABLE_XFA
20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
21e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Exported Functions
22e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef __cplusplus
23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovextern "C" {
24e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
25e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmanntypedef struct _IPDF_JsPlatform {
27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Version number of the interface. Currently must be 2.
29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int version;
31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
32ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /* Version 1. */
33ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
34ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
35ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: app_alert
36ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pop up a dialog to show warning or hint.
37ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
38ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
39ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
40ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
41ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
42ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
43ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Msg         -   A string containing the message to be displayed.
44ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Title       -   The title of the dialog.
45ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Type        -   The stype of button group.
46ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           0-OK(default);
47ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           1-OK,Cancel;
48ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           2-Yes,NO;
49ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           3-Yes, NO, Cancel.
50ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           nIcon       -   The Icon type.
51ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           0-Error(default);
52ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           1-Warning;
53ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           2-Question;
54ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           3-Status.
55ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           4-Asterisk
56ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
57ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           The return value could be the folowing type:
58ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           1-OK;
59ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           2-Cancel;
60ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           3-NO;
61ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           4-Yes;
62ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
63ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*app_alert)(struct _IPDF_JsPlatform* pThis,
64ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING Msg,
65ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING Title,
66ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   int Type,
67ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   int Icon);
68ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
69ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
70ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: app_beep
71ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Causes the system to play a sound.
72ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
73ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
74ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
75ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
76ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
77ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
78ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           nType       -   The sound type.
79ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           0 - Error
80ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           1 - Warning
81ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           2 - Question
82ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           3 - Status
83ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *                           4 - Default (default value)
84ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
85ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           None
86ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
87ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*app_beep)(struct _IPDF_JsPlatform* pThis, int nType);
88ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
89ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
90ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: app_response
91ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Displays a dialog box containing a question and an entry field for
92ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * the user to reply to the question.
93ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
94ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
95ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
96ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
97ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
98ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
99ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Question    -   The question to be posed to the user.
100ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Title       -   The title of the dialog box.
101ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Default     -   A default value for the answer to the question. If
102ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * not specified, no default value is presented.
103ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           cLabel      -   A short string to appear in front of and on the
104ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * same line as the edit text field.
105ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bPassword   -   If true, indicates that the user's response should
106ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * show as asterisks (*) or bullets (?) to mask the response, which might be
107ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * sensitive information. The default is false.
108ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           response    -   A string buffer allocated by SDK, to receive the
109ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * user's response.
110ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           length      -   The length of the buffer, number of bytes.
111ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Currently, It's always be 2048.
112ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
113ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       Number of bytes the complete user input would actually require, not
114ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * including trailing zeros, regardless of the value of the length
115ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       parameter or the presence of the response buffer.
116ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
117ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       No matter on what platform, the response buffer should be always
118ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * written using UTF-16LE encoding. If a response buffer is
119ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       present and the size of the user input exceeds the capacity of the
120ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * buffer as specified by the length parameter, only the
121ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       first "length" bytes of the user input are to be written to the
122ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * buffer.
123ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
124ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*app_response)(struct _IPDF_JsPlatform* pThis,
125ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING Question,
126ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING Title,
127ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING Default,
128ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING cLabel,
129ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_BOOL bPassword,
130ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      void* response,
131ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      int length);
132ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
133ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /*
134ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: Doc_getFilePath
135ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Get the file path of the current document.
136ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
137ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
138ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
139ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
140ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
141ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
142ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           filePath    -   The string buffer to receive the file path. Can be
143ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * NULL.
144ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           length      -   The length of the buffer, number of bytes. Can be
145ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * 0.
146ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
147ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       Number of bytes the filePath consumes, including trailing zeros.
148ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
149ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The filePath should be always input in local encoding.
150ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *
151ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The return value always indicated number of bytes required for the
1524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       buffer , even when there is no buffer specified, or the buffer size is
1534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       less than required. In this case, the buffer will not be modified.
154ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
155ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*Doc_getFilePath)(struct _IPDF_JsPlatform* pThis,
156ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         void* filePath,
157ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         int length);
158ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
159ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /*
160ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: Doc_mail
161ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Mails the data buffer as an attachment to all recipients, with or
162ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * without user interaction.
163ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
164ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
165ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
166ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
167ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
168ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
169ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           mailData    -   Pointer to the data buffer to be sent.Can be NULL.
170ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           length      -   The size,in bytes, of the buffer pointed by
171ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * mailData parameter.Can be 0.
172ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bUI         -   If true, the rest of the parameters are used in a
173ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * compose-new-message window that is displayed to the user. If false, the cTo
174ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * parameter is required and all others are optional.
175ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           To          -   A semicolon-delimited list of recipients for the
176ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * message.
177ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Subject     -   The subject of the message. The length limit is 64
178ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * KB.
179ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           CC          -   A semicolon-delimited list of CC recipients for
180ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * the message.
181ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           BCC         -   A semicolon-delimited list of BCC recipients for
182ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * the message.
183ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Msg         -   The content of the message. The length limit is 64
184ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * KB.
185ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
186ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           None.
187ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
188ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           If the parameter mailData is NULL or length is 0, the current
189ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * document will be mailed as an attachment to all recipients.
190ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
191ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*Doc_mail)(struct _IPDF_JsPlatform* pThis,
192ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   void* mailData,
193ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   int length,
194ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_BOOL bUI,
195ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING To,
196ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING Subject,
197ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING CC,
198ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING BCC,
199ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                   FPDF_WIDESTRING Msg);
200ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
201ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /*
202ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: Doc_print
203ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Prints all or a specific number of pages of the document.
204ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
205ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
206ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
207ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
208ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
209ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself.
210ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bUI         -   If true, will cause a UI to be presented to the
211ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * user to obtain printing information and confirm the action.
212ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           nStart      -   A 0-based index that defines the start of an
213ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * inclusive range of pages.
214ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           nEnd        -   A 0-based index that defines the end of an
215ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * inclusive page range.
216ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bSilent     -   If true, suppresses the cancel dialog box while
217ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * the document is printing. The default is false.
218ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bShrinkToFit    -   If true, the page is shrunk (if necessary) to
219ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * fit within the imageable area of the printed page.
220ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bPrintAsImage   -   If true, print pages as an image.
221ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bReverse    -   If true, print from nEnd to nStart.
222ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           bAnnotations    -   If true (the default), annotations are
223ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * printed.
224ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
225ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*Doc_print)(struct _IPDF_JsPlatform* pThis,
226ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    FPDF_BOOL bUI,
227ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    int nStart,
228ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    int nEnd,
229ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    FPDF_BOOL bSilent,
230ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    FPDF_BOOL bShrinkToFit,
231ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    FPDF_BOOL bPrintAsImage,
232ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    FPDF_BOOL bReverse,
233ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                    FPDF_BOOL bAnnotations);
234ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
235ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /*
236ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: Doc_submitForm
237ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Send the form data to a specified URL.
238ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
239ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
240ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
241ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
242ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
243ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
244ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           formData    -   Pointer to the data buffer to be sent.
245ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           length      -   The size,in bytes, of the buffer pointed by
246ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * formData parameter.
247ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           URL         -   The URL to send to.
248ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
249ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           None.
250ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *
251ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
252ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*Doc_submitForm)(struct _IPDF_JsPlatform* pThis,
253ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         void* formData,
254ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         int length,
255ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         FPDF_WIDESTRING URL);
256ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
257ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /*
258ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: Doc_gotoPage
259ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Jump to a specified page.
260ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
261ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
262ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
263ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
264ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
265ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself
266ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           nPageNum    -   The specified page number, zero for the first
267ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * page.
268ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
269ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           None.
270ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *
271ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
272ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*Doc_gotoPage)(struct _IPDF_JsPlatform* pThis, int nPageNum);
273ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /*
274ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: Field_browse
275ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Show a file selection dialog, and return the selected file path.
276ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
277ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
278ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
279ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
280ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
281ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           pThis       -   Pointer to the interface structure itself.
282ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           filePath    -   Pointer to the data buffer to receive the file
283ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * path.Can be NULL.
284ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           length      -   The length of the buffer, number of bytes. Can be
285ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * 0.
286ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return Value:
287ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       Number of bytes the filePath consumes, including trailing zeros.
288ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
289ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The filePath shoule be always input in local encoding.
290ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
291ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*Field_browse)(struct _IPDF_JsPlatform* pThis,
292ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      void* filePath,
293ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      int length);
294ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
295ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
296ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *   pointer to FPDF_FORMFILLINFO interface.
297ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
298ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void* m_pFormfillinfo;
299ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
300ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /* Version 2. */
301ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
302ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void* m_isolate;               /* Unused in v3, retain for compatibility. */
303ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned int m_v8EmbedderSlot; /* Unused in v3, retain for compatibility. */
304ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
305ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /* Version 3. */
306ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /* Version 3 moves m_Isolate and m_v8EmbedderSlot to FPDF_LIBRARY_CONFIG. */
307e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov} IPDF_JSPLATFORM;
308e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
309e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Flags for Cursor type
310ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXCT_ARROW 0
311ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXCT_NESW 1
312ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXCT_NWSE 2
313ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXCT_VBEAM 3
314ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXCT_HBEAM 4
315ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXCT_HAND 5
316e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
317e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
3184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * Function signature for the callback function passed to the FFI_SetTimer
3194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann * method.
320e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
321e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          idEvent     -   Identifier of the timer.
322e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return value:
323e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          None.
324e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
325ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmanntypedef void (*TimerCallback)(int idEvent);
326e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
327e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
328e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Declares of a struct type to the local system time.
329e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov**/
330ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmanntypedef struct _FPDF_SYSTEMTIME {
331ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wYear;         /* years since 1900 */
332ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wMonth;        /* months since January - [0,11] */
333ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wDayOfWeek;    /* days since Sunday - [0,6] */
334ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wDay;          /* day of the month - [1,31] */
335ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wHour;         /* hours since midnight - [0,23] */
336ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wMinute;       /* minutes after the hour - [0,59] */
337ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wSecond;       /* seconds after the minute - [0,59] */
338ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  unsigned short wMilliseconds; /* milliseconds after the second - [0,999] */
339ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} FPDF_SYSTEMTIME;
340ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
341ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifdef PDF_ENABLE_XFA
342ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// XFA
343ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
344ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * @name Pageview  event flags
345ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann */
346ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*@{*/
347ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/** @brief After a new pageview is added. */
348ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXFA_PAGEVIEWEVENT_POSTADDED 1
349ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/** @brief After a pageview is removed. */
350ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXFA_PAGEVIEWEVENT_POSTREMOVED 3
351ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*@}*/
352ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
353ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// menu
354ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
355ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * @name Macro Definitions for Right Context Menu Features Of XFA Fields
356ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann */
357ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*@{*/
3584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FXFA_MENU_COPY 1
3594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FXFA_MENU_CUT 2
3604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FXFA_MENU_SELECTALL 4
3614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FXFA_MENU_UNDO 8
3624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FXFA_MENU_REDO 16
3634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FXFA_MENU_PASTE 32
364ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*@}*/
365ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
366ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// file type
367ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
368ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * @name Macro Definitions for File Type.
369ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann */
370ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*@{*/
371ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXFA_SAVEAS_XML 1
372ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FXFA_SAVEAS_XDP 2
373ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*@}*/
374ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif  // PDF_ENABLE_XFA
375ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
376ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmanntypedef struct _FPDF_FORMFILLINFO {
377ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
378ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Version number of the interface. Currently must be 1 (when PDFium is built
379ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *  without the XFA module) or must be 2 (when built with the XFA module).
380ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   **/
381ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int version;
382ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
383ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /* Version 1. */
384ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
385ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *Method: Release
386ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         Give implementation a chance to release any data after the
387ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         interface is no longer used
388ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *Interface Version:
389ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         1
390ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *Implementation Required:
391ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         No
392ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *Comments:
393ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         Called by Foxit SDK during the final cleanup process.
394ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *Parameters:
395ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         pThis       -   Pointer to the interface structure itself
396ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *Return Value:
397ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *         None
398ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   */
399ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*Release)(struct _FPDF_FORMFILLINFO* pThis);
400ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
401ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
402ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Method: FFI_Invalidate
403ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          Invalidate the client area within the specified rectangle.
404ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Interface Version:
405ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          1
406ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Implementation Required:
407ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann      *           yes
408ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Parameters:
409ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          pThis       -   Pointer to the interface structure itself.
410ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          page        -   Handle to the page. Returned by FPDF_LoadPage
411ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *function.
412ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          left        -   Left position of the client area in PDF page
413ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *coordinate.
414ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          top         -   Top  position of the client area in PDF page
415ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *coordinate.
416ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          right       -   Right position of the client area in PDF page
417ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *coordinate.
418ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          bottom      -   Bottom position of the client area in PDF page
419ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *coordinate.
420ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Return Value:
421ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          None.
422ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *
423ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *comments:
424ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          All positions are measured in PDF "user space".
425ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          Implementation should call FPDF_RenderPageBitmap() function for
426ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *repainting a specified page area.
427ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
428ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_Invalidate)(struct _FPDF_FORMFILLINFO* pThis,
429ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         FPDF_PAGE page,
430ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         double left,
431ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         double top,
432ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         double right,
433ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         double bottom);
434ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
435ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
436ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Method: FFI_OutputSelectedRect
437ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          When user is taking the mouse to select texts on a form field,
438ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * this callback function will keep
439ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          returning the selected areas to the implementation.
440ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *
441ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Interface Version:
442ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          1
443ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Implementation Required:
444ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          No
445ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Parameters:
446ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          pThis       -   Pointer to the interface structure itself.
447ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          page        -   Handle to the page. Returned by FPDF_LoadPage
448ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * function.
449ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          left        -   Left position of the client area in PDF page
450ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * coordinate.
451ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          top         -   Top  position of the client area in PDF page
452ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * coordinate.
453ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          right       -   Right position of the client area in PDF page
454ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * coordinate.
455ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          bottom      -   Bottom position of the client area in PDF page
456ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * coordinate.
457ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * Return Value:
458ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          None.
459ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *
460ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * comments:
461ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          This CALLBACK function is useful for implementing special text
462ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * selection effect. Implementation should
463ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          first records the returned rectangles, then draw them one by one
464ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   * at the painting period, last,remove all
465ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann   *          the recorded rectangles when finish painting.
466ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  */
467ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_OutputSelectedRect)(struct _FPDF_FORMFILLINFO* pThis,
468ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 FPDF_PAGE page,
469ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 double left,
470ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 double top,
471ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 double right,
472ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 double bottom);
473ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
474ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
475ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_SetCursor
476ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           Set the Cursor shape.
477ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
478ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
479ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
480ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
481ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
482ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
483ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       nCursorType -   Cursor type. see Flags for Cursor type for the
484ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * details.
485ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *   Return value:
486ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
487ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
488ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_SetCursor)(struct _FPDF_FORMFILLINFO* pThis, int nCursorType);
489ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
490ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
491ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_SetTimer
4924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       This method installs a system timer. An interval value is specified,
4934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       and every time that interval elapses, the system must call into the
4944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       callback function with the timer ID as returned by this function.
495ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
4964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       1
497ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
4984d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       yes
499ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
500ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
501ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       uElapse     -   Specifies the time-out value, in milliseconds.
502ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       lpTimerFunc -   A pointer to the callback function-TimerCallback.
5034d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Return value:
504ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The timer identifier of the new timer if the function is successful.
505ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       An application passes this value to the FFI_KillTimer method to kill
506ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       the timer. Nonzero if it is successful; otherwise, it is zero.
507ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
508ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*FFI_SetTimer)(struct _FPDF_FORMFILLINFO* pThis,
509ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      int uElapse,
510ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      TimerCallback lpTimerFunc);
511ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
512ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
513ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_KillTimer
5144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       This method uninstalls a system timer identified by nIDEvent, as
5154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       set by an earlier call to FFI_SetTimer.
516ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
5174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       1
518ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
5194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       yes
520ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
521ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
5224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       nTimerID    -   The timer ID returned by FFI_SetTimer function.
5234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Return value:
524ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
525ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
526ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_KillTimer)(struct _FPDF_FORMFILLINFO* pThis, int nTimerID);
527ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
528ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
529ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetLocalTime
530ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method receives the current local time on the system.
531ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
532ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
533ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
534ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
535ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
536ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
537ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *   Return value:
538ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
539ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
540ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  FPDF_SYSTEMTIME (*FFI_GetLocalTime)(struct _FPDF_FORMFILLINFO* pThis);
541ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
542ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
543ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_OnChange
544ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will be invoked to notify implementation when the
545ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * value of any FormField on the document had been changed.
546ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
547ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
548ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
549ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           no
550ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
551ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
552ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *   Return value:
553ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
554ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
555ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_OnChange)(struct _FPDF_FORMFILLINFO* pThis);
556ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
557ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
558ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetPage
559ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method receives the page pointer associated with a specified
560ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * page index.
561ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
562ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
563ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
564ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
565ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
566ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
567ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       document    -   Handle to document. Returned by FPDF_LoadDocument
568ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * function.
569ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       nPageIndex  -   Index number of the page. 0 for the first page.
570ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
571ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       Handle to the page. Returned by FPDF_LoadPage function.
572ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
573ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       In some cases, the document-level JavaScript action may refer to a
574ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * page which hadn't been loaded yet.
575ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       To successfully run the javascript action, implementation need to load
576ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * the page for SDK.
577ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
5784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  FPDF_PAGE (*FFI_GetPage)(struct _FPDF_FORMFILLINFO* pThis,
5794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             FPDF_DOCUMENT document,
5804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             int nPageIndex);
581ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
582ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
583ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetCurrentPage
584ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       This method receives the current page pointer.
585ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
586ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
587ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
588ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
589ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
590ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
591ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       document    -   Handle to document. Returned by FPDF_LoadDocument
592ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * function.
593ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
594ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       Handle to the page. Returned by FPDF_LoadPage function.
595ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
5964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  FPDF_PAGE (*FFI_GetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis,
5974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_DOCUMENT document);
598ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
599ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
600ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetRotation
601ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method receives currently rotation of the page view.
602ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
603ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
604ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
605ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
606ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
607ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis       -   Pointer to the interface structure itself.
608ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       page        -   Handle to page. Returned by FPDF_LoadPage function.
609ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
610ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The page rotation. Should be 0(0 degree),1(90 degree),2(180
611ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * degree),3(270 degree), in a clockwise direction.
6124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *
6134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Note: Unused.
614ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
615ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*FFI_GetRotation)(struct _FPDF_FORMFILLINFO* pThis, FPDF_PAGE page);
616ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
617ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
618ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_ExecuteNamedAction
619ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will execute an named action.
620ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
621ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
622ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
623ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
624ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
625ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
626ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       namedAction     -   A byte string which indicates the named action,
627ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * terminated by 0.
628ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
629ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
630ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
631ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       See the named actions description of <<PDF Reference, version 1.7>>
632ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * for more details.
633ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
634ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_ExecuteNamedAction)(struct _FPDF_FORMFILLINFO* pThis,
635ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 FPDF_BYTESTRING namedAction);
636ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
637ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @brief This method will be called when a text field is getting or losing a
638ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * focus.
639ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *
640ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @param[in] pThis      Pointer to the interface structure itself.
641ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @param[in] value      The string value of the form field, in UTF-16LE
642ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * format.
643ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @param[in] valueLen   The length of the string value, number of characters
644ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * (not bytes).
645ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @param[in] is_focus   True if the form field is getting a focus, False for
646ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * losing a focus.
647ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *
648ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @return None.
649ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *
650ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * @note Currently,only support text field and combobox field.
651ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
652ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_SetTextFieldFocus)(struct _FPDF_FORMFILLINFO* pThis,
653ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                FPDF_WIDESTRING value,
654ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                FPDF_DWORD valueLen,
655ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                FPDF_BOOL is_focus);
656ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
657ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
658ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_DoURIAction
659ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This action resolves to a uniform resource identifier.
660ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
661ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
662ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
663ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           No
664ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
665ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
666ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       bsURI           -   A byte string which indicates the uniform resource
667ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * identifier, terminated by 0.
668ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
669ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
670ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
671ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       See the URI actions description of <<PDF Reference, version 1.7>> for
672ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * more details.
673ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * */
674ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_DoURIAction)(struct _FPDF_FORMFILLINFO* pThis,
675ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                          FPDF_BYTESTRING bsURI);
676ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
677ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
678ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_DoGoToAction
679ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This action changes the view to a specified destination.
680ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
681ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           1
682ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
683ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           No
684ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
685ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
686ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       nPageIndex      -   The index of the PDF page.
6874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       zoomMode        -   The zoom mode for viewing page. See below.
688ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       fPosArray       -   The float array which carries the position info.
689ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       sizeofArray     -   The size of float array.
6904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *
6914d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * PDFZoom values:
6924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - XYZ = 1
6934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITPAGE = 2
6944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITHORZ = 3
6954d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITVERT = 4
6964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITRECT = 5
6974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITBBOX = 6
6984d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITBHORZ = 7
6994d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *   - FITBVERT = 8
7004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *
701ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
702ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
703ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Comments:
704ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       See the Destinations description of <<PDF Reference, version 1.7>> in
705ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *8.2.1 for more details.
706ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
707ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_DoGoToAction)(struct _FPDF_FORMFILLINFO* pThis,
708ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           int nPageIndex,
709ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           int zoomMode,
710ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           float* fPosArray,
711ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           int sizeofArray);
712ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
713ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
714ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *   pointer to IPDF_JSPLATFORM interface
715ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
716ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  IPDF_JSPLATFORM* m_pJsPlatform;
717ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
718ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifdef PDF_ENABLE_XFA
719ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /* Version 2. */
720ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
721ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    * Method: FFI_DisplayCaret
722ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *           This method will show the caret at specified position.
723e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * Interface Version:
7244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    *           2
725e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * Implementation Required:
726e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    *           yes
727e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * Parameters:
728e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    *       pThis           -   Pointer to the interface structure itself.
729ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *       page            -   Handle to page. Returned by FPDF_LoadPage
730ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *function.
731ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *       left            -   Left position of the client area in PDF page
732ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *coordinate.
733ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *       top             -   Top position of the client area in PDF page
734ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *coordinate.
735ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *       right           -   Right position of the client area in PDF page
736ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *coordinate.
737ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *       bottom          -   Bottom position of the client area in PDF page
738ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann    *coordinate.
739e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * Return value:
740e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    *       None.
741e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    **/
742ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_DisplayCaret)(struct _FPDF_FORMFILLINFO* pThis,
743ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           FPDF_PAGE page,
744ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           FPDF_BOOL bVisible,
745ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           double left,
746ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           double top,
747ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           double right,
748ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           double bottom);
749ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
750ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
751ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetCurrentPageIndex
752ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will get the current page index.
753ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
7544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
755ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
756ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
757ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
758ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
759ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       document        -   Handle to document. Returned by FPDF_LoadDocument
760ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *function.
761ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
762ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The index of current page.
763ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
764ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*FFI_GetCurrentPageIndex)(struct _FPDF_FORMFILLINFO* pThis,
765ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 FPDF_DOCUMENT document);
766ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
767ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
768ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_SetCurrentPage
769ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will set the current page.
770ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
7714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
772ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
773ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
774ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
775ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
776ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       document        -   Handle to document. Returned by FPDF_LoadDocument
777ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *function.
778ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       iCurPage        -   The index of the PDF page.
779ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
780ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
781ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
782ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_SetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis,
783ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                             FPDF_DOCUMENT document,
784ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                             int iCurPage);
785ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
786ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
787ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GotoURL
788ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will link to the specified URL.
789ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
7904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
791ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
792ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           no
793ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
794ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
795ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       document        -   Handle to document. Returned by FPDF_LoadDocument
796ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *function.
797ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsURL           -   The string value of the URL, in UTF-16LE format.
798ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
799ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
800ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
801ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_GotoURL)(struct _FPDF_FORMFILLINFO* pThis,
802ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_DOCUMENT document,
803ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING wsURL);
804ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
805ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
806ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetPageViewRect
807ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will get the current page view rectangle.
808ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
8094d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
810ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
811ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
812ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
813ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
814ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       page            -   Handle to page. Returned by FPDF_LoadPage
815ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *function.
816ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       left            -   The pointer to receive left position of the page
817ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *view area in PDF page coordinate.
818ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       top             -   The pointer to receive top position of the page
819ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *view area in PDF page coordinate.
820ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       right           -   The pointer to receive right position of the
821ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *client area in PDF page coordinate.
822ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       bottom          -   The pointer to receive bottom position of the
823ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *client area in PDF page coordinate.
824ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
825ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
826ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
827ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_GetPageViewRect)(struct _FPDF_FORMFILLINFO* pThis,
828ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              FPDF_PAGE page,
829ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              double* left,
830ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              double* top,
831ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              double* right,
832ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              double* bottom);
8334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
8344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  /**
8354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Method: FFI_PageEvent
8364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     This method fires when pages have been added to or deleted from the XFA
8374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     document.
8384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Interface Version:
8394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     2
8404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Implementation Required:
8414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     yes
8424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Parameters:
8434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     pThis       -   Pointer to the interface structure itself.
8444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     page_count  -   The number of pages to be added to or deleted from the
8454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *                     document.
8464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *     event_type  -   See FXFA_PAGEVIEWEVENT_* above.
8474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Return value:
8484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *       None.
8494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  * Comments:
8504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           The pages to be added or deleted always start from the last page
8514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           of document. This means that if parameter page_count is 2 and
8524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           event type is FXFA_PAGEVIEWEVENT_POSTADDED, 2 new pages have been
8534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           appended to the tail of document; If page_count is 2 and
8544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           event type is FXFA_PAGEVIEWEVENT_POSTREMOVED, the last 2 pages
8554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           have been deleted.
8564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  **/
8574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  void (*FFI_PageEvent)(struct _FPDF_FORMFILLINFO* pThis,
8584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                        int page_count,
8594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                        FPDF_DWORD event_type);
8604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
861ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
862ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_PopupMenu
863ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will track the right context menu for XFA fields.
864ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
8654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
866ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
867ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
868ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
869ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
870ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       page            -   Handle to page. Returned by FPDF_LoadPage
871ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *function.
872ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       hWidget         -   Handle to XFA fields.
873ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       menuFlag        -   The menu flags. Please refer to macro definition
8744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *of FXFA_MENU_XXX and this can be one or a combination of these macros.
875ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       x               -   X position of the client area in PDF page
876ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *coordinate.
877ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       y               -   Y position of the client area in PDF page
878ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *coordinate.
879ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
880ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       TRUE indicates success; otherwise false.
881ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
8824d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  FPDF_BOOL (*FFI_PopupMenu)(struct _FPDF_FORMFILLINFO* pThis,
8834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             FPDF_PAGE page,
8844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             FPDF_WIDGET hWidget,
8854d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             int menuFlag,
8864d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             float x,
8874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             float y);
888ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
889ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
890ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_OpenFile
891ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will open the specified file with the specified mode.
892ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version
8934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
894ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
895ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
896ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
897ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
898ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       fileFlag        -   The file flag.Please refer to macro definition of
899ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *FXFA_SAVEAS_XXX and this can be one of these macros.
900ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsURL           -   The string value of the file URL, in UTF-16LE
901ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *format.
902ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       mode            -   The mode for open file.
903ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
904ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The handle to FPDF_FILEHANDLER.
905ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
906ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  FPDF_FILEHANDLER* (*FFI_OpenFile)(struct _FPDF_FORMFILLINFO* pThis,
907ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int fileFlag,
908ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    FPDF_WIDESTRING wsURL,
909ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    const char* mode);
910ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
911ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
912ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_EmailTo
913ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will email the specified file stream to the specified
914ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *contacter.
915ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
9164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
917ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
918ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
919ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
920ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
921ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pFileHandler    -   Handle to the FPDF_FILEHANDLER.
922ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pTo             -   A semicolon-delimited list of recipients for the
923ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *message,in UTF-16LE format.
924ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pSubject        -   The subject of the message,in UTF-16LE format.
925ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pCC             -   A semicolon-delimited list of CC recipients for
926ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *the message,in UTF-16LE format.
927ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pBcc            -   A semicolon-delimited list of BCC recipients for
928ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *the message,in UTF-16LE format.
929ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pMsg            -   Pointer to the data buffer to be sent.Can be
930ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *NULL,in UTF-16LE format.
931ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
932ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
933ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
934ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_EmailTo)(struct _FPDF_FORMFILLINFO* pThis,
935ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_FILEHANDLER* fileHandler,
936ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING pTo,
937ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING pSubject,
938ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING pCC,
939ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING pBcc,
940ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                      FPDF_WIDESTRING pMsg);
941ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
942ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
943ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_UploadTo
944ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will get upload the specified file stream to the
945ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *specified URL.
946ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
9474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
948ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
949ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
950ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
951ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
952ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pFileHandler    -   Handle to the FPDF_FILEHANDLER.
953ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       fileFlag        -   The file flag.Please refer to macro definition of
954ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *FXFA_SAVEAS_XXX and this can be one of these macros.
955ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       uploadTo        -   Pointer to the URL path, in UTF-16LE format.
956ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
957ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       None.
958ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
959ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void (*FFI_UploadTo)(struct _FPDF_FORMFILLINFO* pThis,
960ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                       FPDF_FILEHANDLER* fileHandler,
961ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                       int fileFlag,
962ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                       FPDF_WIDESTRING uploadTo);
963ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
964ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
965ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetPlatform
966ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will get the current platform.
967ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
9684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
969ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
970ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
971ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
972ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
973ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       platform        -   Pointer to the data buffer to receive the
974ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *platform.Can be NULL,in UTF-16LE format.
975ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       length          -   The length of the buffer, number of bytes. Can be
976ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *0.
977ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
978ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The length of the buffer, number of bytes.
979ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
980ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*FFI_GetPlatform)(struct _FPDF_FORMFILLINFO* pThis,
981ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         void* platform,
982ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         int length);
983ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
984ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
985ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_GetLanguage
986ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will get the current language.
987ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
9884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
989ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
990ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
991ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
992ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
993ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       language        -   Pointer to the data buffer to receive the current
994ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *language.Can be NULL.
995ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       length          -   The length of the buffer, number of bytes. Can be
996ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *0.
997ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
998ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The length of the buffer, number of bytes.
999ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
1000ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int (*FFI_GetLanguage)(struct _FPDF_FORMFILLINFO* pThis,
1001ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         void* language,
1002ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                         int length);
1003ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1004ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
1005ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_DownloadFromURL
1006ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will download the specified file from the URL.
1007ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
10084d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
1009ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
1010ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
1011ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
1012ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
1013ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       URL             -   The string value of the file URL, in UTF-16LE
1014ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *format.
1015ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
1016ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       The handle to FPDF_FILEHANDLER.
1017ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
10184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  FPDF_LPFILEHANDLER (*FFI_DownloadFromURL)(struct _FPDF_FORMFILLINFO* pThis,
10194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                             FPDF_WIDESTRING URL);
1020ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
1021ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_PostRequestURL
1022ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will post the request to the server URL.
1023ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
10244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
1025ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
1026ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
1027ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
1028ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
1029ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsURL           -   The string value of the server URL, in UTF-16LE
1030ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *format.
1031ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsData          -   The post data,in UTF-16LE format.
1032ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsContentType   -   The content type of the request data,in UTF-16LE
1033ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *format.
1034ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsEncode        -   The encode type,in UTF-16LE format.
1035ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsHeader        -   The request header,in UTF-16LE format.
1036ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       response        -   Pointer to the FPDF_BSTR to receive the response
1037ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *data from server,,in UTF-16LE format.
1038ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
1039ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       TRUE indicates success, otherwise FALSE.
1040ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
10414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  FPDF_BOOL (*FFI_PostRequestURL)(struct _FPDF_FORMFILLINFO* pThis,
10424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_WIDESTRING wsURL,
10434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_WIDESTRING wsData,
10444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_WIDESTRING wsContentType,
10454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_WIDESTRING wsEncode,
10464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_WIDESTRING wsHeader,
10474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                    FPDF_BSTR* respone);
1048ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1049ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  /**
1050ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Method: FFI_PutRequestURL
1051ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           This method will put the request to the server URL.
1052ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Interface Version:
10534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  *           2
1054ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Implementation Required:
1055ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *           yes
1056ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Parameters:
1057ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       pThis           -   Pointer to the interface structure itself.
1058ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsURL           -   The string value of the server URL, in UTF-16LE
1059ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *format.
1060ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsData          -   The put data, in UTF-16LE format.
1061ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       wsEncode        -   The encode type, in UTR-16LE format.
1062ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  * Return value:
1063ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  *       TRUE indicates success, otherwise FALSE.
1064ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  **/
10654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  FPDF_BOOL (*FFI_PutRequestURL)(struct _FPDF_FORMFILLINFO* pThis,
10664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                   FPDF_WIDESTRING wsURL,
10674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                   FPDF_WIDESTRING wsData,
10684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                   FPDF_WIDESTRING wsEncode);
1069ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif  // PDF_ENABLE_XFA
1070e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov} FPDF_FORMFILLINFO;
1071e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1072e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1073e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FPDFDOC_InitFormFillEnvironment
1074e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          Init form fill environment.
1075e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Comments:
1076e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          This function should be called before any form fill operation.
1077e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1078ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1079ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1080e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          pFormFillInfo   -   Pointer to a FPDF_FORMFILLINFO structure.
1081e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1082e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          Return handler to the form fill module. NULL means fails.
1083e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1084ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_FORMHANDLE STDCALL
1085ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFPDFDOC_InitFormFillEnvironment(FPDF_DOCUMENT document,
1086ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                FPDF_FORMFILLINFO* formInfo);
1087e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1088e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1089e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FPDFDOC_ExitFormFillEnvironment
1090e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          Exit form fill environment.
1091e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1092ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1093ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1094e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1095e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          NULL.
1096e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1097e6986e1e8d4a57987f47c215490cb080a65ee29aSvet GanovDLLEXPORT void STDCALL FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle);
1098e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1099e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1100e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnAfterLoadPage
1101ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method is required for implementing all the form related
1102ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *functions. Should be invoked after user
1103ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          successfully loaded a PDF page, and method
1104ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment had been invoked.
1105e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1106ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1107ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1108e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1109e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          NONE.
1110e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1111ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FORM_OnAfterLoadPage(FPDF_PAGE page,
1112ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                            FPDF_FORMHANDLE hHandle);
1113e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1114e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1115e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnBeforeClosePage
1116ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method is required for implementing all the form related
1117ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *functions. Should be invoked before user
1118e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          close the PDF page.
1119e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1120ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1121ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1122ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1123ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1124e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1125e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          NONE.
1126e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1127ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FORM_OnBeforeClosePage(FPDF_PAGE page,
1128ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                              FPDF_FORMHANDLE hHandle);
1129e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1130e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1131e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Function: FORM_DoDocumentJSAction
1132ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method is required for performing Document-level JavaScript
1133ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*action. It should be invoked after the PDF document
1134e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           had been loaded.
1135e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Parameters:
1136ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           hHandle     -   Handle to the form fill module. Returned by
1137ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*FPDFDOC_InitFormFillEnvironment.
1138e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Return Value:
1139e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           NONE
1140e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Comments:
1141ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           If there is Document-level JavaScript action embedded in the
1142ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*document, this method will execute the javascript action;
1143e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           otherwise, the method will do nothing.
1144e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov**/
1145e6986e1e8d4a57987f47c215490cb080a65ee29aSvet GanovDLLEXPORT void STDCALL FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle);
1146e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1147e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1148e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Function: FORM_DoDocumentOpenAction
1149ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method is required for performing open-action when the document
1150ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*is opened.
1151e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Parameters:
1152ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           hHandle     -   Handle to the form fill module. Returned by
1153ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*FPDFDOC_InitFormFillEnvironment.
1154e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Return Value:
1155e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           NONE
1156e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Comments:
1157ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method will do nothing if there is no open-actions embedded in
1158ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*the document.
1159e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov**/
1160e6986e1e8d4a57987f47c215490cb080a65ee29aSvet GanovDLLEXPORT void STDCALL FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle);
1161e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1162e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// additional actions type of document.
1163ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFDOC_AACTION_WC \
1164ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  0x10  // WC, before closing document, JavaScript action.
1165ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFDOC_AACTION_WS \
1166ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  0x11  // WS, before saving document, JavaScript action.
1167ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFDOC_AACTION_DS 0x12  // DS, after saving document, JavaScript
1168ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 // action.
1169ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFDOC_AACTION_WP \
1170ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  0x13  // WP, before printing document, JavaScript action.
1171ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFDOC_AACTION_DP \
1172ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  0x14  // DP, after printing document, JavaScript action.
1173ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1174e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1175e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Function: FORM_DoDocumentAAction
1176ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method is required for performing the document's
1177ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*additional-action.
1178e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Parameters:
1179ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           hHandle     -   Handle to the form fill module. Returned by
1180ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*FPDFDOC_InitFormFillEnvironment.
1181ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           aaType      -   The type of the additional-actions which defined
1182ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*above.
1183e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Return Value:
1184e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           NONE
1185e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Comments:
1186ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method will do nothing if there is no document
1187ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*additional-action corresponding to the specified aaType.
1188e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov**/
1189e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1190ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle,
1191ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                              int aaType);
1192e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1193e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Additional-action types of page object
1194ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFPAGE_AACTION_OPEN \
1195ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  0  // /O -- An action to be performed when the page is opened
1196ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDFPAGE_AACTION_CLOSE \
1197ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  1  // /C -- An action to be performed when the page is closed
1198e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1199e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1200e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Function: FORM_DoPageAAction
1201ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method is required for performing the page object's
1202ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*additional-action when opened or closed.
1203e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Parameters:
1204ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           page        -   Handle to the page. Returned by FPDF_LoadPage
1205ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*function.
1206ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           hHandle     -   Handle to the form fill module. Returned by
1207ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*FPDFDOC_InitFormFillEnvironment.
1208ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           aaType      -   The type of the page object's additional-actions
1209ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*which defined above.
1210e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Return Value:
1211e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           NONE
1212e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Comments:
1213ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           This method will do nothing if no additional-action corresponding to
1214ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*the specified aaType exists.
1215e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov**/
1216ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FORM_DoPageAAction(FPDF_PAGE page,
1217ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                          FPDF_FORMHANDLE hHandle,
1218ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                          int aaType);
1219e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1220e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1221e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnMouseMove
1222e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          You can call this member function when the mouse cursor moves.
1223e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1224ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1225ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1226ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1227ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1228e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          modifier        -   Indicates whether various virtual keys are down.
1229ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page_x      -   Specifies the x-coordinate of the cursor in PDF user
1230ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *space.
1231ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page_y      -   Specifies the y-coordinate of the cursor in PDF user
1232ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *space.
1233e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1234e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1235e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1236ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnMouseMove(FPDF_FORMHANDLE hHandle,
1237ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             FPDF_PAGE page,
1238ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             int modifier,
1239ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             double page_x,
1240ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             double page_y);
1241e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1242e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1243e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnLButtonDown
1244ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          You can call this member function when the user presses the left
1245ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *mouse button.
1246e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1247ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1248ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1249ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1250ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1251e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          modifier        -   Indicates whether various virtual keys are down.
1252ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page_x      -   Specifies the x-coordinate of the cursor in PDF user
1253ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *space.
1254ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page_y      -   Specifies the y-coordinate of the cursor in PDF user
1255ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *space.
1256e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1257e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1258e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1259ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnLButtonDown(FPDF_FORMHANDLE hHandle,
1260ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               FPDF_PAGE page,
1261ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               int modifier,
1262ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               double page_x,
1263ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               double page_y);
1264e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1265e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1266e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnLButtonUp
1267ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          You can call this member function when the user releases the left
1268ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *mouse button.
1269e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1270ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1271ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1272ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1273ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1274e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          modifier    -   Indicates whether various virtual keys are down.
1275e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          page_x      -   Specifies the x-coordinate of the cursor in device.
1276e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          page_y      -   Specifies the y-coordinate of the cursor in device.
1277e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1278e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1279e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1280ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle,
1281ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             FPDF_PAGE page,
1282ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             int modifier,
1283ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             double page_x,
1284ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             double page_y);
1285ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1286ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifdef PDF_ENABLE_XFA
1287ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnRButtonDown(FPDF_FORMHANDLE hHandle,
1288ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               FPDF_PAGE page,
1289ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               int modifier,
1290ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               double page_x,
1291ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                               double page_y);
1292ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnRButtonUp(FPDF_FORMHANDLE hHandle,
1293ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             FPDF_PAGE page,
1294ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             int modifier,
1295ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             double page_x,
1296ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             double page_y);
1297ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif  // PDF_ENABLE_XFA
1298e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1299e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1300e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnKeyDown
1301e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          You can call this member function when a nonsystem key is pressed.
1302e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1303ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1304ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1305ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1306ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1307e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          nKeyCode    -   Indicates whether various virtual keys are down.
1308ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          modifier    -   Contains the scan code, key-transition code,
1309ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *previous key state, and context code.
1310e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1311e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1312e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1313ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnKeyDown(FPDF_FORMHANDLE hHandle,
1314ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                           FPDF_PAGE page,
1315ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                           int nKeyCode,
1316ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                           int modifier);
1317e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1318e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1319e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnKeyUp
1320e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          You can call this member function when a nonsystem key is released.
1321e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1322ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1323ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1324ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1325ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1326e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          nKeyCode    -   The virtual-key code of the given key.
1327ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          modifier    -   Contains the scan code, key-transition code,
1328ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *previous key state, and context code.
1329e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1330e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1331e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1332ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnKeyUp(FPDF_FORMHANDLE hHandle,
1333ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                         FPDF_PAGE page,
1334ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                         int nKeyCode,
1335ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                         int modifier);
1336e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1337e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1338e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_OnChar
1339ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          You can call this member function when a keystroke translates to a
1340ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *nonsystem character.
1341e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1342ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1343ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1344ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          page        -   Handle to the page. Returned by FPDF_LoadPage
1345ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *function.
1346e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          nChar       -   The character code value of the key.
1347ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          modifier    -   Contains the scan code, key-transition code,
1348ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *previous key state, and context code.
1349e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1350e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1351e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1352ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FORM_OnChar(FPDF_FORMHANDLE hHandle,
1353ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        FPDF_PAGE page,
1354ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        int nChar,
1355ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        int modifier);
1356e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1357e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1358e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FORM_ForceToKillFocus.
1359ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          You can call this member function to force to kill the focus of the
1360ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *form field which got focus.
1361ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          It would kill the focus on the form field, save the value of form
1362ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field if it's changed by user.
1363e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1364ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1365ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1366e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1367e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          TRUE indicates success; otherwise false.
1368e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1369e6986e1e8d4a57987f47c215490cb080a65ee29aSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle);
1370e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1371e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Field Types
1372ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_UNKNOWN 0      // Unknown.
1373ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_PUSHBUTTON 1   // push button type.
1374ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_CHECKBOX 2     // check box type.
1375ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_RADIOBUTTON 3  // radio button type.
1376ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_COMBOBOX 4     // combo box type.
1377ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_LISTBOX 5      // list box type.
1378ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_TEXTFIELD 6    // text field type.
1379ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifdef PDF_ENABLE_XFA
1380ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_FORMFIELD_XFA 7          // text field type.
1381ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif  // PDF_ENABLE_XFA
1382ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1383ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1384ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDFPage_HasFormFieldAtPoint
1385ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     Get the form field type by point.
1386ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1387ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     hHandle     -   Handle to the form fill module. Returned by
1388ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *                     FPDFDOC_InitFormFillEnvironment().
1389ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     page        -   Handle to the page. Returned by FPDF_LoadPage().
1390ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     page_x      -   X position in PDF "user space".
1391ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     page_y      -   Y position in PDF "user space".
1392ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1393ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     Return the type of the form field; -1 indicates no field.
1394ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     See field types above.
1395ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1396ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT int STDCALL FPDFPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle,
1397ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                   FPDF_PAGE page,
1398ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                   double page_x,
1399ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                   double page_y);
1400e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1401e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1402e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FPDPage_HasFormFieldAtPoint
1403ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     DEPRECATED. Please use FPDFPage_HasFormFieldAtPoint.
1404ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1405ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT int STDCALL FPDPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle,
1406ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                  FPDF_PAGE page,
1407ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                  double page_x,
1408ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                  double page_y);
1409ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1410ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1411ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDFPage_FormFieldZOrderAtPoint
1412ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     Get the form field z-order by point.
1413e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1414ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     hHandle     -   Handle to the form fill module. Returned by
1415ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *                     FPDFDOC_InitFormFillEnvironment().
1416ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     page        -   Handle to the page. Returned by FPDF_LoadPage().
1417ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     page_x      -   X position in PDF "user space".
1418ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     page_y      -   Y position in PDF "user space".
1419e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1420ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     Return the z-order of the form field; -1 indicates no field.
1421ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *     Higher numbers are closer to the front.
1422e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1423ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT int STDCALL FPDFPage_FormFieldZOrderAtPoint(FPDF_FORMHANDLE hHandle,
1424ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                      FPDF_PAGE page,
1425ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                      double page_x,
1426ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                      double page_y);
1427e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1428e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1429e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FPDF_SetFormFieldHighlightColor
1430ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          Set the highlight color of specified or all the form fields in the
1431ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *document.
1432e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1433ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1434ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1435ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          doc         -   Handle to the document. Returned by
1436ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1437ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          fieldType   -   A 32-bit integer indicating the type of a form
1438ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field(defined above).
1439ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          color       -   The highlight color of the form field.Constructed by
1440ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *0xxxrrggbb.
1441e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1442e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          NONE.
1443e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Comments:
1444ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          When the parameter fieldType is set to zero, the highlight color
1445ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *will be applied to all the form fields in the
1446e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          document.
1447ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          Please refresh the client window to show the highlight immediately
1448ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *if necessary.
1449e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1450ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_SetFormFieldHighlightColor(FPDF_FORMHANDLE hHandle,
1451ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                       int fieldType,
1452ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                       unsigned long color);
1453e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1454e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1455e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FPDF_SetFormFieldHighlightAlpha
1456ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          Set the transparency of the form field highlight color in the
1457ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *document.
1458e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1459ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1460ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1461ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          doc         -   Handle to the document. Returned by
1462ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1463ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          alpha       -   The transparency of the form field highlight color.
1464ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *between 0-255.
1465e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1466e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          NONE.
1467e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1468ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_SetFormFieldHighlightAlpha(FPDF_FORMHANDLE hHandle,
1469ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                                       unsigned char alpha);
1470e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1471e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1472e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Function: FPDF_RemoveFormFieldHighlight
1473e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          Remove the form field highlight color in the document.
1474e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Parameters:
1475ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hHandle     -   Handle to the form fill module. Returned by
1476ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDFDOC_InitFormFillEnvironment.
1477e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Return Value:
1478e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov *          NONE.
1479e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Comments:
1480ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          Please refresh the client window to remove the highlight immediately
1481ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *if necessary.
1482e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov **/
1483e6986e1e8d4a57987f47c215490cb080a65ee29aSvet GanovDLLEXPORT void STDCALL FPDF_RemoveFormFieldHighlight(FPDF_FORMHANDLE hHandle);
1484e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1485e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/**
1486e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Function: FPDF_FFLDraw
14874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*           Render FormFields and popup window on a page to a device independent
14884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*bitmap.
1489e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Parameters:
1490ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           hHandle     -   Handle to the form fill module. Returned by
1491ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*FPDFDOC_InitFormFillEnvironment.
1492ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           bitmap      -   Handle to the device independent bitmap (as the
1493ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*output buffer).
1494ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*                           Bitmap handle can be created by FPDFBitmap_Create
1495ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*function.
1496ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           page        -   Handle to the page. Returned by FPDF_LoadPage
1497ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*function.
1498ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           start_x     -   Left pixel position of the display area in the
1499ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*device coordinate.
1500ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           start_y     -   Top pixel position of the display area in the device
1501ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*coordinate.
1502e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           size_x      -   Horizontal size (in pixels) for displaying the page.
1503e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           size_y      -   Vertical size (in pixels) for displaying the page.
1504ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           rotate      -   Page orientation: 0 (normal), 1 (rotated 90 degrees
1505ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*clockwise),
1506ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*                               2 (rotated 180 degrees), 3 (rotated 90 degrees
1507ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*counter-clockwise).
1508ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*           flags       -   0 for normal display, or combination of flags
1509ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann*defined above.
1510e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Return Value:
1511e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*           None.
1512e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov* Comments:
15134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*           This function is designed to render annotations that are
15144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*user-interactive, which are widget annotation (for FormFields) and popup
15154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*annotation.
15164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*           With FPDF_ANNOT flag, this function will render popup annotation
15174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*when users mouse-hover on non-widget annotation. Regardless of FPDF_ANNOT flag,
15184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*this function will always render widget annotations for FormFields.
15194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*           In order to implement the FormFill functions, implementation should
15204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*call this function after rendering functions, such as FPDF_RenderPageBitmap or
15214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann*FPDF_RenderPageBitmap_Start, finish rendering the page contents.
1522e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov**/
1523ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle,
1524ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    FPDF_BITMAP bitmap,
1525ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    FPDF_PAGE page,
1526ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int start_x,
1527ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int start_y,
1528ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int size_x,
1529ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int size_y,
1530ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int rotate,
1531ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int flags);
1532ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
15334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifdef _SKIA_SUPPORT_
15344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannDLLEXPORT void STDCALL FPDF_FFLRecord(FPDF_FORMHANDLE hHandle,
15354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      FPDF_RECORDER recorder,
15364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      FPDF_PAGE page,
15374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      int start_x,
15384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      int start_y,
15394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      int size_x,
15404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      int size_y,
15414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      int rotate,
15424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                      int flags);
15434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif
15444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
1545ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifdef PDF_ENABLE_XFA
1546ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1547ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_HasXFAField
1548ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *                      This method is designed to check whether a pdf document
1549ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *has XFA fields.
1550ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1551ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *                      document                -       Handle to document.
1552ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *Returned by FPDF_LoadDocument function.
1553ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *                      docType                 -       Document type defined as
1554ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *DOCTYPE_xxx.
1555ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1556ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *                      TRUE indicates that the input document has XFA fields,
1557ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *otherwise FALSE.
1558ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1559ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FPDF_HasXFAField(FPDF_DOCUMENT document,
1560ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             int* docType);
1561e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1562ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1563ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_LoadXFA
1564ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          If the document consists of XFA fields, there should call this
1565ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *method to load XFA fields.
1566ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1567ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1568ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1569ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1570ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          TRUE indicates success,otherwise FALSE.
1571ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1572ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL FPDF_LoadXFA(FPDF_DOCUMENT document);
1573ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
1574ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1575ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_Undo
1576ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the undo feature for the specified xfa
1577ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field.
1578ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1579ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1580ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1581ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1582ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1583ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1584ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1585ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_Widget_Undo(FPDF_DOCUMENT document,
1586ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        FPDF_WIDGET hWidget);
1587ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1588ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_Redo
1589ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the redo feature for the specified xfa
1590ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field.
1591ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1592ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1593ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1594ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1595ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1596ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1597ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1598ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_Widget_Redo(FPDF_DOCUMENT document,
1599ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        FPDF_WIDGET hWidget);
1600ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1601ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_SelectAll
1602ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the select all feature for the specified
1603ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *xfa field.
1604ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1605ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1606ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1607ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1608ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1609ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1610ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1611ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_Widget_SelectAll(FPDF_DOCUMENT document,
1612ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                             FPDF_WIDGET hWidget);
1613ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1614ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_Copy
1615ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the copy feature for the specified xfa
1616ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field.
1617ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1618ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1619ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1620ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1621ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          wsText          -   Pointer to data buffer to receive the copied
1622ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *data, in UTF-16LE format.
1623ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          size            -   The data buffer size.
1624ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1625ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1626ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1627ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_Widget_Copy(FPDF_DOCUMENT document,
1628ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        FPDF_WIDGET hWidget,
1629ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        FPDF_WIDESTRING wsText,
1630ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                        FPDF_DWORD* size);
1631ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1632ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_Cut
1633ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the cut feature for the specified xfa
1634ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field.
1635ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1636ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1637ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1638ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1639ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          wsText          -   Pointer to data buffer to receive the cut
1640ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *data,in UTF-16LE format.
1641ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          size            -   The data buffer size,not the byte number.
1642ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1643ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1644ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1645ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_Widget_Cut(FPDF_DOCUMENT document,
1646ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                       FPDF_WIDGET hWidget,
1647ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                       FPDF_WIDESTRING wsText,
1648ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                       FPDF_DWORD* size);
1649ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1650ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_Paste
1651ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the paste feature for the specified xfa
1652ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *field.
1653ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1654ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1655ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1656ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1657ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          wsText          -   The paste text buffer, in UTF-16LE format.
1658ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          size            -   The data buffer size,not the byte number.
1659ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1660ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1661ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1662ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_Widget_Paste(FPDF_DOCUMENT document,
1663ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                         FPDF_WIDGET hWidget,
1664ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                         FPDF_WIDESTRING wsText,
1665ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                         FPDF_DWORD size);
1666ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1667ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_ReplaceSpellCheckWord
1668ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the spell check feature for the specified
1669ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *xfa field.
1670ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1671ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1672ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1673ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1674ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          x               -   The x value of the specified point.
1675ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          y               -   The y value of the specified point.
1676ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          bsText          -   The text buffer needed to be speck check, in
1677ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *UTF-16LE format.
1678ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1679ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1680ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1681ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL
1682ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFPDF_Widget_ReplaceSpellCheckWord(FPDF_DOCUMENT document,
1683ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  FPDF_WIDGET hWidget,
1684ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  float x,
1685ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  float y,
1686ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  FPDF_BYTESTRING bsText);
1687ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1688ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_Widget_GetSpellCheckWords
1689ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will implement the spell check feature for the specified
1690ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *xfa field.
1691ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1692ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          document        -   Handle to document. Returned by
1693ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *FPDF_LoadDocument function.
1694ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          hWidget         -   Handle to the xfa field.
1695ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          x               -   The x value of the specified point.
1696ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          y               -   The y value of the specified point.
1697ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          stringHandle    -   Pointer to FPDF_STRINGHANDLE to receive the
1698ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *speck check text buffer, in UTF-16LE format.
1699ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1700ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1701ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1702ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL
1703ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFPDF_Widget_GetSpellCheckWords(FPDF_DOCUMENT document,
1704ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                               FPDF_WIDGET hWidget,
1705ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                               float x,
1706ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                               float y,
1707ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                               FPDF_STRINGHANDLE* stringHandle);
1708ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1709ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_StringHandleCounts
1710ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will get the count of the text buffer.
1711ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1712ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          stringHandle    -   Pointer to FPDF_STRINGHANDLE.
1713ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1714ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1715ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1716ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT int STDCALL FPDF_StringHandleCounts(FPDF_STRINGHANDLE stringHandle);
1717ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1718ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_StringHandleGetStringByIndex
1719ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will get the specified index of the text buffer.
1720ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1721ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          stringHandle    -   Pointer to FPDF_STRINGHANDLE.
1722ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          index           -   The specified index of text buffer.
1723ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          bsText          -   Pointer to data buffer to receive the text
1724ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *buffer, in UTF-16LE format.
1725ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          size            -   The byte size of data buffer.
1726ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1727ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          TRUE indicates success, otherwise FALSE.
1728ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1729ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL
1730ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFPDF_StringHandleGetStringByIndex(FPDF_STRINGHANDLE stringHandle,
1731ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  int index,
1732ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  FPDF_BYTESTRING bsText,
1733ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                  FPDF_DWORD* size);
1734ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1735ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_StringHandleRelease
1736ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will release the FPDF_STRINGHANDLE.
1737ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1738ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          stringHandle    -   Pointer to FPDF_STRINGHANDLE.
1739ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1740ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          None.
1741ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1742ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT void STDCALL FPDF_StringHandleRelease(FPDF_STRINGHANDLE stringHandle);
1743ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/**
1744ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Function: FPDF_StringHandleAddString
1745ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          This method will add the specified text buffer.
1746ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Parameters:
1747ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          stringHandle    -   Pointer to FPDF_STRINGHANDLE.
1748ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          bsText          -   Pointer to data buffer of the text buffer, in
1749ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *UTF-16LE format.
1750ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          size            -   The byte size of data buffer.
1751ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * Return Value:
1752ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *          TRUE indicates success, otherwise FALSE.
1753ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann **/
1754ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannDLLEXPORT FPDF_BOOL STDCALL
1755ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFPDF_StringHandleAddString(FPDF_STRINGHANDLE stringHandle,
1756ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           FPDF_BYTESTRING bsText,
1757ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                           FPDF_DWORD size);
1758ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif  // PDF_ENABLE_XFA
1759e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1760e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef __cplusplus
1761e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov}
1762e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
1763e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1764e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif  // PUBLIC_FPDF_FORMFILL_H_
1765