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