// Copyright 2019 The PDFium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef PUBLIC_FPDF_JAVASCRIPT_H_ #define PUBLIC_FPDF_JAVASCRIPT_H_ // NOLINTNEXTLINE(build/include) #include "fpdfview.h" #ifdef __cplusplus extern "C" { #endif // __cplusplus // Experimental API. // Get the number of JavaScript actions in |document|. // // document - handle to a document. // // Returns the number of JavaScript actions in |document| or -1 on error. FPDF_EXPORT int FPDF_CALLCONV FPDFDoc_GetJavaScriptActionCount(FPDF_DOCUMENT document); // Experimental API. // Get the JavaScript action at |index| in |document|. // // document - handle to a document. // index - the index of the requested JavaScript action. // // Returns the handle to the JavaScript action, or NULL on failure. // Caller owns the returned handle and must close it with // FPDFDoc_CloseJavaScriptAction(). FPDF_EXPORT FPDF_JAVASCRIPT_ACTION FPDF_CALLCONV FPDFDoc_GetJavaScriptAction(FPDF_DOCUMENT document, int index); // Experimental API. // Close a loaded FPDF_JAVASCRIPT_ACTION object. // javascript - Handle to a JavaScript action. FPDF_EXPORT void FPDF_CALLCONV FPDFDoc_CloseJavaScriptAction(FPDF_JAVASCRIPT_ACTION javascript); // Experimental API. // Get the name from the |javascript| handle. |buffer| is only modified if // |buflen| is longer than the length of the name. On errors, |buffer| is // unmodified and the returned length is 0. // // javascript - handle to an JavaScript action. // buffer - buffer for holding the name, encoded in UTF-16LE. // buflen - length of the buffer in bytes. // // Returns the length of the JavaScript action name in bytes. FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFJavaScriptAction_GetName(FPDF_JAVASCRIPT_ACTION javascript, FPDF_WCHAR* buffer, unsigned long buflen); // Experimental API. // Get the script from the |javascript| handle. |buffer| is only modified if // |buflen| is longer than the length of the script. On errors, |buffer| is // unmodified and the returned length is 0. // // javascript - handle to an JavaScript action. // buffer - buffer for holding the name, encoded in UTF-16LE. // buflen - length of the buffer in bytes. // // Returns the length of the JavaScript action name in bytes. FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFJavaScriptAction_GetScript(FPDF_JAVASCRIPT_ACTION javascript, FPDF_WCHAR* buffer, unsigned long buflen); #ifdef __cplusplus } // extern "C" #endif // __cplusplus #endif // PUBLIC_FPDF_JAVASCRIPT_H_