1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved. 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Use of this source code is governed by a BSD-style license that can be 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// found in the LICENSE file. 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _FPDFORMFILL_H 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _FPDFORMFILL_H 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "fpdfview.h" 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovtypedef void* FPDF_FORMHANDLE; 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Exported Functions 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifdef __cplusplus 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovextern "C" { 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovtypedef struct _IPDF_JsPlatform 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Version number of the interface. Currently must be 1. 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int version; 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: app_alert 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pop up a dialog to show warning or hint. 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Msg - A string containing the message to be displayed. 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Title - The title of the dialog. 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Type - The stype of button group. 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 0-OK(default); 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1-OK,Cancel; 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 2-Yes,NO; 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 3-Yes, NO, Cancel. 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nIcon - The Icon type. 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 0-Error(default); 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1-Warning; 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 2-Question; 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 3-Status. 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The return value could be the folowing type: 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1-OK; 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 2-Cancel; 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 3-NO; 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 4-Yes; 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int (*app_alert)(struct _IPDF_JsPlatform* pThis, FPDF_WIDESTRING Msg, FPDF_WIDESTRING Title, int Type, int Icon); 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: app_beep 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Causes the system to play a sound. 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nType - The sound type. 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 0 - Error 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 - Warning 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 2 - Question 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 3 - Status 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 4 - Default (default value) 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*app_beep)(struct _IPDF_JsPlatform* pThis, int nType); 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: app_response 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Displays a dialog box containing a question and an entry field for the user to reply to the question. 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Question - The question to be posed to the user. 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Title - The title of the dialog box. 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Default - A default value for the answer to the question. If not specified, no default value is presented. 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * cLabel - A short string to appear in front of and on the same line as the edit text field. 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bPassword - If true, indicates that the user's response should show as asterisks (*) or bullets (?) to mask the response, which might be sensitive information. The default is false. 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * response - A string buffer allocated by SDK, to receive the user's response. 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * length - The length of the buffer, number of bytes. Currently, It's always be 2048. 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Number of bytes the user input text consumes, not including trailing zeros. If the text exceed 2048 bytes, 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * the exceeded part will be ignored. 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * No matter on what platform, the response should be always input in UTF-16LE encoding. 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The return value always indicated number of bytes required for the buffer, even when there is 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * no buffer specified, or the buffer size is less then required. In this case, the buffer will not 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * be modified. 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 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); 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Doc_getFilePath 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Get the file path of the current document. 109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * filePath - The string buffer to receive the file path. Can be NULL. 116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * length - The length of the buffer, number of bytes. Can be 0. 117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Number of bytes the filePath consumes, including trailing zeros. 119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The filePath should be always input in local encoding. 121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The return value always indicated number of bytes required for the buffer, even when there is 123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * no buffer specified, or the buffer size is less then required. In this case, the buffer will not 124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * be modified. 125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int (*Doc_getFilePath)(struct _IPDF_JsPlatform* pThis, void* filePath, int length); 127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* 130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Doc_mail 131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Mails the data buffer as an attachment to all recipients, with or without user interaction. 132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * mailData - Pointer to the data buffer to be sent.Can be NULL. 139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * length - The size,in bytes, of the buffer pointed by mailData parameter.Can be 0. 140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bUI - If true, the rest of the parameters are used in a compose-new-message window that is displayed to the user. If false, the cTo parameter is required and all others are optional. 141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * To - A semicolon-delimited list of recipients for the message. 142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Subject - The subject of the message. The length limit is 64 KB. 143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * CC - A semicolon-delimited list of CC recipients for the message. 144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * BCC - A semicolon-delimited list of BCC recipients for the message. 145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Msg - The content of the message. The length limit is 64 KB. 146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * If the parameter mailData is NULL or length is 0, the current document will be mailed as an attachment to all recipients. 150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 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); 152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* 155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Doc_print 156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Prints all or a specific number of pages of the document. 157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bUI - If true, will cause a UI to be presented to the user to obtain printing information and confirm the action. 164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nStart - A 0-based index that defines the start of an inclusive range of pages. 165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nEnd - A 0-based index that defines the end of an inclusive page range. 166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bSilent - If true, suppresses the cancel dialog box while the document is printing. The default is false. 167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bShrinkToFit - If true, the page is shrunk (if necessary) to fit within the imageable area of the printed page. 168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bPrintAsImage - If true, print pages as an image. 169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bReverse - If true, print from nEnd to nStart. 170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bAnnotations - If true (the default), annotations are printed. 171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 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); 173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* 175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Doc_submitForm 176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Send the form data to a specified URL. 177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * formData - Pointer to the data buffer to be sent. 184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * length - The size,in bytes, of the buffer pointed by formData parameter. 185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * URL - The URL to send to. 186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*Doc_submitForm)(struct _IPDF_JsPlatform* pThis,void* formData, int length, FPDF_WIDESTRING URL); 191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* 193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Doc_gotoPage 194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Jump to a specified page. 195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nPageNum - The specified page number, zero for the first page. 202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*Doc_gotoPage)(struct _IPDF_JsPlatform* pThis, int nPageNum); 207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* 208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Field_browse 209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Show a file selection dialog, and return the selected file path. 210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * filePath - Pointer to the data buffer to receive the file path.Can be NULL. 217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * length - The length of the buffer, number of bytes. Can be 0. 218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Number of bytes the filePath consumes, including trailing zeros. 220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The filePath shoule be always input in local encoding. 222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int (*Field_browse)(struct _IPDF_JsPlatform* pThis,void* filePath, int length); 224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pointer to FPDF_FORMFILLINFO interface. 227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void* m_pFormfillinfo; 229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} IPDF_JSPLATFORM; 230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Flags for Cursor type 232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FXCT_ARROW 0 233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FXCT_NESW 1 234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FXCT_NWSE 2 235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FXCT_VBEAM 3 236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FXCT_HBEAM 4 237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FXCT_HAND 5 238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Declares of a pointer type to the callback function for the FFI_SetTimer method. 241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * idEvent - Identifier of the timer. 243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovtypedef void (*TimerCallback)(int idEvent); 247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Declares of a struct type to the local system time. 250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov**/ 251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovtypedef struct _FPDF_SYSTEMTIME 252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wYear; /* years since 1900 */ 254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wMonth; /* months since January - [0,11] */ 255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wDayOfWeek; /* days since Sunday - [0,6] */ 256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wDay; /* day of the month - [1,31] */ 257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wHour; /* hours since midnight - [0,23] */ 258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wMinute; /* minutes after the hour - [0,59] */ 259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wSecond; /* seconds after the minute - [0,59] */ 260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov unsigned short wMilliseconds; /* milliseconds after the second - [0,999] */ 261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}FPDF_SYSTEMTIME; 262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovtypedef struct _FPDF_FORMFILLINFO 265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Version number of the interface. Currently must be 1. 268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int version; 270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: Release 273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Give implementation a chance to release any data after the interface is no longer used 274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * No 278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Called by Foxit SDK during the final cleanup process. 280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself 282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None 284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*Release)(struct _FPDF_FORMFILLINFO* pThis); 287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_Invalidate 290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Invalidate the client area within the specified rectangle. 291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 292ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 294ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * left - Left position of the client area in PDF page coordinate. 299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * top - Top position of the client area in PDF page coordinate. 300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * right - Right position of the client area in PDF page coordinate. 301ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bottom - Bottom position of the client area in PDF page coordinate. 302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov *comments: 306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * All positions are measured in PDF "user space". 307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation should call FPDF_RenderPageBitmap() function for repainting a specified page area. 308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_Invalidate)(struct _FPDF_FORMFILLINFO* pThis,FPDF_PAGE page, double left, double top, double right, double bottom); 310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 312ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_OutputSelectedRect 313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * When user is taking the mouse to select texts on a form field, this callback function will keep 314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * returning the selected areas to the implementation. 315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * No 320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * left - Left position of the client area in PDF page coordinate. 324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * top - Top position of the client area in PDF page coordinate. 325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * right - Right position of the client area in PDF page coordinate. 326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bottom - Bottom position of the client area in PDF page coordinate. 327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 330ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * comments: 331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This CALLBACK function is useful for implementing special text selection effect. Implementation should 332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * first records the returned rectangles, then draw them one by one at the painting period, last,remove all 333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * the recorded rectangles when finish painting. 334ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_OutputSelectedRect)(struct _FPDF_FORMFILLINFO* pThis,FPDF_PAGE page, double left, double top, double right, double bottom); 336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_SetCursor 339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Set the Cursor shape. 340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 343ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 344ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nCursorType - Cursor type. see Flags for Cursor type for the details. 347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_SetCursor)(struct _FPDF_FORMFILLINFO* pThis, int nCursorType); 351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_SetTimer 354ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method installs a system timer. A time-out value is specified, 355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * and every time a time-out occurs, the system passes a message to 356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * the TimerProc callback function. 357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * uElapse - Specifies the time-out value, in milliseconds. 364ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * lpTimerFunc - A pointer to the callback function-TimerCallback. 365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The timer identifier of the new timer if the function is successful. 367ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * An application passes this value to the FFI_KillTimer method to kill 368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * the timer. Nonzero if it is successful; otherwise, it is zero. 369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int (*FFI_SetTimer)(struct _FPDF_FORMFILLINFO* pThis, int uElapse, TimerCallback lpTimerFunc); 371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_KillTimer 374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method kills the timer event identified by nIDEvent, set by an earlier call to FFI_SetTimer. 375ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 380ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nTimerID - The timer ID return by FFI_SetTimer function. 382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_KillTimer)(struct _FPDF_FORMFILLINFO* pThis, int nTimerID); 386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_GetLocalTime 390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method receives the current local time on the system. 391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FPDF_SYSTEMTIME (*FFI_GetLocalTime)(struct _FPDF_FORMFILLINFO* pThis); 401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_OnChange 404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method will be invoked to notify implementation when the value of any FormField on the document had been changed. 405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * no 409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 411ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_OnChange)(struct _FPDF_FORMFILLINFO* pThis); 415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_GetPage 418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method receives the page pointer associated with a specified page index. 419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * document - Handle to document. Returned by FPDF_LoadDocument function. 426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nPageIndex - Index number of the page. 0 for the first page. 427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Handle to the page. Returned by FPDF_LoadPage function. 429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * In some cases, the document-level JavaScript action may refer to a page which hadn't been loaded yet. 431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * To successfully run the javascript action, implementation need to load the page for SDK. 432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FPDF_PAGE (*FFI_GetPage)(struct _FPDF_FORMFILLINFO* pThis, FPDF_DOCUMENT document, int nPageIndex); 434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_GetCurrentPage 437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method receives the current page pointer. 438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 440ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * document - Handle to document. Returned by FPDF_LoadDocument function. 445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Handle to the page. Returned by FPDF_LoadPage function. 447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FPDF_PAGE (*FFI_GetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis, FPDF_DOCUMENT document); 449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_GetRotation 452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method receives currently rotation of the page view. 453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to page. Returned by FPDF_LoadPage function. 460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * The page rotation. Should be 0(0 degree),1(90 degree),2(180 degree),3(270 degree), in a clockwise direction. 462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int (*FFI_GetRotation)(struct _FPDF_FORMFILLINFO* pThis, FPDF_PAGE page); 464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 466ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_ExecuteNamedAction 467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method will execute an named action. 468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * yes 472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * namedAction - A byte string which indicates the named action, terminated by 0. 475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * See the named actions description of <<PDF Reference, version 1.7>> for more details. 479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_ExecuteNamedAction)(struct _FPDF_FORMFILLINFO* pThis, FPDF_BYTESTRING namedAction); 481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @brief This method will be called when a text field is getting or losing a focus. 483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @param[in] pThis Pointer to the interface structure itself. 485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @param[in] value The string value of the form field, in UTF-16LE format. 486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @param[in] valueLen The length of the string value, number of characters (not bytes). 487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @param[in] is_focus True if the form field is getting a focus, False for losing a focus. 488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @return None. 490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @note Currently,only support text field and combobox field. 492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_SetTextFieldFocus)(struct _FPDF_FORMFILLINFO* pThis, FPDF_WIDESTRING value, FPDF_DWORD valueLen, FPDF_BOOL is_focus); 494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_DoURIAction 498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This action resolves to a uniform resource identifier. 499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 501ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * No 503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * bsURI - A byte string which indicates the uniform resource identifier, terminated by 0. 506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 509ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * See the URI actions description of <<PDF Reference, version 1.7>> for more details. 510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * */ 511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_DoURIAction)(struct _FPDF_FORMFILLINFO* pThis, FPDF_BYTESTRING bsURI); 512ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 514ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Method: FFI_DoGoToAction 515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This action changes the view to a specified destination. 516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Interface Version: 517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 1 518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Implementation Required: 519ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * No 520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pThis - Pointer to the interface structure itself. 522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nPageIndex - The index of the PDF page. 523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * zoomMode - The zoom mode for viewing page.See Macros "PDFZOOM_XXX" defined in "fpdfdoc.h". 524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * fPosArray - The float array which carries the position info. 525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * sizeofArray - The size of float array. 526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return value: 527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * None. 528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * See the Destinations description of <<PDF Reference, version 1.7>> in 8.2.1 for more details. 530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void (*FFI_DoGoToAction)(struct _FPDF_FORMFILLINFO* pThis, int nPageIndex, int zoomMode, float* fPosArray, int sizeofArray); 532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** 533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pointer to IPDF_JSPLATFORM interface 534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IPDF_JSPLATFORM* m_pJsPlatform; 536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} FPDF_FORMFILLINFO; 538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FPDFDOC_InitFormFillEnviroument 543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Init form fill environment. 544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 545ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This function should be called before any form fill operation. 546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * document - Handle to document. Returned by FPDF_LoadDocument function. 548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * pFormFillInfo - Pointer to a FPDF_FORMFILLINFO structure. 549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return handler to the form fill module. NULL means fails. 551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 552ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_FORMHANDLE STDCALL FPDFDOC_InitFormFillEnviroument(FPDF_DOCUMENT document, FPDF_FORMFILLINFO* formInfo); 553ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FPDFDOC_ExitFormFillEnviroument 556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Exit form fill environment. 557ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * NULL. 561ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 562ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FPDFDOC_ExitFormFillEnviroument(FPDF_FORMHANDLE hHandle); 563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnAfterLoadPage 566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method is required for implementing all the form related functions. Should be invoked after user 567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * successfully loaded a PDF page, and method FPDFDOC_InitFormFillEnviroument had been invoked. 568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * NONE. 572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 573ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FORM_OnAfterLoadPage(FPDF_PAGE page, FPDF_FORMHANDLE hHandle); 574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnBeforeClosePage 577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * This method is required for implementing all the form related functions. Should be invoked before user 578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * close the PDF page. 579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * NONE. 584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 585ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FORM_OnBeforeClosePage(FPDF_PAGE page, FPDF_FORMHANDLE hHandle); 586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Function: FORM_DoDocumentJSAction 589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method is required for performing Document-level JavaScript action. It should be invoked after the PDF document 590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* had been loaded. 591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Parameters: 592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Return Value: 594ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* NONE 595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Comments: 596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* If there is Document-level JavaScript action embedded in the document, this method will execute the javascript action; 597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* otherwise, the method will do nothing. 598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov**/ 599ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle); 600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 602ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Function: FORM_DoDocumentOpenAction 604ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method is required for performing open-action when the document is opened. 605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Parameters: 606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Return Value: 608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* NONE 609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Comments: 610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method will do nothing if there is no open-actions embedded in the document. 611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov**/ 612ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle); 613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// additional actions type of document. 616ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFDOC_AACTION_WC 0x10 //WC, before closing document, JavaScript action. 617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFDOC_AACTION_WS 0x11 //WS, before saving document, JavaScript action. 618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFDOC_AACTION_DS 0x12 //DS, after saving document, JavaScript action. 619ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFDOC_AACTION_WP 0x13 //WP, before printing document, JavaScript action. 620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFDOC_AACTION_DP 0x14 //DP, after printing document, JavaScript action. 621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Function: FORM_DoDocumentAAction 623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method is required for performing the document's additional-action. 624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Parameters: 625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* aaType - The type of the additional-actions which defined above. 627ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Return Value: 628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* NONE 629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Comments: 630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method will do nothing if there is no document additional-action corresponding to the specified aaType. 631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov**/ 632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 633ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle, int aaType); 634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Additional-action types of page object 636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFPAGE_AACTION_OPEN 0 // /O -- An action to be performed when the page is opened 637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDFPAGE_AACTION_CLOSE 1 // /C -- An action to be performed when the page is closed 638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Function: FORM_DoPageAAction 641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method is required for performing the page object's additional-action when opened or closed. 642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Parameters: 643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* page - Handle to the page. Returned by FPDF_LoadPage function. 644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* aaType - The type of the page object's additional-actions which defined above. 646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Return Value: 647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* NONE 648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Comments: 649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method will do nothing if no additional-action corresponding to the specified aaType exists. 650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov**/ 651ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FORM_DoPageAAction(FPDF_PAGE page, FPDF_FORMHANDLE hHandle, int aaType); 652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnMouseMove 655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function when the mouse cursor moves. 656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * modifier - Indicates whether various virtual keys are down. 660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_x - Specifies the x-coordinate of the cursor in PDF user space. 661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_y - Specifies the y-coordinate of the cursor in PDF user space. 662ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 663ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 665ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_OnMouseMove(FPDF_FORMHANDLE hHandle,FPDF_PAGE page, int modifier, double page_x, double page_y); 666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnLButtonDown 669ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function when the user presses the left mouse button. 670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * modifier - Indicates whether various virtual keys are down. 674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_x - Specifies the x-coordinate of the cursor in PDF user space. 675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_y - Specifies the y-coordinate of the cursor in PDF user space. 676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 679ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_OnLButtonDown(FPDF_FORMHANDLE hHandle,FPDF_PAGE page, int modifier, double page_x, double page_y); 680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnLButtonUp 683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function when the user releases the left mouse button. 684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * modifier - Indicates whether various virtual keys are down. 688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_x - Specifies the x-coordinate of the cursor in device. 689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_y - Specifies the y-coordinate of the cursor in device. 690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 693ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle,FPDF_PAGE page, int modifier, double page_x, double page_y); 694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnKeyDown 697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function when a nonsystem key is pressed. 698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nKeyCode - Indicates whether various virtual keys are down. 702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * modifier - Contains the scan code, key-transition code, previous key state, and context code. 703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 705ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 706ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_OnKeyDown(FPDF_FORMHANDLE hHandle,FPDF_PAGE page, int nKeyCode, int modifier); 707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnKeyUp 710ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function when a nonsystem key is released. 711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 712ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nKeyCode - The virtual-key code of the given key. 715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * modifier - Contains the scan code, key-transition code, previous key state, and context code. 716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 717ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 719ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_OnKeyUp(FPDF_FORMHANDLE hHandle,FPDF_PAGE page, int nKeyCode, int modifier); 720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 722ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_OnChar 723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function when a keystroke translates to a nonsystem character. 724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * nChar - The character code value of the key. 728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * modifier - Contains the scan code, key-transition code, previous key state, and context code. 729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 732ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_OnChar(FPDF_FORMHANDLE hHandle,FPDF_PAGE page, int nChar, int modifier); 733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FORM_ForceToKillFocus. 736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You can call this member function to force to kill the focus of the form field which got focus. 737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * It would kill the focus on the form field, save the value of form field if it's changed by user. 738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 741ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * TRUE indicates success; otherwise false. 742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 743ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle); 744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Field Types 746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_UNKNOWN 0 // Unknown. 747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_PUSHBUTTON 1 // push button type. 748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_CHECKBOX 2 // check box type. 749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_RADIOBUTTON 3 // radio button type. 750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_COMBOBOX 4 // combo box type. 751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_LISTBOX 5 // list box type. 752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FPDF_FORMFIELD_TEXTFIELD 6 // text field type. 753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 755ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FPDPage_HasFormFieldAtPoint 756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Check the form filed position by point. 757ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page - Handle to the page. Returned by FPDF_LoadPage function. 760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_x - X position in PDF "user space". 761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * page_y - Y position in PDF "user space". 762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return the type of the formfiled; -1 indicates no fields. 764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 765ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT int STDCALL FPDPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle,FPDF_PAGE page,double page_x, double page_y); 766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FPDF_SetFormFieldHighlightColor 769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Set the highlight color of specified or all the form fields in the document. 770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * doc - Handle to the document. Returned by FPDF_LoadDocument function. 773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * fieldType - A 32-bit integer indicating the type of a form field(defined above). 774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * color - The highlight color of the form field.Constructed by 0xxxrrggbb. 775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * NONE. 777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * When the parameter fieldType is set to zero, the highlight color will be applied to all the form fields in the 779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * document. 780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Please refresh the client window to show the highlight immediately if necessary. 781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 782ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FPDF_SetFormFieldHighlightColor(FPDF_FORMHANDLE hHandle, int fieldType, unsigned long color); 783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FPDF_SetFormFieldHighlightAlpha 786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Set the transparency of the form field highlight color in the document. 787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * doc - Handle to the document. Returned by FPDF_LoadDocument function. 790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * alpha - The transparency of the form field highlight color. between 0-255. 791ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * NONE. 793ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 794ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FPDF_SetFormFieldHighlightAlpha(FPDF_FORMHANDLE hHandle, unsigned char alpha); 795ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 796ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 797ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 798ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Function: FPDF_RemoveFormFieldHighlight 799ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Remove the form field highlight color in the document. 800ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Parameters: 801ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 802ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Return Value: 803ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * NONE. 804ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Comments: 805ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Please refresh the client window to remove the highlight immediately if necessary. 806ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov **/ 807ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FPDF_RemoveFormFieldHighlight(FPDF_FORMHANDLE hHandle); 808ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 809ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/** 810ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Function: FPDF_FFLDraw 811ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Render FormFeilds on a page to a device independent bitmap. 812ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Parameters: 813ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* hHandle - Handle to the form fill module. Returned by FPDFDOC_InitFormFillEnviroument. 814ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* bitmap - Handle to the device independent bitmap (as the output buffer). 815ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Bitmap handle can be created by FPDFBitmap_Create function. 816ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* page - Handle to the page. Returned by FPDF_LoadPage function. 817ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* start_x - Left pixel position of the display area in the device coordinate. 818ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* start_y - Top pixel position of the display area in the device coordinate. 819ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* size_x - Horizontal size (in pixels) for displaying the page. 820ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* size_y - Vertical size (in pixels) for displaying the page. 821ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* rotate - Page orientation: 0 (normal), 1 (rotated 90 degrees clockwise), 822ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* 2 (rotated 180 degrees), 3 (rotated 90 degrees counter-clockwise). 823ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* flags - 0 for normal display, or combination of flags defined above. 824ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Return Value: 825ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* None. 826ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Comments: 827ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* This method is designed to only render annotations and FormFields on the page. 828ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* Without FPDF_ANNOT specified for flags, Rendering functions such as FPDF_RenderPageBitmap or FPDF_RenderPageBitmap_Start will only render page contents(without annotations) to a bitmap. 829ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov* In order to implement the FormFill functions,Implementation should call this method after rendering functions finish rendering the page contents. 830ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov**/ 831ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovDLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle,FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, 832ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int size_x, int size_y, int rotate, int flags); 833ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 834ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 835ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 836ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifdef __cplusplus 837ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 838ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 839ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 840ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif //_FPDFORMFILL_H 841ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 842