Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
fpdf_formfill.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef PUBLIC_FPDF_FORMFILL_H_
8#define PUBLIC_FPDF_FORMFILL_H_
9
10// clang-format off
11// NOLINTNEXTLINE(build/include_directory)
12#include "fpdfview.h"
13
14// These values are return values for a public API, so should not be changed
15// other than the count when adding new values.
16#define FORMTYPE_NONE 0 // Document contains no forms
17#define FORMTYPE_ACRO_FORM 1 // Forms are specified using AcroForm spec
18#define FORMTYPE_XFA_FULL 2 // Forms are specified using entire XFA spec
19#define FORMTYPE_XFA_FOREGROUND 3 // Forms are specified using the XFAF subset
20 // of XFA spec
21#define FORMTYPE_COUNT 4 // The number of form types
22
23#define JSPLATFORM_ALERT_BUTTON_OK 0 // OK button
24#define JSPLATFORM_ALERT_BUTTON_OKCANCEL 1 // OK & Cancel buttons
25#define JSPLATFORM_ALERT_BUTTON_YESNO 2 // Yes & No buttons
26#define JSPLATFORM_ALERT_BUTTON_YESNOCANCEL 3 // Yes, No & Cancel buttons
27#define JSPLATFORM_ALERT_BUTTON_DEFAULT JSPLATFORM_ALERT_BUTTON_OK
28
29#define JSPLATFORM_ALERT_ICON_ERROR 0 // Error
30#define JSPLATFORM_ALERT_ICON_WARNING 1 // Warning
31#define JSPLATFORM_ALERT_ICON_QUESTION 2 // Question
32#define JSPLATFORM_ALERT_ICON_STATUS 3 // Status
33#define JSPLATFORM_ALERT_ICON_ASTERISK 4 // Asterisk
34#define JSPLATFORM_ALERT_ICON_DEFAULT JSPLATFORM_ALERT_ICON_ERROR
35
36#define JSPLATFORM_ALERT_RETURN_OK 1 // OK
37#define JSPLATFORM_ALERT_RETURN_CANCEL 2 // Cancel
38#define JSPLATFORM_ALERT_RETURN_NO 3 // No
39#define JSPLATFORM_ALERT_RETURN_YES 4 // Yes
40
41#define JSPLATFORM_BEEP_ERROR 0 // Error
42#define JSPLATFORM_BEEP_WARNING 1 // Warning
43#define JSPLATFORM_BEEP_QUESTION 2 // Question
44#define JSPLATFORM_BEEP_STATUS 3 // Status
45#define JSPLATFORM_BEEP_DEFAULT 4 // Default
46
47// Exported Functions
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52typedef struct _IPDF_JsPlatform {
53 // Version number of the interface. Currently must be 2.
55
56 // Version 1.
57
58 // Method: app_alert
59 // Pop up a dialog to show warning or hint.
60 // Interface Version:
61 // 1
62 // Implementation Required:
63 // yes
64 // Parameters:
65 // pThis - Pointer to the interface structure itself.
66 // Msg - A string containing the message to be displayed.
67 // Title - The title of the dialog.
68 // Type - The type of button group, one of the
69 // JSPLATFORM_ALERT_BUTTON_* values above.
70 // nIcon - The type of the icon, one of the
71 // JSPLATFORM_ALERT_ICON_* above.
72 // Return Value:
73 // Option selected by user in dialogue, one of the
74 // JSPLATFORM_ALERT_RETURN_* values above.
75 int (*app_alert)(struct _IPDF_JsPlatform* pThis,
76 FPDF_WIDESTRING Msg,
77 FPDF_WIDESTRING Title,
78 int Type,
79 int Icon);
80
81 // Method: app_beep
82 // Causes the system to play a sound.
83 // Interface Version:
84 // 1
85 // Implementation Required:
86 // yes
87 // Parameters:
88 // pThis - Pointer to the interface structure itself
89 // nType - The sound type, see JSPLATFORM_BEEP_TYPE_*
90 // above.
91 // Return Value:
92 // None
93 void (*app_beep)(struct _IPDF_JsPlatform* pThis, int nType);
94
95 // Method: app_response
96 // Displays a dialog box containing a question and an entry field for
97 // the user to reply to the question.
98 // Interface Version:
99 // 1
100 // Implementation Required:
101 // yes
102 // Parameters:
103 // pThis - Pointer to the interface structure itself
104 // Question - The question to be posed to the user.
105 // Title - The title of the dialog box.
106 // Default - A default value for the answer to the question. If
107 // not specified, no default value is presented.
108 // cLabel - A short string to appear in front of and on the
109 // same line as the edit text field.
110 // bPassword - If true, indicates that the user's response should
111 // be shown as asterisks (*) or bullets (?) to mask
112 // the response, which might be sensitive information.
113 // response - A string buffer allocated by PDFium, to receive the
114 // user's response.
115 // length - The length of the buffer in bytes. Currently, it is
116 // always 2048.
117 // Return Value:
118 // Number of bytes the complete user input would actually require, not
119 // including trailing zeros, regardless of the value of the length
120 // parameter or the presence of the response buffer.
121 // Comments:
122 // No matter on what platform, the response buffer should be always
123 // written using UTF-16LE encoding. If a response buffer is
124 // present and the size of the user input exceeds the capacity of the
125 // buffer as specified by the length parameter, only the
126 // first "length" bytes of the user input are to be written to the
127 // buffer.
128 int (*app_response)(struct _IPDF_JsPlatform* pThis,
129 FPDF_WIDESTRING Question,
130 FPDF_WIDESTRING Title,
131 FPDF_WIDESTRING Default,
132 FPDF_WIDESTRING cLabel,
133 FPDF_BOOL bPassword,
134 void* response,
135 int length);
136
137 // Method: Doc_getFilePath
138 // Get the file path of the current document.
139 // Interface Version:
140 // 1
141 // Implementation Required:
142 // yes
143 // Parameters:
144 // pThis - Pointer to the interface structure itself
145 // filePath - The string buffer to receive the file path. Can
146 // be NULL.
147 // length - The length of the buffer, number of bytes. Can
148 // be 0.
149 // Return Value:
150 // Number of bytes the filePath consumes, including trailing zeros.
151 // Comments:
152 // The filePath should always be provided in the local encoding.
153 // The return value always indicated number of bytes required for
154 // the buffer, even when there is no buffer specified, or the buffer
155 // size is less than required. In this case, the buffer will not
156 // be modified.
157 int (*Doc_getFilePath)(struct _IPDF_JsPlatform* pThis,
158 void* filePath,
159 int length);
160
161 // Method: Doc_mail
162 // Mails the data buffer as an attachment to all recipients, with or
163 // without user interaction.
164 // Interface Version:
165 // 1
166 // Implementation Required:
167 // yes
168 // Parameters:
169 // pThis - Pointer to the interface structure itself
170 // mailData - Pointer to the data buffer to be sent. Can be NULL.
171 // length - The size,in bytes, of the buffer pointed by
172 // mailData parameter. Can be 0.
173 // bUI - If true, the rest of the parameters are used in a
174 // compose-new-message window that is displayed to the
175 // user. If false, the cTo parameter is required and
176 // all others are optional.
177 // To - A semicolon-delimited list of recipients for the
178 // message.
179 // Subject - The subject of the message. The length limit is
180 // 64 KB.
181 // CC - A semicolon-delimited list of CC recipients for
182 // the message.
183 // BCC - A semicolon-delimited list of BCC recipients for
184 // the message.
185 // Msg - The content of the message. The length limit is
186 // 64 KB.
187 // Return Value:
188 // None.
189 // Comments:
190 // If the parameter mailData is NULL or length is 0, the current
191 // document will be mailed as an attachment to all recipients.
192 void (*Doc_mail)(struct _IPDF_JsPlatform* pThis,
193 void* mailData,
194 int length,
195 FPDF_BOOL bUI,
196 FPDF_WIDESTRING To,
197 FPDF_WIDESTRING Subject,
198 FPDF_WIDESTRING CC,
199 FPDF_WIDESTRING BCC,
200 FPDF_WIDESTRING Msg);
201
202 // Method: Doc_print
203 // Prints all or a specific number of pages of the document.
204 // Interface Version:
205 // 1
206 // Implementation Required:
207 // yes
208 // Parameters:
209 // pThis - Pointer to the interface structure itself.
210 // bUI - If true, will cause a UI to be presented to the
211 // user to obtain printing information and confirm
212 // the action.
213 // nStart - A 0-based index that defines the start of an
214 // inclusive range of pages.
215 // nEnd - A 0-based index that defines the end of an
216 // inclusive page range.
217 // bSilent - If true, suppresses the cancel dialog box while
218 // the document is printing. The default is false.
219 // bShrinkToFit - If true, the page is shrunk (if necessary) to
220 // fit within the imageable area of the printed page.
221 // bPrintAsImage - If true, print pages as an image.
222 // bReverse - If true, print from nEnd to nStart.
223 // bAnnotations - If true (the default), annotations are
224 // printed.
225 // Return Value:
226 // None.
227 void (*Doc_print)(struct _IPDF_JsPlatform* pThis,
228 FPDF_BOOL bUI,
229 int nStart,
230 int nEnd,
231 FPDF_BOOL bSilent,
232 FPDF_BOOL bShrinkToFit,
233 FPDF_BOOL bPrintAsImage,
234 FPDF_BOOL bReverse,
235 FPDF_BOOL bAnnotations);
236
237 // Method: Doc_submitForm
238 // Send the form data to a specified URL.
239 // Interface Version:
240 // 1
241 // Implementation Required:
242 // yes
243 // Parameters:
244 // pThis - Pointer to the interface structure itself
245 // formData - Pointer to the data buffer to be sent.
246 // length - The size,in bytes, of the buffer pointed by
247 // formData parameter.
248 // URL - The URL to send to.
249 // Return Value:
250 // None.
251 void (*Doc_submitForm)(struct _IPDF_JsPlatform* pThis,
252 void* formData,
253 int length,
254 FPDF_WIDESTRING URL);
255
256 // Method: Doc_gotoPage
257 // Jump to a specified page.
258 // Interface Version:
259 // 1
260 // Implementation Required:
261 // yes
262 // Parameters:
263 // pThis - Pointer to the interface structure itself
264 // nPageNum - The specified page number, zero for the first page.
265 // Return Value:
266 // None.
267 void (*Doc_gotoPage)(struct _IPDF_JsPlatform* pThis, int nPageNum);
268
269 // Method: Field_browse
270 // Show a file selection dialog, and return the selected file path.
271 // Interface Version:
272 // 1
273 // Implementation Required:
274 // yes
275 // Parameters:
276 // pThis - Pointer to the interface structure itself.
277 // filePath - Pointer to the data buffer to receive the file
278 // path. Can be NULL.
279 // length - The length of the buffer, in bytes. Can be 0.
280 // Return Value:
281 // Number of bytes the filePath consumes, including trailing zeros.
282 // Comments:
283 // The filePath should always be provided in local encoding.
284 int (*Field_browse)(struct _IPDF_JsPlatform* pThis,
285 void* filePath,
286 int length);
287
288 // Pointer for embedder-specific data. Unused by PDFium, and despite
289 // its name, can be any data the embedder desires, though traditionally
290 // a FPDF_FORMFILLINFO interface.
292
293 // Version 2.
294
295 void* m_isolate; // Unused in v3, retain for compatibility.
296 unsigned int m_v8EmbedderSlot; // Unused in v3, retain for compatibility.
297
298 // Version 3.
299 // Version 3 moves m_Isolate and m_v8EmbedderSlot to FPDF_LIBRARY_CONFIG.
300} IPDF_JSPLATFORM;
301
302// Flags for Cursor type
303#define FXCT_ARROW 0
304#define FXCT_NESW 1
305#define FXCT_NWSE 2
306#define FXCT_VBEAM 3
307#define FXCT_HBEAM 4
308#define FXCT_HAND 5
309
310// Function signature for the callback function passed to the FFI_SetTimer
311// method.
312// Parameters:
313// idEvent - Identifier of the timer.
314// Return value:
315// None.
316typedef void (*TimerCallback)(int idEvent);
317
318// Declares of a struct type to the local system time.
319typedef struct _FPDF_SYSTEMTIME {
320 unsigned short wYear; // years since 1900
321 unsigned short wMonth; // months since January - [0,11]
322 unsigned short wDayOfWeek; // days since Sunday - [0,6]
323 unsigned short wDay; // day of the month - [1,31]
324 unsigned short wHour; // hours since midnight - [0,23]
325 unsigned short wMinute; // minutes after the hour - [0,59]
326 unsigned short wSecond; // seconds after the minute - [0,59]
327 unsigned short wMilliseconds; // milliseconds after the second - [0,999]
328} FPDF_SYSTEMTIME;
329
330#ifdef PDF_ENABLE_XFA
331
332// Pageview event flags
333#define FXFA_PAGEVIEWEVENT_POSTADDED 1 // After a new pageview is added.
334#define FXFA_PAGEVIEWEVENT_POSTREMOVED 3 // After a pageview is removed.
335
336// Definitions for Right Context Menu Features Of XFA Fields
337#define FXFA_MENU_COPY 1
338#define FXFA_MENU_CUT 2
339#define FXFA_MENU_SELECTALL 4
340#define FXFA_MENU_UNDO 8
341#define FXFA_MENU_REDO 16
342#define FXFA_MENU_PASTE 32
343
344// Definitions for File Type.
345#define FXFA_SAVEAS_XML 1
346#define FXFA_SAVEAS_XDP 2
347
348#endif // PDF_ENABLE_XFA
349
350typedef struct _FPDF_FORMFILLINFO {
351 // Version number of the interface.
352 // Version 1 contains stable interfaces. Version 2 has additional
353 // experimental interfaces.
354 // When PDFium is built without the XFA module, version can be 1 or 2.
355 // With version 1, only stable interfaces are called. With version 2,
356 // additional experimental interfaces are also called.
357 // When PDFium is built with the XFA module, version must be 2.
358 // All the XFA related interfaces are experimental. If PDFium is built with
359 // the XFA module and version 1 then none of the XFA related interfaces
360 // would be called. When PDFium is built with XFA module then the version
361 // must be 2.
363
364 // Version 1.
365
366 // Method: Release
367 // Give the implementation a chance to release any resources after the
368 // interface is no longer used.
369 // Interface Version:
370 // 1
371 // Implementation Required:
372 // No
373 // Comments:
374 // Called by PDFium during the final cleanup process.
375 // Parameters:
376 // pThis - Pointer to the interface structure itself
377 // Return Value:
378 // None
379 void (*Release)(struct _FPDF_FORMFILLINFO* pThis);
380
381 // Method: FFI_Invalidate
382 // Invalidate the client area within the specified rectangle.
383 // Interface Version:
384 // 1
385 // Implementation Required:
386 // yes
387 // Parameters:
388 // pThis - Pointer to the interface structure itself.
389 // page - Handle to the page. Returned by FPDF_LoadPage().
390 // left - Left position of the client area in PDF page
391 // coordinates.
392 // top - Top position of the client area in PDF page
393 // coordinates.
394 // right - Right position of the client area in PDF page
395 // coordinates.
396 // bottom - Bottom position of the client area in PDF page
397 // coordinates.
398 // Return Value:
399 // None.
400 // Comments:
401 // All positions are measured in PDF "user space".
402 // Implementation should call FPDF_RenderPageBitmap() for repainting
403 // the specified page area.
404 void (*FFI_Invalidate)(struct _FPDF_FORMFILLINFO* pThis,
405 FPDF_PAGE page,
406 double left,
407 double top,
408 double right,
409 double bottom);
410
411 // Method: FFI_OutputSelectedRect
412 // When the user selects text in form fields with the mouse, this
413 // callback function will be invoked with the selected areas.
414 // Interface Version:
415 // 1
416 // Implementation Required:
417 // No
418 // Parameters:
419 // pThis - Pointer to the interface structure itself.
420 // page - Handle to the page. Returned by FPDF_LoadPage()/
421 // left - Left position of the client area in PDF page
422 // coordinates.
423 // top - Top position of the client area in PDF page
424 // coordinates.
425 // right - Right position of the client area in PDF page
426 // coordinates.
427 // bottom - Bottom position of the client area in PDF page
428 // coordinates.
429 // Return Value:
430 // None.
431 // Comments:
432 // This callback function is useful for implementing special text
433 // selection effects. An implementation should first record the
434 // returned rectangles, then draw them one by one during the next
435 // painting period. Lastly, it should remove all the recorded
436 // rectangles when finished painting.
438 FPDF_PAGE page,
439 double left,
440 double top,
441 double right,
442 double bottom);
443
444 // Method: FFI_SetCursor
445 // Set the Cursor shape.
446 // Interface Version:
447 // 1
448 // Implementation Required:
449 // yes
450 // Parameters:
451 // pThis - Pointer to the interface structure itself.
452 // nCursorType - Cursor type, see Flags for Cursor type for details.
453 // Return value:
454 // None.
455 void (*FFI_SetCursor)(struct _FPDF_FORMFILLINFO* pThis, int nCursorType);
456
457 // Method: FFI_SetTimer
458 // This method installs a system timer. An interval value is specified,
459 // and every time that interval elapses, the system must call into the
460 // callback function with the timer ID as returned by this function.
461 // Interface Version:
462 // 1
463 // Implementation Required:
464 // yes
465 // Parameters:
466 // pThis - Pointer to the interface structure itself.
467 // uElapse - Specifies the time-out value, in milliseconds.
468 // lpTimerFunc - A pointer to the callback function-TimerCallback.
469 // Return value:
470 // The timer identifier of the new timer if the function is successful.
471 // An application passes this value to the FFI_KillTimer method to kill
472 // the timer. Nonzero if it is successful; otherwise, it is zero.
473 int (*FFI_SetTimer)(struct _FPDF_FORMFILLINFO* pThis,
474 int uElapse,
475 TimerCallback lpTimerFunc);
476
477 // Method: FFI_KillTimer
478 // This method uninstalls a system timer, as set by an earlier call to
479 // FFI_SetTimer.
480 // Interface Version:
481 // 1
482 // Implementation Required:
483 // yes
484 // Parameters:
485 // pThis - Pointer to the interface structure itself.
486 // nTimerID - The timer ID returned by FFI_SetTimer function.
487 // Return value:
488 // None.
489 void (*FFI_KillTimer)(struct _FPDF_FORMFILLINFO* pThis, int nTimerID);
490
491 // Method: FFI_GetLocalTime
492 // This method receives the current local time on the system.
493 // Interface Version:
494 // 1
495 // Implementation Required:
496 // yes
497 // Parameters:
498 // pThis - Pointer to the interface structure itself.
499 // Return value:
500 // The local time. See FPDF_SYSTEMTIME above for details.
501 // Note: Unused.
502 FPDF_SYSTEMTIME (*FFI_GetLocalTime)(struct _FPDF_FORMFILLINFO* pThis);
503
504 // Method: FFI_OnChange
505 // This method will be invoked to notify the implementation when the
506 // value of any FormField on the document had been changed.
507 // Interface Version:
508 // 1
509 // Implementation Required:
510 // no
511 // Parameters:
512 // pThis - Pointer to the interface structure itself.
513 // Return value:
514 // None.
515 void (*FFI_OnChange)(struct _FPDF_FORMFILLINFO* pThis);
516
517 // Method: FFI_GetPage
518 // This method receives the page handle associated with a specified
519 // page index.
520 // Interface Version:
521 // 1
522 // Implementation Required:
523 // yes
524 // Parameters:
525 // pThis - Pointer to the interface structure itself.
526 // document - Handle to document. Returned by FPDF_LoadDocument().
527 // nPageIndex - Index number of the page. 0 for the first page.
528 // Return value:
529 // Handle to the page, as previously returned to the implementation by
530 // FPDF_LoadPage().
531 // Comments:
532 // The implementation is expected to keep track of the page handles it
533 // receives from PDFium, and their mappings to page numbers. In some
534 // cases, the document-level JavaScript action may refer to a page
535 // which hadn't been loaded yet. To successfully run the Javascript
536 // action, the implementation needs to load the page.
537 FPDF_PAGE (*FFI_GetPage)(struct _FPDF_FORMFILLINFO* pThis,
538 FPDF_DOCUMENT document,
539 int nPageIndex);
540
541 // Method: FFI_GetCurrentPage
542 // This method receives the handle to the current page.
543 // Interface Version:
544 // 1
545 // Implementation Required:
546 // Yes when V8 support is present, otherwise unused.
547 // Parameters:
548 // pThis - Pointer to the interface structure itself.
549 // document - Handle to document. Returned by FPDF_LoadDocument().
550 // Return value:
551 // Handle to the page. Returned by FPDF_LoadPage().
552 // Comments:
553 // PDFium doesn't keep keep track of the "current page" (e.g. the one
554 // that is most visible on screen), so it must ask the embedder for
555 // this information.
556 FPDF_PAGE (*FFI_GetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis,
557 FPDF_DOCUMENT document);
558
559 // Method: FFI_GetRotation
560 // This method receives currently rotation of the page view.
561 // Interface Version:
562 // 1
563 // Implementation Required:
564 // yes
565 // Parameters:
566 // pThis - Pointer to the interface structure itself.
567 // page - Handle to page, as returned by FPDF_LoadPage().
568 // Return value:
569 // A number to indicate the page rotation in 90 degree increments
570 // in a clockwise direction:
571 // 0 - 0 degrees
572 // 1 - 90 degrees
573 // 2 - 180 degrees
574 // 3 - 270 degrees
575 // Note: Unused.
576 int (*FFI_GetRotation)(struct _FPDF_FORMFILLINFO* pThis, FPDF_PAGE page);
577
578 // Method: FFI_ExecuteNamedAction
579 // This method will execute a named action.
580 // Interface Version:
581 // 1
582 // Implementation Required:
583 // yes
584 // Parameters:
585 // pThis - Pointer to the interface structure itself.
586 // namedAction - A byte string which indicates the named action,
587 // terminated by 0.
588 // Return value:
589 // None.
590 // Comments:
591 // See ISO 32000-1:2008, section 12.6.4.11 for descriptions of the
592 // standard named actions, but note that a document may supply any
593 // name of its choosing.
595 FPDF_BYTESTRING namedAction);
596 // Method: FFI_SetTextFieldFocus
597 // Called when a text field is getting or losing focus.
598 // Interface Version:
599 // 1
600 // Implementation Required:
601 // no
602 // Parameters:
603 // pThis - Pointer to the interface structure itself.
604 // value - The string value of the form field, in UTF-16LE
605 // format.
606 // valueLen - The length of the string value. This is the
607 // number of characters, not bytes.
608 // is_focus - True if the form field is getting focus, false
609 // if the form field is losing focus.
610 // Return value:
611 // None.
612 // Comments:
613 // Only supports text fields and combobox fields.
615 FPDF_WIDESTRING value,
616 FPDF_DWORD valueLen,
617 FPDF_BOOL is_focus);
618
619 // Method: FFI_DoURIAction
620 // Ask the implementation to navigate to a uniform resource identifier.
621 // Interface Version:
622 // 1
623 // Implementation Required:
624 // No
625 // Parameters:
626 // pThis - Pointer to the interface structure itself.
627 // bsURI - A byte string which indicates the uniform
628 // resource identifier, terminated by 0.
629 // Return value:
630 // None.
631 // Comments:
632 // If the embedder is version 2 or higher and have implementation for
633 // FFI_DoURIActionWithKeyboardModifier, then
634 // FFI_DoURIActionWithKeyboardModifier takes precedence over
635 // FFI_DoURIAction.
636 // See the URI actions description of <<PDF Reference, version 1.7>>
637 // for more details.
638 void (*FFI_DoURIAction)(struct _FPDF_FORMFILLINFO* pThis,
639 FPDF_BYTESTRING bsURI);
640
641 // Method: FFI_DoGoToAction
642 // This action changes the view to a specified destination.
643 // Interface Version:
644 // 1
645 // Implementation Required:
646 // No
647 // Parameters:
648 // pThis - Pointer to the interface structure itself.
649 // nPageIndex - The index of the PDF page.
650 // zoomMode - The zoom mode for viewing page. See below.
651 // fPosArray - The float array which carries the position info.
652 // sizeofArray - The size of float array.
653 // PDFZoom values:
654 // - XYZ = 1
655 // - FITPAGE = 2
656 // - FITHORZ = 3
657 // - FITVERT = 4
658 // - FITRECT = 5
659 // - FITBBOX = 6
660 // - FITBHORZ = 7
661 // - FITBVERT = 8
662 // Return value:
663 // None.
664 // Comments:
665 // See the Destinations description of <<PDF Reference, version 1.7>>
666 // in 8.2.1 for more details.
668 int nPageIndex,
669 int zoomMode,
670 float* fPosArray,
671 int sizeofArray);
672
673 // Pointer to IPDF_JSPLATFORM interface.
674 // Unused if PDFium is built without V8 support. Otherwise, if NULL, then
675 // JavaScript will be prevented from executing while rendering the document.
676 IPDF_JSPLATFORM* m_pJsPlatform;
677
678 // Version 2 - Experimental.
679
680 // Whether the XFA module is disabled when built with the XFA module.
681 // Interface Version:
682 // Ignored if |version| < 2.
683 FPDF_BOOL xfa_disabled;
684
685 // Method: FFI_DisplayCaret
686 // This method will show the caret at specified position.
687 // Interface Version:
688 // Ignored if |version| < 2.
689 // Implementation Required:
690 // Required for XFA, otherwise set to NULL.
691 // Parameters:
692 // pThis - Pointer to the interface structure itself.
693 // page - Handle to page. Returned by FPDF_LoadPage().
694 // left - Left position of the client area in PDF page
695 // coordinates.
696 // top - Top position of the client area in PDF page
697 // coordinates.
698 // right - Right position of the client area in PDF page
699 // coordinates.
700 // bottom - Bottom position of the client area in PDF page
701 // coordinates.
702 // Return value:
703 // None.
705 FPDF_PAGE page,
706 FPDF_BOOL bVisible,
707 double left,
708 double top,
709 double right,
710 double bottom);
711
712 // Method: FFI_GetCurrentPageIndex
713 // This method will get the current page index.
714 // Interface Version:
715 // Ignored if |version| < 2.
716 // Implementation Required:
717 // Required for XFA, otherwise set to NULL.
718 // Parameters:
719 // pThis - Pointer to the interface structure itself.
720 // document - Handle to document from FPDF_LoadDocument().
721 // Return value:
722 // The index of current page.
724 FPDF_DOCUMENT document);
725
726 // Method: FFI_SetCurrentPage
727 // This method will set the current page.
728 // Interface Version:
729 // Ignored if |version| < 2.
730 // Implementation Required:
731 // Required for XFA, otherwise set to NULL.
732 // Parameters:
733 // pThis - Pointer to the interface structure itself.
734 // document - Handle to document from FPDF_LoadDocument().
735 // iCurPage - The index of the PDF page.
736 // Return value:
737 // None.
739 FPDF_DOCUMENT document,
740 int iCurPage);
741
742 // Method: FFI_GotoURL
743 // This method will navigate to the specified URL.
744 // Interface Version:
745 // Ignored if |version| < 2.
746 // Implementation Required:
747 // Required for XFA, otherwise set to NULL.
748 // Parameters:
749 // pThis - Pointer to the interface structure itself.
750 // document - Handle to document from FPDF_LoadDocument().
751 // wsURL - The string value of the URL, in UTF-16LE format.
752 // Return value:
753 // None.
754 void (*FFI_GotoURL)(struct _FPDF_FORMFILLINFO* pThis,
755 FPDF_DOCUMENT document,
756 FPDF_WIDESTRING wsURL);
757
758 // Method: FFI_GetPageViewRect
759 // This method will get the current page view rectangle.
760 // Interface Version:
761 // Ignored if |version| < 2.
762 // Implementation Required:
763 // Required for XFA, otherwise set to NULL.
764 // Parameters:
765 // pThis - Pointer to the interface structure itself.
766 // page - Handle to page. Returned by FPDF_LoadPage().
767 // left - The pointer to receive left position of the page
768 // view area in PDF page coordinates.
769 // top - The pointer to receive top position of the page
770 // view area in PDF page coordinates.
771 // right - The pointer to receive right position of the
772 // page view area in PDF page coordinates.
773 // bottom - The pointer to receive bottom position of the
774 // page view area in PDF page coordinates.
775 // Return value:
776 // None.
778 FPDF_PAGE page,
779 double* left,
780 double* top,
781 double* right,
782 double* bottom);
783
784 // Method: FFI_PageEvent
785 // This method fires when pages have been added to or deleted from
786 // the XFA document.
787 // Interface Version:
788 // Ignored if |version| < 2.
789 // Implementation Required:
790 // Required for XFA, otherwise set to NULL.
791 // Parameters:
792 // pThis - Pointer to the interface structure itself.
793 // page_count - The number of pages to be added or deleted.
794 // event_type - See FXFA_PAGEVIEWEVENT_* above.
795 // Return value:
796 // None.
797 // Comments:
798 // The pages to be added or deleted always start from the last page
799 // of document. This means that if parameter page_count is 2 and
800 // event type is FXFA_PAGEVIEWEVENT_POSTADDED, 2 new pages have been
801 // appended to the tail of document; If page_count is 2 and
802 // event type is FXFA_PAGEVIEWEVENT_POSTREMOVED, the last 2 pages
803 // have been deleted.
804 void (*FFI_PageEvent)(struct _FPDF_FORMFILLINFO* pThis,
805 int page_count,
806 FPDF_DWORD event_type);
807
808 // Method: FFI_PopupMenu
809 // This method will track the right context menu for XFA fields.
810 // Interface Version:
811 // Ignored if |version| < 2.
812 // Implementation Required:
813 // Required for XFA, otherwise set to NULL.
814 // Parameters:
815 // pThis - Pointer to the interface structure itself.
816 // page - Handle to page. Returned by FPDF_LoadPage().
817 // hWidget - Always null, exists for compatibility.
818 // menuFlag - The menu flags. Please refer to macro definition
819 // of FXFA_MENU_XXX and this can be one or a
820 // combination of these macros.
821 // x - X position of the client area in PDF page
822 // coordinates.
823 // y - Y position of the client area in PDF page
824 // coordinates.
825 // Return value:
826 // TRUE indicates success; otherwise false.
827 FPDF_BOOL (*FFI_PopupMenu)(struct _FPDF_FORMFILLINFO* pThis,
828 FPDF_PAGE page,
829 FPDF_WIDGET hWidget,
830 int menuFlag,
831 float x,
832 float y);
833
834 // Method: FFI_OpenFile
835 // This method will open the specified file with the specified mode.
836 // Interface Version:
837 // Ignored if |version| < 2.
838 // Implementation Required:
839 // Required for XFA, otherwise set to NULL.
840 // Parameters:
841 // pThis - Pointer to the interface structure itself.
842 // fileFlag - The file flag. Please refer to macro definition
843 // of FXFA_SAVEAS_XXX and use one of these macros.
844 // wsURL - The string value of the file URL, in UTF-16LE
845 // format.
846 // mode - The mode for open file, e.g. "rb" or "wb".
847 // Return value:
848 // The handle to FPDF_FILEHANDLER.
849 FPDF_FILEHANDLER* (*FFI_OpenFile)(struct _FPDF_FORMFILLINFO* pThis,
850 int fileFlag,
851 FPDF_WIDESTRING wsURL,
852 const char* mode);
853
854 // Method: FFI_EmailTo
855 // This method will email the specified file stream to the specified
856 // contact.
857 // Interface Version:
858 // Ignored if |version| < 2.
859 // Implementation Required:
860 // Required for XFA, otherwise set to NULL.
861 // Parameters:
862 // pThis - Pointer to the interface structure itself.
863 // pFileHandler - Handle to the FPDF_FILEHANDLER.
864 // pTo - A semicolon-delimited list of recipients for the
865 // message,in UTF-16LE format.
866 // pSubject - The subject of the message,in UTF-16LE format.
867 // pCC - A semicolon-delimited list of CC recipients for
868 // the message,in UTF-16LE format.
869 // pBcc - A semicolon-delimited list of BCC recipients for
870 // the message,in UTF-16LE format.
871 // pMsg - Pointer to the data buffer to be sent.Can be
872 // NULL,in UTF-16LE format.
873 // Return value:
874 // None.
875 void (*FFI_EmailTo)(struct _FPDF_FORMFILLINFO* pThis,
876 FPDF_FILEHANDLER* fileHandler,
877 FPDF_WIDESTRING pTo,
878 FPDF_WIDESTRING pSubject,
879 FPDF_WIDESTRING pCC,
880 FPDF_WIDESTRING pBcc,
881 FPDF_WIDESTRING pMsg);
882
883 // Method: FFI_UploadTo
884 // This method will upload the specified file stream to the
885 // specified URL.
886 // Interface Version:
887 // Ignored if |version| < 2.
888 // Implementation Required:
889 // Required for XFA, otherwise set to NULL.
890 // Parameters:
891 // pThis - Pointer to the interface structure itself.
892 // pFileHandler - Handle to the FPDF_FILEHANDLER.
893 // fileFlag - The file flag. Please refer to macro definition
894 // of FXFA_SAVEAS_XXX and use one of these macros.
895 // uploadTo - Pointer to the URL path, in UTF-16LE format.
896 // Return value:
897 // None.
898 void (*FFI_UploadTo)(struct _FPDF_FORMFILLINFO* pThis,
899 FPDF_FILEHANDLER* fileHandler,
900 int fileFlag,
901 FPDF_WIDESTRING uploadTo);
902
903 // Method: FFI_GetPlatform
904 // This method will get the current platform.
905 // Interface Version:
906 // Ignored if |version| < 2.
907 // Implementation Required:
908 // Required for XFA, otherwise set to NULL.
909 // Parameters:
910 // pThis - Pointer to the interface structure itself.
911 // platform - Pointer to the data buffer to receive the
912 // platform,in UTF-16LE format. Can be NULL.
913 // length - The length of the buffer in bytes. Can be
914 // 0 to query the required size.
915 // Return value:
916 // The length of the buffer, number of bytes.
918 void* platform,
919 int length);
920
921 // Method: FFI_GetLanguage
922 // This method will get the current language.
923 // Interface Version:
924 // Ignored if |version| < 2.
925 // Implementation Required:
926 // Required for XFA, otherwise set to NULL.
927 // Parameters:
928 // pThis - Pointer to the interface structure itself.
929 // language - Pointer to the data buffer to receive the
930 // current language. Can be NULL.
931 // length - The length of the buffer in bytes. Can be
932 // 0 to query the required size.
933 // Return value:
934 // The length of the buffer, number of bytes.
936 void* language,
937 int length);
938
939 // Method: FFI_DownloadFromURL
940 // This method will download the specified file from the URL.
941 // Interface Version:
942 // Ignored if |version| < 2.
943 // Implementation Required:
944 // Required for XFA, otherwise set to NULL.
945 // Parameters:
946 // pThis - Pointer to the interface structure itself.
947 // URL - The string value of the file URL, in UTF-16LE
948 // format.
949 // Return value:
950 // The handle to FPDF_FILEHANDLER.
951 FPDF_FILEHANDLER* (*FFI_DownloadFromURL)(struct _FPDF_FORMFILLINFO* pThis,
952 FPDF_WIDESTRING URL);
953 // Method: FFI_PostRequestURL
954 // This method will post the request to the server URL.
955 // Interface Version:
956 // Ignored if |version| < 2.
957 // Implementation Required:
958 // Required for XFA, otherwise set to NULL.
959 // Parameters:
960 // pThis - Pointer to the interface structure itself.
961 // wsURL - The string value of the server URL, in UTF-16LE
962 // format.
963 // wsData - The post data,in UTF-16LE format.
964 // wsContentType - The content type of the request data, in
965 // UTF-16LE format.
966 // wsEncode - The encode type, in UTF-16LE format.
967 // wsHeader - The request header,in UTF-16LE format.
968 // response - Pointer to the FPDF_BSTR to receive the response
969 // data from the server, in UTF-16LE format.
970 // Return value:
971 // TRUE indicates success, otherwise FALSE.
972 FPDF_BOOL (*FFI_PostRequestURL)(struct _FPDF_FORMFILLINFO* pThis,
973 FPDF_WIDESTRING wsURL,
974 FPDF_WIDESTRING wsData,
975 FPDF_WIDESTRING wsContentType,
976 FPDF_WIDESTRING wsEncode,
977 FPDF_WIDESTRING wsHeader,
978 FPDF_BSTR* response);
979
980 // Method: FFI_PutRequestURL
981 // This method will put the request to the server URL.
982 // Interface Version:
983 // Ignored if |version| < 2.
984 // Implementation Required:
985 // Required for XFA, otherwise set to NULL.
986 // Parameters:
987 // pThis - Pointer to the interface structure itself.
988 // wsURL - The string value of the server URL, in UTF-16LE
989 // format.
990 // wsData - The put data, in UTF-16LE format.
991 // wsEncode - The encode type, in UTR-16LE format.
992 // Return value:
993 // TRUE indicates success, otherwise FALSE.
994 FPDF_BOOL (*FFI_PutRequestURL)(struct _FPDF_FORMFILLINFO* pThis,
995 FPDF_WIDESTRING wsURL,
996 FPDF_WIDESTRING wsData,
997 FPDF_WIDESTRING wsEncode);
998
999 // Method: FFI_OnFocusChange
1000 // Called when the focused annotation is updated.
1001 // Interface Version:
1002 // Ignored if |version| < 2.
1003 // Implementation Required:
1004 // No
1005 // Parameters:
1006 // param - Pointer to the interface structure itself.
1007 // annot - The focused annotation.
1008 // page_index - Index number of the page which contains the
1009 // focused annotation. 0 for the first page.
1010 // Return value:
1011 // None.
1012 // Comments:
1013 // This callback function is useful for implementing any view based
1014 // action such as scrolling the annotation rect into view. The
1015 // embedder should not copy and store the annot as its scope is
1016 // limited to this call only.
1018 FPDF_ANNOTATION annot,
1019 int page_index);
1020
1021 // Method: FFI_DoURIActionWithKeyboardModifier
1022 // Ask the implementation to navigate to a uniform resource identifier
1023 // with the specified modifiers.
1024 // Interface Version:
1025 // Ignored if |version| < 2.
1026 // Implementation Required:
1027 // No
1028 // Parameters:
1029 // param - Pointer to the interface structure itself.
1030 // uri - A byte string which indicates the uniform
1031 // resource identifier, terminated by 0.
1032 // modifiers - Keyboard modifier that indicates which of
1033 // the virtual keys are down, if any.
1034 // Return value:
1035 // None.
1036 // Comments:
1037 // If the embedder who is version 2 and does not implement this API,
1038 // then a call will be redirected to FFI_DoURIAction.
1039 // See the URI actions description of <<PDF Reference, version 1.7>>
1040 // for more details.
1042 FPDF_BYTESTRING uri,
1043 int modifiers);
1044} FPDF_FORMFILLINFO;
1045
1046// Function: FPDFDOC_InitFormFillEnvironment
1047// Initialize form fill environment.
1048// Parameters:
1049// document - Handle to document from FPDF_LoadDocument().
1050// formInfo - Pointer to a FPDF_FORMFILLINFO structure.
1051// Return Value:
1052// Handle to the form fill module, or NULL on failure.
1053// Comments:
1054// This function should be called before any form fill operation.
1055// The FPDF_FORMFILLINFO passed in via |formInfo| must remain valid until
1056// the returned FPDF_FORMHANDLE is closed.
1057FPDF_EXPORT FPDF_FORMHANDLE FPDF_CALLCONV
1058FPDFDOC_InitFormFillEnvironment(FPDF_DOCUMENT document,
1059 FPDF_FORMFILLINFO* formInfo);
1060
1061// Function: FPDFDOC_ExitFormFillEnvironment
1062// Take ownership of |hHandle| and exit form fill environment.
1063// Parameters:
1064// hHandle - Handle to the form fill module, as returned by
1065// FPDFDOC_InitFormFillEnvironment().
1066// Return Value:
1067// None.
1068// Comments:
1069// This function is a no-op when |hHandle| is null.
1071FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle);
1072
1073// Function: FORM_OnAfterLoadPage
1074// This method is required for implementing all the form related
1075// functions. Should be invoked after user successfully loaded a
1076// PDF page, and FPDFDOC_InitFormFillEnvironment() has been invoked.
1077// Parameters:
1078// hHandle - Handle to the form fill module, as returned by
1079// FPDFDOC_InitFormFillEnvironment().
1080// Return Value:
1081// None.
1083 FPDF_FORMHANDLE hHandle);
1084
1085// Function: FORM_OnBeforeClosePage
1086// This method is required for implementing all the form related
1087// functions. Should be invoked before user closes the PDF page.
1088// Parameters:
1089// page - Handle to the page, as returned by FPDF_LoadPage().
1090// hHandle - Handle to the form fill module, as returned by
1091// FPDFDOC_InitFormFillEnvironment().
1092// Return Value:
1093// None.
1095 FPDF_FORMHANDLE hHandle);
1096
1097// Function: FORM_DoDocumentJSAction
1098// This method is required for performing document-level JavaScript
1099// actions. It should be invoked after the PDF document has been loaded.
1100// Parameters:
1101// hHandle - Handle to the form fill module, as returned by
1102// FPDFDOC_InitFormFillEnvironment().
1103// Return Value:
1104// None.
1105// Comments:
1106// If there is document-level JavaScript action embedded in the
1107// document, this method will execute the JavaScript action. Otherwise,
1108// the method will do nothing.
1110FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle);
1111
1112// Function: FORM_DoDocumentOpenAction
1113// This method is required for performing open-action when the document
1114// is opened.
1115// Parameters:
1116// hHandle - Handle to the form fill module, as returned by
1117// FPDFDOC_InitFormFillEnvironment().
1118// Return Value:
1119// None.
1120// Comments:
1121// This method will do nothing if there are no open-actions embedded
1122// in the document.
1124FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle);
1125
1126// Additional actions type of document:
1127// WC, before closing document, JavaScript action.
1128// WS, before saving document, JavaScript action.
1129// DS, after saving document, JavaScript action.
1130// WP, before printing document, JavaScript action.
1131// DP, after printing document, JavaScript action.
1132#define FPDFDOC_AACTION_WC 0x10
1133#define FPDFDOC_AACTION_WS 0x11
1134#define FPDFDOC_AACTION_DS 0x12
1135#define FPDFDOC_AACTION_WP 0x13
1136#define FPDFDOC_AACTION_DP 0x14
1137
1138// Function: FORM_DoDocumentAAction
1139// This method is required for performing the document's
1140// additional-action.
1141// Parameters:
1142// hHandle - Handle to the form fill module. Returned by
1143// FPDFDOC_InitFormFillEnvironment.
1144// aaType - The type of the additional-actions which defined
1145// above.
1146// Return Value:
1147// None.
1148// Comments:
1149// This method will do nothing if there is no document
1150// additional-action corresponding to the specified |aaType|.
1151FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle,
1152 int aaType);
1153
1154// Additional-action types of page object:
1155// OPEN (/O) -- An action to be performed when the page is opened
1156// CLOSE (/C) -- An action to be performed when the page is closed
1157#define FPDFPAGE_AACTION_OPEN 0
1158#define FPDFPAGE_AACTION_CLOSE 1
1159
1160// Function: FORM_DoPageAAction
1161// This method is required for performing the page object's
1162// additional-action when opened or closed.
1163// Parameters:
1164// page - Handle to the page, as returned by FPDF_LoadPage().
1165// hHandle - Handle to the form fill module, as returned by
1166// FPDFDOC_InitFormFillEnvironment().
1167// aaType - The type of the page object's additional-actions
1168// which defined above.
1169// Return Value:
1170// None.
1171// Comments:
1172// This method will do nothing if no additional-action corresponding
1173// to the specified |aaType| exists.
1174FPDF_EXPORT void FPDF_CALLCONV FORM_DoPageAAction(FPDF_PAGE page,
1175 FPDF_FORMHANDLE hHandle,
1176 int aaType);
1177
1178// Function: FORM_OnMouseMove
1179// Call this member function when the mouse cursor moves.
1180// Parameters:
1181// hHandle - Handle to the form fill module, as returned by
1182// FPDFDOC_InitFormFillEnvironment().
1183// page - Handle to the page, as returned by FPDF_LoadPage().
1184// modifier - Indicates whether various virtual keys are down.
1185// page_x - Specifies the x-coordinate of the cursor in PDF user
1186// space.
1187// page_y - Specifies the y-coordinate of the cursor in PDF user
1188// space.
1189// Return Value:
1190// True indicates success; otherwise false.
1191FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseMove(FPDF_FORMHANDLE hHandle,
1192 FPDF_PAGE page,
1193 int modifier,
1194 double page_x,
1195 double page_y);
1196
1197// Experimental API
1198// Function: FORM_OnMouseWheel
1199// Call this member function when the user scrolls the mouse wheel.
1200// Parameters:
1201// hHandle - Handle to the form fill module, as returned by
1202// FPDFDOC_InitFormFillEnvironment().
1203// page - Handle to the page, as returned by FPDF_LoadPage().
1204// modifier - Indicates whether various virtual keys are down.
1205// page_coord - Specifies the coordinates of the cursor in PDF user
1206// space.
1207// delta_x - Specifies the amount of wheel movement on the x-axis,
1208// in units of platform-agnostic wheel deltas. Negative
1209// values mean left.
1210// delta_y - Specifies the amount of wheel movement on the y-axis,
1211// in units of platform-agnostic wheel deltas. Negative
1212// values mean down.
1213// Return Value:
1214// True indicates success; otherwise false.
1215// Comments:
1216// For |delta_x| and |delta_y|, the caller must normalize
1217// platform-specific wheel deltas. e.g. On Windows, a delta value of 240
1218// for a WM_MOUSEWHEEL event normalizes to 2, since Windows defines
1219// WHEEL_DELTA as 120.
1221 FPDF_FORMHANDLE hHandle,
1222 FPDF_PAGE page,
1223 int modifier,
1224 const FS_POINTF* page_coord,
1225 int delta_x,
1226 int delta_y);
1227
1228// Function: FORM_OnFocus
1229// This function focuses the form annotation at a given point. If the
1230// annotation at the point already has focus, nothing happens. If there
1231// is no annotation at the point, removes form focus.
1232// Parameters:
1233// hHandle - Handle to the form fill module, as returned by
1234// FPDFDOC_InitFormFillEnvironment().
1235// page - Handle to the page, as returned by FPDF_LoadPage().
1236// modifier - Indicates whether various virtual keys are down.
1237// page_x - Specifies the x-coordinate of the cursor in PDF user
1238// space.
1239// page_y - Specifies the y-coordinate of the cursor in PDF user
1240// space.
1241// Return Value:
1242// True if there is an annotation at the given point and it has focus.
1243FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnFocus(FPDF_FORMHANDLE hHandle,
1244 FPDF_PAGE page,
1245 int modifier,
1246 double page_x,
1247 double page_y);
1248
1249// Function: FORM_OnLButtonDown
1250// Call this member function when the user presses the left
1251// mouse button.
1252// Parameters:
1253// hHandle - Handle to the form fill module, as returned by
1254// FPDFDOC_InitFormFillEnvironment().
1255// page - Handle to the page, as returned by FPDF_LoadPage().
1256// modifier - Indicates whether various virtual keys are down.
1257// page_x - Specifies the x-coordinate of the cursor in PDF user
1258// space.
1259// page_y - Specifies the y-coordinate of the cursor in PDF user
1260// space.
1261// Return Value:
1262// True indicates success; otherwise false.
1263FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonDown(FPDF_FORMHANDLE hHandle,
1264 FPDF_PAGE page,
1265 int modifier,
1266 double page_x,
1267 double page_y);
1268
1269// Function: FORM_OnRButtonDown
1270// Same as above, execpt for the right mouse button.
1271// Comments:
1272// At the present time, has no effect except in XFA builds, but is
1273// included for the sake of symmetry.
1274FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonDown(FPDF_FORMHANDLE hHandle,
1275 FPDF_PAGE page,
1276 int modifier,
1277 double page_x,
1278 double page_y);
1279// Function: FORM_OnLButtonUp
1280// Call this member function when the user releases the left
1281// mouse button.
1282// Parameters:
1283// hHandle - Handle to the form fill module, as returned by
1284// FPDFDOC_InitFormFillEnvironment().
1285// page - Handle to the page, as returned by FPDF_LoadPage().
1286// modifier - Indicates whether various virtual keys are down.
1287// page_x - Specifies the x-coordinate of the cursor in device.
1288// page_y - Specifies the y-coordinate of the cursor in device.
1289// Return Value:
1290// True indicates success; otherwise false.
1291FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle,
1292 FPDF_PAGE page,
1293 int modifier,
1294 double page_x,
1295 double page_y);
1296
1297// Function: FORM_OnRButtonUp
1298// Same as above, execpt for the right mouse button.
1299// Comments:
1300// At the present time, has no effect except in XFA builds, but is
1301// included for the sake of symmetry.
1302FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonUp(FPDF_FORMHANDLE hHandle,
1303 FPDF_PAGE page,
1304 int modifier,
1305 double page_x,
1306 double page_y);
1307
1308// Function: FORM_OnLButtonDoubleClick
1309// Call this member function when the user double clicks the
1310// left mouse button.
1311// Parameters:
1312// hHandle - Handle to the form fill module, as returned by
1313// FPDFDOC_InitFormFillEnvironment().
1314// page - Handle to the page, as returned by FPDF_LoadPage().
1315// modifier - Indicates whether various virtual keys are down.
1316// page_x - Specifies the x-coordinate of the cursor in PDF user
1317// space.
1318// page_y - Specifies the y-coordinate of the cursor in PDF user
1319// space.
1320// Return Value:
1321// True indicates success; otherwise false.
1322FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1323FORM_OnLButtonDoubleClick(FPDF_FORMHANDLE hHandle,
1324 FPDF_PAGE page,
1325 int modifier,
1326 double page_x,
1327 double page_y);
1328
1329// Function: FORM_OnKeyDown
1330// Call this member function when a nonsystem key is pressed.
1331// Parameters:
1332// hHandle - Handle to the form fill module, aseturned by
1333// FPDFDOC_InitFormFillEnvironment().
1334// page - Handle to the page, as returned by FPDF_LoadPage().
1335// nKeyCode - The virtual-key code of the given key (see
1336// fpdf_fwlevent.h for virtual key codes).
1337// modifier - Mask of key flags (see fpdf_fwlevent.h for key
1338// flag values).
1339// Return Value:
1340// True indicates success; otherwise false.
1341FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyDown(FPDF_FORMHANDLE hHandle,
1342 FPDF_PAGE page,
1343 int nKeyCode,
1344 int modifier);
1345
1346// Function: FORM_OnKeyUp
1347// Call this member function when a nonsystem key is released.
1348// Parameters:
1349// hHandle - Handle to the form fill module, as returned by
1350// FPDFDOC_InitFormFillEnvironment().
1351// page - Handle to the page, as returned by FPDF_LoadPage().
1352// nKeyCode - The virtual-key code of the given key (see
1353// fpdf_fwlevent.h for virtual key codes).
1354// modifier - Mask of key flags (see fpdf_fwlevent.h for key
1355// flag values).
1356// Return Value:
1357// True indicates success; otherwise false.
1358// Comments:
1359// Currently unimplemented and always returns false. PDFium reserves this
1360// API and may implement it in the future on an as-needed basis.
1361FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyUp(FPDF_FORMHANDLE hHandle,
1362 FPDF_PAGE page,
1363 int nKeyCode,
1364 int modifier);
1365
1366// Function: FORM_OnChar
1367// Call this member function when a keystroke translates to a
1368// nonsystem character.
1369// Parameters:
1370// hHandle - Handle to the form fill module, as returned by
1371// FPDFDOC_InitFormFillEnvironment().
1372// page - Handle to the page, as returned by FPDF_LoadPage().
1373// nChar - The character code value itself.
1374// modifier - Mask of key flags (see fpdf_fwlevent.h for key
1375// flag values).
1376// Return Value:
1377// True indicates success; otherwise false.
1378FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnChar(FPDF_FORMHANDLE hHandle,
1379 FPDF_PAGE page,
1380 int nChar,
1381 int modifier);
1382
1383// Experimental API
1384// Function: FORM_GetFocusedText
1385// Call this function to obtain the text within the current focused
1386// field, if any.
1387// Parameters:
1388// hHandle - Handle to the form fill module, as returned by
1389// FPDFDOC_InitFormFillEnvironment().
1390// page - Handle to the page, as returned by FPDF_LoadPage().
1391// buffer - Buffer for holding the form text, encoded in
1392// UTF-16LE. If NULL, |buffer| is not modified.
1393// buflen - Length of |buffer| in bytes. If |buflen| is less
1394// than the length of the form text string, |buffer| is
1395// not modified.
1396// Return Value:
1397// Length in bytes for the text in the focused field.
1398FPDF_EXPORT unsigned long FPDF_CALLCONV
1399FORM_GetFocusedText(FPDF_FORMHANDLE hHandle,
1400 FPDF_PAGE page,
1401 void* buffer,
1402 unsigned long buflen);
1403
1404// Function: FORM_GetSelectedText
1405// Call this function to obtain selected text within a form text
1406// field or form combobox text field.
1407// Parameters:
1408// hHandle - Handle to the form fill module, as returned by
1409// FPDFDOC_InitFormFillEnvironment().
1410// page - Handle to the page, as returned by FPDF_LoadPage().
1411// buffer - Buffer for holding the selected text, encoded in
1412// UTF-16LE. If NULL, |buffer| is not modified.
1413// buflen - Length of |buffer| in bytes. If |buflen| is less
1414// than the length of the selected text string,
1415// |buffer| is not modified.
1416// Return Value:
1417// Length in bytes of selected text in form text field or form combobox
1418// text field.
1419FPDF_EXPORT unsigned long FPDF_CALLCONV
1420FORM_GetSelectedText(FPDF_FORMHANDLE hHandle,
1421 FPDF_PAGE page,
1422 void* buffer,
1423 unsigned long buflen);
1424
1425// Experimental API
1426// Function: FORM_ReplaceAndKeepSelection
1427// Call this function to replace the selected text in a form
1428// text field or user-editable form combobox text field with another
1429// text string (which can be empty or non-empty). If there is no
1430// selected text, this function will append the replacement text after
1431// the current caret position. After the insertion, the inserted text
1432// will be selected.
1433// Parameters:
1434// hHandle - Handle to the form fill module, as returned by
1435// FPDFDOC_InitFormFillEnvironment().
1436// page - Handle to the page, as Returned by FPDF_LoadPage().
1437// wsText - The text to be inserted, in UTF-16LE format.
1438// Return Value:
1439// None.
1441FORM_ReplaceAndKeepSelection(FPDF_FORMHANDLE hHandle,
1442 FPDF_PAGE page,
1443 FPDF_WIDESTRING wsText);
1444
1445// Function: FORM_ReplaceSelection
1446// Call this function to replace the selected text in a form
1447// text field or user-editable form combobox text field with another
1448// text string (which can be empty or non-empty). If there is no
1449// selected text, this function will append the replacement text after
1450// the current caret position. After the insertion, the selection range
1451// will be set to empty.
1452// Parameters:
1453// hHandle - Handle to the form fill module, as returned by
1454// FPDFDOC_InitFormFillEnvironment().
1455// page - Handle to the page, as Returned by FPDF_LoadPage().
1456// wsText - The text to be inserted, in UTF-16LE format.
1457// Return Value:
1458// None.
1459FPDF_EXPORT void FPDF_CALLCONV FORM_ReplaceSelection(FPDF_FORMHANDLE hHandle,
1460 FPDF_PAGE page,
1461 FPDF_WIDESTRING wsText);
1462
1463// Experimental API
1464// Function: FORM_SelectAllText
1465// Call this function to select all the text within the currently focused
1466// form text field or form combobox text field.
1467// Parameters:
1468// hHandle - Handle to the form fill module, as returned by
1469// FPDFDOC_InitFormFillEnvironment().
1470// page - Handle to the page, as returned by FPDF_LoadPage().
1471// Return Value:
1472// Whether the operation succeeded or not.
1473FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1474FORM_SelectAllText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page);
1475
1476// Function: FORM_CanUndo
1477// Find out if it is possible for the current focused widget in a given
1478// form to perform an undo operation.
1479// Parameters:
1480// hHandle - Handle to the form fill module, as returned by
1481// FPDFDOC_InitFormFillEnvironment().
1482// page - Handle to the page, as returned by FPDF_LoadPage().
1483// Return Value:
1484// True if it is possible to undo.
1485FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanUndo(FPDF_FORMHANDLE hHandle,
1486 FPDF_PAGE page);
1487
1488// Function: FORM_CanRedo
1489// Find out if it is possible for the current focused widget in a given
1490// form to perform a redo operation.
1491// Parameters:
1492// hHandle - Handle to the form fill module, as returned by
1493// FPDFDOC_InitFormFillEnvironment().
1494// page - Handle to the page, as returned by FPDF_LoadPage().
1495// Return Value:
1496// True if it is possible to redo.
1497FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanRedo(FPDF_FORMHANDLE hHandle,
1498 FPDF_PAGE page);
1499
1500// Function: FORM_Undo
1501// Make the current focused widget perform an undo operation.
1502// Parameters:
1503// hHandle - Handle to the form fill module, as returned by
1504// FPDFDOC_InitFormFillEnvironment().
1505// page - Handle to the page, as returned by FPDF_LoadPage().
1506// Return Value:
1507// True if the undo operation succeeded.
1508FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Undo(FPDF_FORMHANDLE hHandle,
1509 FPDF_PAGE page);
1510
1511// Function: FORM_Redo
1512// Make the current focused widget perform a redo operation.
1513// Parameters:
1514// hHandle - Handle to the form fill module, as returned by
1515// FPDFDOC_InitFormFillEnvironment().
1516// page - Handle to the page, as returned by FPDF_LoadPage().
1517// Return Value:
1518// True if the redo operation succeeded.
1519FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Redo(FPDF_FORMHANDLE hHandle,
1520 FPDF_PAGE page);
1521
1522// Function: FORM_ForceToKillFocus.
1523// Call this member function to force to kill the focus of the form
1524// field which has focus. If it would kill the focus of a form field,
1525// save the value of form field if was changed by theuser.
1526// Parameters:
1527// hHandle - Handle to the form fill module, as returned by
1528// FPDFDOC_InitFormFillEnvironment().
1529// Return Value:
1530// True indicates success; otherwise false.
1531FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1532FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle);
1533
1534// Experimental API.
1535// Function: FORM_GetFocusedAnnot.
1536// Call this member function to get the currently focused annotation.
1537// Parameters:
1538// handle - Handle to the form fill module, as returned by
1539// FPDFDOC_InitFormFillEnvironment().
1540// page_index - Buffer to hold the index number of the page which
1541// contains the focused annotation. 0 for the first page.
1542// Can't be NULL.
1543// annot - Buffer to hold the focused annotation. Can't be NULL.
1544// Return Value:
1545// On success, return true and write to the out parameters. Otherwise
1546// return false and leave the out parameters unmodified.
1547// Comments:
1548// Not currently supported for XFA forms - will report no focused
1549// annotation.
1550// Must call FPDFPage_CloseAnnot() when the annotation returned in |annot|
1551// by this function is no longer needed.
1552// This will return true and set |page_index| to -1 and |annot| to NULL,
1553// if there is no focused annotation.
1554FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1555FORM_GetFocusedAnnot(FPDF_FORMHANDLE handle,
1556 int* page_index,
1557 FPDF_ANNOTATION* annot);
1558
1559// Experimental API.
1560// Function: FORM_SetFocusedAnnot.
1561// Call this member function to set the currently focused annotation.
1562// Parameters:
1563// handle - Handle to the form fill module, as returned by
1564// FPDFDOC_InitFormFillEnvironment().
1565// annot - Handle to an annotation.
1566// Return Value:
1567// True indicates success; otherwise false.
1568// Comments:
1569// |annot| can't be NULL. To kill focus, use FORM_ForceToKillFocus()
1570// instead.
1571FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1572FORM_SetFocusedAnnot(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot);
1573
1574// Form Field Types
1575// The names of the defines are stable, but the specific values associated with
1576// them are not, so do not hardcode their values.
1577#define FPDF_FORMFIELD_UNKNOWN 0 // Unknown.
1578#define FPDF_FORMFIELD_PUSHBUTTON 1 // push button type.
1579#define FPDF_FORMFIELD_CHECKBOX 2 // check box type.
1580#define FPDF_FORMFIELD_RADIOBUTTON 3 // radio button type.
1581#define FPDF_FORMFIELD_COMBOBOX 4 // combo box type.
1582#define FPDF_FORMFIELD_LISTBOX 5 // list box type.
1583#define FPDF_FORMFIELD_TEXTFIELD 6 // text field type.
1584#define FPDF_FORMFIELD_SIGNATURE 7 // text field type.
1585#ifdef PDF_ENABLE_XFA
1586#define FPDF_FORMFIELD_XFA 8 // Generic XFA type.
1587#define FPDF_FORMFIELD_XFA_CHECKBOX 9 // XFA check box type.
1588#define FPDF_FORMFIELD_XFA_COMBOBOX 10 // XFA combo box type.
1589#define FPDF_FORMFIELD_XFA_IMAGEFIELD 11 // XFA image field type.
1590#define FPDF_FORMFIELD_XFA_LISTBOX 12 // XFA list box type.
1591#define FPDF_FORMFIELD_XFA_PUSHBUTTON 13 // XFA push button type.
1592#define FPDF_FORMFIELD_XFA_SIGNATURE 14 // XFA signture field type.
1593#define FPDF_FORMFIELD_XFA_TEXTFIELD 15 // XFA text field type.
1594#endif // PDF_ENABLE_XFA
1595
1596#ifdef PDF_ENABLE_XFA
1597#define FPDF_FORMFIELD_COUNT 16
1598#else // PDF_ENABLE_XFA
1599#define FPDF_FORMFIELD_COUNT 8
1600#endif // PDF_ENABLE_XFA
1601
1602#ifdef PDF_ENABLE_XFA
1603#define IS_XFA_FORMFIELD(type)
1604 (((type) == FPDF_FORMFIELD_XFA) ||
1605 ((type) == FPDF_FORMFIELD_XFA_CHECKBOX) ||
1606 ((type) == FPDF_FORMFIELD_XFA_COMBOBOX) ||
1607 ((type) == FPDF_FORMFIELD_XFA_IMAGEFIELD) ||
1608 ((type) == FPDF_FORMFIELD_XFA_LISTBOX) ||
1609 ((type) == FPDF_FORMFIELD_XFA_PUSHBUTTON) ||
1610 ((type) == FPDF_FORMFIELD_XFA_SIGNATURE) ||
1611 ((type) == FPDF_FORMFIELD_XFA_TEXTFIELD))
1612#endif // PDF_ENABLE_XFA
1613
1614// Function: FPDFPage_HasFormFieldAtPoint
1615// Get the form field type by point.
1616// Parameters:
1617// hHandle - Handle to the form fill module. Returned by
1618// FPDFDOC_InitFormFillEnvironment().
1619// page - Handle to the page. Returned by FPDF_LoadPage().
1620// page_x - X position in PDF "user space".
1621// page_y - Y position in PDF "user space".
1622// Return Value:
1623// Return the type of the form field; -1 indicates no field.
1624// See field types above.
1626FPDFPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle,
1627 FPDF_PAGE page,
1628 double page_x,
1629 double page_y);
1630
1631// Function: FPDFPage_FormFieldZOrderAtPoint
1632// Get the form field z-order by point.
1633// Parameters:
1634// hHandle - Handle to the form fill module. Returned by
1635// FPDFDOC_InitFormFillEnvironment().
1636// page - Handle to the page. Returned by FPDF_LoadPage().
1637// page_x - X position in PDF "user space".
1638// page_y - Y position in PDF "user space".
1639// Return Value:
1640// Return the z-order of the form field; -1 indicates no field.
1641// Higher numbers are closer to the front.
1643FPDFPage_FormFieldZOrderAtPoint(FPDF_FORMHANDLE hHandle,
1644 FPDF_PAGE page,
1645 double page_x,
1646 double page_y);
1647
1648// Function: FPDF_SetFormFieldHighlightColor
1649// Set the highlight color of the specified (or all) form fields
1650// in the document.
1651// Parameters:
1652// hHandle - Handle to the form fill module, as returned by
1653// FPDFDOC_InitFormFillEnvironment().
1654// doc - Handle to the document, as returned by
1655// FPDF_LoadDocument().
1656// fieldType - A 32-bit integer indicating the type of a form
1657// field (defined above).
1658// color - The highlight color of the form field. Constructed by
1659// 0xxxrrggbb.
1660// Return Value:
1661// None.
1662// Comments:
1663// When the parameter fieldType is set to FPDF_FORMFIELD_UNKNOWN, the
1664// highlight color will be applied to all the form fields in the
1665// document.
1666// Please refresh the client window to show the highlight immediately
1667// if necessary.
1669FPDF_SetFormFieldHighlightColor(FPDF_FORMHANDLE hHandle,
1670 int fieldType,
1671 unsigned long color);
1672
1673// Function: FPDF_SetFormFieldHighlightAlpha
1674// Set the transparency of the form field highlight color in the
1675// document.
1676// Parameters:
1677// hHandle - Handle to the form fill module, as returned by
1678// FPDFDOC_InitFormFillEnvironment().
1679// doc - Handle to the document, as returaned by
1680// FPDF_LoadDocument().
1681// alpha - The transparency of the form field highlight color,
1682// between 0-255.
1683// Return Value:
1684// None.
1686FPDF_SetFormFieldHighlightAlpha(FPDF_FORMHANDLE hHandle, unsigned char alpha);
1687
1688// Function: FPDF_RemoveFormFieldHighlight
1689// Remove the form field highlight color in the document.
1690// Parameters:
1691// hHandle - Handle to the form fill module, as returned by
1692// FPDFDOC_InitFormFillEnvironment().
1693// Return Value:
1694// None.
1695// Comments:
1696// Please refresh the client window to remove the highlight immediately
1697// if necessary.
1699FPDF_RemoveFormFieldHighlight(FPDF_FORMHANDLE hHandle);
1700
1701// Function: FPDF_FFLDraw
1702// Render FormFields and popup window on a page to a device independent
1703// bitmap.
1704// Parameters:
1705// hHandle - Handle to the form fill module, as returned by
1706// FPDFDOC_InitFormFillEnvironment().
1707// bitmap - Handle to the device independent bitmap (as the
1708// output buffer). Bitmap handles can be created by
1709// FPDFBitmap_Create().
1710// page - Handle to the page, as returned by FPDF_LoadPage().
1711// start_x - Left pixel position of the display area in the
1712// device coordinates.
1713// start_y - Top pixel position of the display area in the device
1714// coordinates.
1715// size_x - Horizontal size (in pixels) for displaying the page.
1716// size_y - Vertical size (in pixels) for displaying the page.
1717// rotate - Page orientation: 0 (normal), 1 (rotated 90 degrees
1718// clockwise), 2 (rotated 180 degrees), 3 (rotated 90
1719// degrees counter-clockwise).
1720// flags - 0 for normal display, or combination of flags
1721// defined above.
1722// Return Value:
1723// None.
1724// Comments:
1725// This function is designed to render annotations that are
1726// user-interactive, which are widget annotations (for FormFields) and
1727// popup annotations.
1728// With the FPDF_ANNOT flag, this function will render a popup annotation
1729// when users mouse-hover on a non-widget annotation. Regardless of
1730// FPDF_ANNOT flag, this function will always render widget annotations
1731// for FormFields.
1732// In order to implement the FormFill functions, implementation should
1733// call this function after rendering functions, such as
1734// FPDF_RenderPageBitmap() or FPDF_RenderPageBitmap_Start(), have
1735// finished rendering the page contents.
1736FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLDraw(FPDF_FORMHANDLE hHandle,
1737 FPDF_BITMAP bitmap,
1738 FPDF_PAGE page,
1739 int start_x,
1740 int start_y,
1741 int size_x,
1742 int size_y,
1743 int rotate,
1744 int flags);
1745
1746#if defined(PDF_USE_SKIA)
1747FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLDrawSkia(FPDF_FORMHANDLE hHandle,
1748 FPDF_SKIA_CANVAS canvas,
1749 FPDF_PAGE page,
1750 int start_x,
1751 int start_y,
1752 int size_x,
1753 int size_y,
1754 int rotate,
1755 int flags);
1756#endif
1757
1758// Experimental API
1759// Function: FPDF_GetFormType
1760// Returns the type of form contained in the PDF document.
1761// Parameters:
1762// document - Handle to document.
1763// Return Value:
1764// Integer value representing one of the FORMTYPE_ values.
1765// Comments:
1766// If |document| is NULL, then the return value is FORMTYPE_NONE.
1767FPDF_EXPORT int FPDF_CALLCONV FPDF_GetFormType(FPDF_DOCUMENT document);
1768
1769// Experimental API
1770// Function: FORM_SetIndexSelected
1771// Selects/deselects the value at the given |index| of the focused
1772// annotation.
1773// Parameters:
1774// hHandle - Handle to the form fill module. Returned by
1775// FPDFDOC_InitFormFillEnvironment.
1776// page - Handle to the page. Returned by FPDF_LoadPage
1777// index - 0-based index of value to be set as
1778// selected/unselected
1779// selected - true to select, false to deselect
1780// Return Value:
1781// TRUE if the operation succeeded.
1782// FALSE if the operation failed or widget is not a supported type.
1783// Comments:
1784// Intended for use with listbox/combobox widget types. Comboboxes
1785// have at most a single value selected at a time which cannot be
1786// deselected. Deselect on a combobox is a no-op that returns false.
1787// Default implementation is a no-op that will return false for
1788// other types.
1789// Not currently supported for XFA forms - will return false.
1790FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1791FORM_SetIndexSelected(FPDF_FORMHANDLE hHandle,
1792 FPDF_PAGE page,
1793 int index,
1794 FPDF_BOOL selected);
1795
1796// Experimental API
1797// Function: FORM_IsIndexSelected
1798// Returns whether or not the value at |index| of the focused
1799// annotation is currently selected.
1800// Parameters:
1801// hHandle - Handle to the form fill module. Returned by
1802// FPDFDOC_InitFormFillEnvironment.
1803// page - Handle to the page. Returned by FPDF_LoadPage
1804// index - 0-based Index of value to check
1805// Return Value:
1806// TRUE if value at |index| is currently selected.
1807// FALSE if value at |index| is not selected or widget is not a
1808// supported type.
1809// Comments:
1810// Intended for use with listbox/combobox widget types. Default
1811// implementation is a no-op that will return false for other types.
1812// Not currently supported for XFA forms - will return false.
1813FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
1814FORM_IsIndexSelected(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int index);
1815
1816// Function: FPDF_LoadXFA
1817// If the document consists of XFA fields, call this method to
1818// attempt to load XFA fields.
1819// Parameters:
1820// document - Handle to document from FPDF_LoadDocument().
1821// Return Value:
1822// TRUE upon success, otherwise FALSE. If XFA support is not built
1823// into PDFium, performs no action and always returns FALSE.
1824FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_LoadXFA(FPDF_DOCUMENT document);
1825
1826#ifdef __cplusplus
1827}
1828#endif
1829
1830#endif // PUBLIC_FPDF_FORMFILL_H_
FX_DOWNLOADHINTS * GetDownloadHints() const
FX_FILEAVAIL * GetFileAvail() const
FPDF_FILEACCESS * GetFileAccess() const
TEST_F(CPDF_CreatorEmbedderTest, SavedDocsAreEqualAfterParse)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormControlCount(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetFontSize(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, float *value)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetRect(FPDF_ANNOTATION annot, const FS_RECTF *rect)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_RemoveAnnot(FPDF_PAGE page, int index)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFocusableSubtypes(FPDF_FORMHANDLE hHandle, const FPDF_ANNOTATION_SUBTYPE *subtypes, size_t count)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetBorder(FPDF_ANNOTATION annot, float *horizontal_radius, float *vertical_radius, float *border_width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetAttachmentPoints(FPDF_ANNOTATION annot, size_t quad_index, FS_QUADPOINTSF *quad_points)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFocusableSubtypesCount(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_AddInkStroke(FPDF_ANNOTATION annot, const FS_POINTF *points, size_t point_count)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetOptionCount(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetVertices(FPDF_ANNOTATION annot, FS_POINTF *buffer, unsigned long length)
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFAnnot_GetObject(FPDF_ANNOTATION annot, int index)
FPDF_EXPORT size_t FPDF_CALLCONV FPDFAnnot_CountAttachmentPoints(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFlags(FPDF_ANNOTATION annot, int flags)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldName(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasKey(FPDF_ANNOTATION annot, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFAnnot_GetLinkedAnnot(FPDF_ANNOTATION annot, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV FPDFAnnot_AddFileAttachment(FPDF_ANNOTATION annot, FPDF_WIDESTRING name)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_RemoveObject(FPDF_ANNOTATION annot, int index)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetAnnotCount(FPDF_PAGE page)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_CreateAnnot(FPDF_PAGE page, FPDF_ANNOTATION_SUBTYPE subtype)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsChecked(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldAlternateName(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_LINK FPDF_CALLCONV FPDFAnnot_GetLink(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetAP(FPDF_ANNOTATION annot, FPDF_ANNOT_APPEARANCEMODE appearanceMode, FPDF_WIDESTRING value)
FPDF_EXPORT FPDF_ANNOTATION_SUBTYPE FPDF_CALLCONV FPDFAnnot_GetSubtype(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV FPDFAnnot_GetValueType(FPDF_ANNOTATION annot, FPDF_BYTESTRING key)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_AppendAttachmentPoints(FPDF_ANNOTATION annot, const FS_QUADPOINTSF *quad_points)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetFontColor(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, unsigned int *R, unsigned int *G, unsigned int *B)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasAttachmentPoints(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetColor(FPDF_ANNOTATION annot, FPDFANNOT_COLORTYPE type, unsigned int *R, unsigned int *G, unsigned int *B, unsigned int *A)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormFieldFlags(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetStringValue(FPDF_ANNOTATION annot, FPDF_BYTESTRING key, FPDF_WIDESTRING value)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetOptionLabel(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, int index, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetInkListPath(FPDF_ANNOTATION annot, unsigned long path_index, FS_POINTF *buffer, unsigned long length)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsOptionSelected(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot, int index)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_GetAnnot(FPDF_PAGE page, int index)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldExportValue(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFlags(FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetStringValue(FPDF_ANNOTATION annot, FPDF_BYTESTRING key, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormControlIndex(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT void FPDF_CALLCONV FPDFPage_CloseAnnot(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetNumberValue(FPDF_ANNOTATION annot, FPDF_BYTESTRING key, float *value)
FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFormFieldType(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetURI(FPDF_ANNOTATION annot, const char *uri)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormFieldValue(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetFocusableSubtypes(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION_SUBTYPE *subtypes, size_t count)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetRect(FPDF_ANNOTATION annot, FS_RECTF *rect)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetAP(FPDF_ANNOTATION annot, FPDF_ANNOT_APPEARANCEMODE appearanceMode, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsObjectSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetLine(FPDF_ANNOTATION annot, FS_POINTF *start, FS_POINTF *end)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetAnnotIndex(FPDF_PAGE page, FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFAnnot_GetFormFieldAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, const FS_POINTF *point)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetInkListCount(FPDF_ANNOTATION annot)
FPDFANNOT_COLORTYPE
Definition fpdf_annot.h:95
@ FPDFANNOT_COLORTYPE_InteriorColor
Definition fpdf_annot.h:97
@ FPDFANNOT_COLORTYPE_Color
Definition fpdf_annot.h:96
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetBorder(FPDF_ANNOTATION annot, float horizontal_radius, float vertical_radius, float border_width)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetColor(FPDF_ANNOTATION annot, FPDFANNOT_COLORTYPE type, unsigned int R, unsigned int G, unsigned int B, unsigned int A)
FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV FPDFAnnot_GetFileAttachment(FPDF_ANNOTATION annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_UpdateObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_RemoveInkList(FPDF_ANNOTATION annot)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFAnnot_GetFormAdditionalActionJavaScript(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot, int event, FPDF_WCHAR *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot, size_t quad_index, const FS_QUADPOINTSF *quad_points)
#define PDF_DATA_AVAIL
FPDF_EXPORT void FPDF_CALLCONV FPDFAvail_Destroy(FPDF_AVAIL avail)
FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font)
FPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_Destroy(FPDF_PAGEOBJECT page_object)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseMove(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_OnAfterLoadPage(FPDF_PAGE page, FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_SetIndexSelected(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int index, FPDF_BOOL selected)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT void FPDF_CALLCONV FPDF_SetFormFieldHighlightAlpha(FPDF_FORMHANDLE hHandle, unsigned char alpha)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnFocus(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
#define JSPLATFORM_ALERT_ICON_ERROR
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseWheel(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, const FS_POINTF *page_coord, int delta_x, int delta_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_ReplaceAndKeepSelection(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, FPDF_WIDESTRING wsText)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyDown(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int nKeyCode, int modifier)
FPDF_EXPORT void FPDF_CALLCONV FORM_OnBeforeClosePage(FPDF_PAGE page, FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonDoubleClick(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_ReplaceSelection(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, FPDF_WIDESTRING wsText)
void(* TimerCallback)(int idEvent)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonUp(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_FormFieldZOrderAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoPageAAction(FPDF_PAGE page, FPDF_FORMHANDLE hHandle, int aaType)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanRedo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_SetFocusedAnnot(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_GetFocusedAnnot(FPDF_FORMHANDLE handle, int *page_index, FPDF_ANNOTATION *annot)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonDown(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle)
#define JSPLATFORM_ALERT_BUTTON_OK
FPDF_EXPORT unsigned long FPDF_CALLCONV FORM_GetSelectedText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, void *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonDown(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int modifier, double page_x, double page_y)
FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle, int aaType)
FPDF_EXPORT void FPDF_CALLCONV FPDF_SetFormFieldHighlightColor(FPDF_FORMHANDLE hHandle, int fieldType, unsigned long color)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Redo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDFPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, double page_y)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnChar(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int nChar, int modifier)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_IsIndexSelected(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int index)
FPDF_EXPORT FPDF_FORMHANDLE FPDF_CALLCONV FPDFDOC_InitFormFillEnvironment(FPDF_DOCUMENT document, FPDF_FORMFILLINFO *formInfo)
FPDF_EXPORT unsigned long FPDF_CALLCONV FORM_GetFocusedText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, void *buffer, unsigned long buflen)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanUndo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyUp(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int nKeyCode, int modifier)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RemoveFormFieldHighlight(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT void FPDF_CALLCONV FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_SelectAllText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Undo(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLDraw(FPDF_FORMHANDLE hHandle, FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int flags)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetFormType(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_LoadXFA(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDFDoc_CloseJavaScriptAction(FPDF_JAVASCRIPT_ACTION javascript)
FPDF_EXPORT void FPDF_CALLCONV FPDF_StructTree_Close(FPDF_STRUCTTREE struct_tree)
FPDF_EXPORT void FPDF_CALLCONV FPDFLink_CloseWebLinks(FPDF_PAGELINK link_page)
FPDF_EXPORT void FPDF_CALLCONV FPDFText_FindClose(FPDF_SCHHANDLE handle)
FPDF_EXPORT void FPDF_CALLCONV FPDFText_ClosePage(FPDF_TEXTPAGE text_page)
Definition fpdf_text.cpp:56
FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyClipPath(FPDF_CLIPPATH clipPath)
FPDF_EXPORT FPDF_PAGE FPDF_CALLCONV FPDF_LoadPage(FPDF_DOCUMENT document, int page_index)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetPageCount(FPDF_DOCUMENT document)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetLastError()
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFBitmap_CreateEx(int width, int height, int format, void *first_scan, int stride)
FPDF_EXPORT void FPDF_CALLCONV FPDF_SetSandBoxPolicy(FPDF_DWORD policy, FPDF_BOOL enable)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_VIEWERREF_GetPrintScaling(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_DeviceToPage(FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int device_x, int device_y, double *page_x, double *page_y)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_LoadCustomDocument(FPDF_FILEACCESS *pFileAccess, FPDF_BYTESTRING password)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_PageToDevice(FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, double page_x, double page_y, int *device_x, int *device_y)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_LoadDocument(FPDF_STRING file_path, FPDF_BYTESTRING password)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetHeight(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_DocumentHasValidCrossReferenceTable(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDFBitmap_Destroy(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_DUPLEXTYPE FPDF_CALLCONV FPDF_VIEWERREF_GetDuplex(FPDF_DOCUMENT document)
FPDF_EXPORT float FPDF_CALLCONV FPDF_GetPageHeightF(FPDF_PAGE page)
FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary()
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetXFAPacketCount(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFBitmap_Create(int width, int height, int alpha)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetStride(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_PAGERANGE FPDF_CALLCONV FPDF_VIEWERREF_GetPrintPageRange(FPDF_DOCUMENT document)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetPageSizeByIndex(FPDF_DOCUMENT document, int page_index, double *width, double *height)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetDocUserPermissions(FPDF_DOCUMENT document)
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageWidth(FPDF_PAGE page)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, FPDF_DWORD color)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetDocPermissions(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDF_InitLibrary()
FPDF_EXPORT FPDF_DEST FPDF_CALLCONV FPDF_GetNamedDest(FPDF_DOCUMENT document, int index, void *buffer, long *buflen)
FPDF_EXPORT FPDF_DEST FPDF_CALLCONV FPDF_GetNamedDestByName(FPDF_DOCUMENT document, FPDF_BYTESTRING name)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int flags)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetFileVersion(FPDF_DOCUMENT doc, int *fileVersion)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPageBitmapWithMatrix(FPDF_BITMAP bitmap, FPDF_PAGE page, const FS_MATRIX *matrix, const FS_RECTF *clipping, int flags)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetPageBoundingBox(FPDF_PAGE page, FS_RECTF *rect)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetFormat(FPDF_BITMAP bitmap)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_VIEWERREF_GetName(FPDF_DOCUMENT document, FPDF_BYTESTRING key, char *buffer, unsigned long length)
FPDF_EXPORT void FPDF_CALLCONV FPDF_InitLibraryWithConfig(const FPDF_LIBRARY_CONFIG *config)
FPDF_EXPORT void *FPDF_CALLCONV FPDFBitmap_GetBuffer(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_DWORD FPDF_CALLCONV FPDF_CountNamedDests(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDF_CloseDocument(FPDF_DOCUMENT document)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetPageSizeByIndexF(FPDF_DOCUMENT document, int page_index, FS_SIZEF *size)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_GetXFAPacketContent(FPDF_DOCUMENT document, int index, void *buffer, unsigned long buflen, unsigned long *out_buflen)
FPDF_EXPORT int FPDF_CALLCONV FPDF_VIEWERREF_GetNumCopies(FPDF_DOCUMENT document)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetXFAPacketName(FPDF_DOCUMENT document, int index, void *buffer, unsigned long buflen)
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageHeight(FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDFBitmap_GetWidth(FPDF_BITMAP bitmap)
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_LoadMemDocument(const void *data_buf, int size, FPDF_BYTESTRING password)
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetTrailerEnds(FPDF_DOCUMENT document, unsigned int *buffer, unsigned long length)
FPDF_EXPORT float FPDF_CALLCONV FPDF_GetPageWidthF(FPDF_PAGE page)
FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page)
FPDF_EXPORT int FPDF_CALLCONV FPDF_GetSecurityHandlerRevision(FPDF_DOCUMENT document)
#define FPDF_CALLCONV
Definition fpdfview.h:229
#define FPDF_EXPORT
Definition fpdfview.h:223
#define FPDF_ANNOT
Definition fpdfview.h:790
void operator()(FPDF_ANNOTATION annot)
void operator()(FPDF_AVAIL avail)
void operator()(FPDF_BITMAP bitmap)
void operator()(FPDF_CLIPPATH clip_path)
void operator()(FPDF_DOCUMENT doc)
void operator()(FPDF_FONT font)
void operator()(FPDF_FORMHANDLE form)
void operator()(FPDF_JAVASCRIPT_ACTION javascript)
void operator()(FPDF_PAGE page)
void operator()(FPDF_PAGELINK pagelink)
void operator()(FPDF_PAGEOBJECT object)
void operator()(FPDF_STRUCTTREE tree)
void operator()(FPDF_SCHHANDLE handle)
void operator()(FPDF_TEXTPAGE text)
void(* FFI_GotoURL)(struct _FPDF_FORMFILLINFO *pThis, FPDF_DOCUMENT document, FPDF_WIDESTRING wsURL)
int(* FFI_SetTimer)(struct _FPDF_FORMFILLINFO *pThis, int uElapse, TimerCallback lpTimerFunc)
int(* FFI_GetLanguage)(struct _FPDF_FORMFILLINFO *pThis, void *language, int length)
void(* FFI_UploadTo)(struct _FPDF_FORMFILLINFO *pThis, FPDF_FILEHANDLER *fileHandler, int fileFlag, FPDF_WIDESTRING uploadTo)
void(* FFI_Invalidate)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, double left, double top, double right, double bottom)
void(* FFI_DisplayCaret)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, FPDF_BOOL bVisible, double left, double top, double right, double bottom)
void(* FFI_KillTimer)(struct _FPDF_FORMFILLINFO *pThis, int nTimerID)
void(* FFI_GetPageViewRect)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, double *left, double *top, double *right, double *bottom)
int(* FFI_GetPlatform)(struct _FPDF_FORMFILLINFO *pThis, void *platform, int length)
void(* FFI_SetCurrentPage)(struct _FPDF_FORMFILLINFO *pThis, FPDF_DOCUMENT document, int iCurPage)
void(* FFI_SetCursor)(struct _FPDF_FORMFILLINFO *pThis, int nCursorType)
void(* FFI_DoGoToAction)(struct _FPDF_FORMFILLINFO *pThis, int nPageIndex, int zoomMode, float *fPosArray, int sizeofArray)
void(* FFI_DoURIAction)(struct _FPDF_FORMFILLINFO *pThis, FPDF_BYTESTRING bsURI)
void(* FFI_OnFocusChange)(struct _FPDF_FORMFILLINFO *param, FPDF_ANNOTATION annot, int page_index)
int(* FFI_GetCurrentPageIndex)(struct _FPDF_FORMFILLINFO *pThis, FPDF_DOCUMENT document)
void(* FFI_EmailTo)(struct _FPDF_FORMFILLINFO *pThis, FPDF_FILEHANDLER *fileHandler, FPDF_WIDESTRING pTo, FPDF_WIDESTRING pSubject, FPDF_WIDESTRING pCC, FPDF_WIDESTRING pBcc, FPDF_WIDESTRING pMsg)
IPDF_JSPLATFORM * m_pJsPlatform
void(* FFI_SetTextFieldFocus)(struct _FPDF_FORMFILLINFO *pThis, FPDF_WIDESTRING value, FPDF_DWORD valueLen, FPDF_BOOL is_focus)
void(* FFI_OutputSelectedRect)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page, double left, double top, double right, double bottom)
int(* FFI_GetRotation)(struct _FPDF_FORMFILLINFO *pThis, FPDF_PAGE page)
void(* FFI_DoURIActionWithKeyboardModifier)(struct _FPDF_FORMFILLINFO *param, FPDF_BYTESTRING uri, int modifiers)
void(* FFI_ExecuteNamedAction)(struct _FPDF_FORMFILLINFO *pThis, FPDF_BYTESTRING namedAction)
void(* FFI_OnChange)(struct _FPDF_FORMFILLINFO *pThis)
void(* Release)(struct _FPDF_FORMFILLINFO *pThis)
void(* FFI_PageEvent)(struct _FPDF_FORMFILLINFO *pThis, int page_count, FPDF_DWORD event_type)
unsigned short wHour
unsigned short wMinute
unsigned short wMonth
unsigned short wDay
unsigned short wYear
unsigned short wMilliseconds
unsigned short wDayOfWeek
unsigned short wSecond
void(* Doc_submitForm)(struct _IPDF_JsPlatform *pThis, void *formData, int length, FPDF_WIDESTRING URL)
unsigned int m_v8EmbedderSlot
int(* Doc_getFilePath)(struct _IPDF_JsPlatform *pThis, void *filePath, int length)
void(* Doc_gotoPage)(struct _IPDF_JsPlatform *pThis, int nPageNum)
void(* Doc_print)(struct _IPDF_JsPlatform *pThis, FPDF_BOOL bUI, int nStart, int nEnd, FPDF_BOOL bSilent, FPDF_BOOL bShrinkToFit, FPDF_BOOL bPrintAsImage, FPDF_BOOL bReverse, FPDF_BOOL bAnnotations)
void(* Doc_mail)(struct _IPDF_JsPlatform *pThis, void *mailData, int length, FPDF_BOOL bUI, FPDF_WIDESTRING To, FPDF_WIDESTRING Subject, FPDF_WIDESTRING CC, FPDF_WIDESTRING BCC, FPDF_WIDESTRING Msg)
int(* app_response)(struct _IPDF_JsPlatform *pThis, FPDF_WIDESTRING Question, FPDF_WIDESTRING Title, FPDF_WIDESTRING Default, FPDF_WIDESTRING cLabel, FPDF_BOOL bPassword, void *response, int length)
int(* app_alert)(struct _IPDF_JsPlatform *pThis, FPDF_WIDESTRING Msg, FPDF_WIDESTRING Title, int Type, int Icon)
void(* app_beep)(struct _IPDF_JsPlatform *pThis, int nType)
int(* Field_browse)(struct _IPDF_JsPlatform *pThis, void *filePath, int length)