xref: /aosp_15_r20/external/pdfium/public/fpdf_javascript.h (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2019 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker 
5*3ac0a46fSAndroid Build Coastguard Worker #ifndef PUBLIC_FPDF_JAVASCRIPT_H_
6*3ac0a46fSAndroid Build Coastguard Worker #define PUBLIC_FPDF_JAVASCRIPT_H_
7*3ac0a46fSAndroid Build Coastguard Worker 
8*3ac0a46fSAndroid Build Coastguard Worker // NOLINTNEXTLINE(build/include)
9*3ac0a46fSAndroid Build Coastguard Worker #include "fpdfview.h"
10*3ac0a46fSAndroid Build Coastguard Worker 
11*3ac0a46fSAndroid Build Coastguard Worker #ifdef __cplusplus
12*3ac0a46fSAndroid Build Coastguard Worker extern "C" {
13*3ac0a46fSAndroid Build Coastguard Worker #endif  // __cplusplus
14*3ac0a46fSAndroid Build Coastguard Worker 
15*3ac0a46fSAndroid Build Coastguard Worker // Experimental API.
16*3ac0a46fSAndroid Build Coastguard Worker // Get the number of JavaScript actions in |document|.
17*3ac0a46fSAndroid Build Coastguard Worker //
18*3ac0a46fSAndroid Build Coastguard Worker //   document - handle to a document.
19*3ac0a46fSAndroid Build Coastguard Worker //
20*3ac0a46fSAndroid Build Coastguard Worker // Returns the number of JavaScript actions in |document| or -1 on error.
21*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT int FPDF_CALLCONV
22*3ac0a46fSAndroid Build Coastguard Worker FPDFDoc_GetJavaScriptActionCount(FPDF_DOCUMENT document);
23*3ac0a46fSAndroid Build Coastguard Worker 
24*3ac0a46fSAndroid Build Coastguard Worker // Experimental API.
25*3ac0a46fSAndroid Build Coastguard Worker // Get the JavaScript action at |index| in |document|.
26*3ac0a46fSAndroid Build Coastguard Worker //
27*3ac0a46fSAndroid Build Coastguard Worker //   document - handle to a document.
28*3ac0a46fSAndroid Build Coastguard Worker //   index    - the index of the requested JavaScript action.
29*3ac0a46fSAndroid Build Coastguard Worker //
30*3ac0a46fSAndroid Build Coastguard Worker // Returns the handle to the JavaScript action, or NULL on failure.
31*3ac0a46fSAndroid Build Coastguard Worker // Caller owns the returned handle and must close it with
32*3ac0a46fSAndroid Build Coastguard Worker // FPDFDoc_CloseJavaScriptAction().
33*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT FPDF_JAVASCRIPT_ACTION FPDF_CALLCONV
34*3ac0a46fSAndroid Build Coastguard Worker FPDFDoc_GetJavaScriptAction(FPDF_DOCUMENT document, int index);
35*3ac0a46fSAndroid Build Coastguard Worker 
36*3ac0a46fSAndroid Build Coastguard Worker // Experimental API.
37*3ac0a46fSAndroid Build Coastguard Worker // Close a loaded FPDF_JAVASCRIPT_ACTION object.
38*3ac0a46fSAndroid Build Coastguard Worker 
39*3ac0a46fSAndroid Build Coastguard Worker //   javascript - Handle to a JavaScript action.
40*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT void FPDF_CALLCONV
41*3ac0a46fSAndroid Build Coastguard Worker FPDFDoc_CloseJavaScriptAction(FPDF_JAVASCRIPT_ACTION javascript);
42*3ac0a46fSAndroid Build Coastguard Worker 
43*3ac0a46fSAndroid Build Coastguard Worker // Experimental API.
44*3ac0a46fSAndroid Build Coastguard Worker // Get the name from the |javascript| handle. |buffer| is only modified if
45*3ac0a46fSAndroid Build Coastguard Worker // |buflen| is longer than the length of the name. On errors, |buffer| is
46*3ac0a46fSAndroid Build Coastguard Worker // unmodified and the returned length is 0.
47*3ac0a46fSAndroid Build Coastguard Worker //
48*3ac0a46fSAndroid Build Coastguard Worker //   javascript - handle to an JavaScript action.
49*3ac0a46fSAndroid Build Coastguard Worker //   buffer     - buffer for holding the name, encoded in UTF-16LE.
50*3ac0a46fSAndroid Build Coastguard Worker //   buflen     - length of the buffer in bytes.
51*3ac0a46fSAndroid Build Coastguard Worker //
52*3ac0a46fSAndroid Build Coastguard Worker // Returns the length of the JavaScript action name in bytes.
53*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT unsigned long FPDF_CALLCONV
54*3ac0a46fSAndroid Build Coastguard Worker FPDFJavaScriptAction_GetName(FPDF_JAVASCRIPT_ACTION javascript,
55*3ac0a46fSAndroid Build Coastguard Worker                              FPDF_WCHAR* buffer,
56*3ac0a46fSAndroid Build Coastguard Worker                              unsigned long buflen);
57*3ac0a46fSAndroid Build Coastguard Worker 
58*3ac0a46fSAndroid Build Coastguard Worker // Experimental API.
59*3ac0a46fSAndroid Build Coastguard Worker // Get the script from the |javascript| handle. |buffer| is only modified if
60*3ac0a46fSAndroid Build Coastguard Worker // |buflen| is longer than the length of the script. On errors, |buffer| is
61*3ac0a46fSAndroid Build Coastguard Worker // unmodified and the returned length is 0.
62*3ac0a46fSAndroid Build Coastguard Worker //
63*3ac0a46fSAndroid Build Coastguard Worker //   javascript - handle to an JavaScript action.
64*3ac0a46fSAndroid Build Coastguard Worker //   buffer     - buffer for holding the name, encoded in UTF-16LE.
65*3ac0a46fSAndroid Build Coastguard Worker //   buflen     - length of the buffer in bytes.
66*3ac0a46fSAndroid Build Coastguard Worker //
67*3ac0a46fSAndroid Build Coastguard Worker // Returns the length of the JavaScript action name in bytes.
68*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT unsigned long FPDF_CALLCONV
69*3ac0a46fSAndroid Build Coastguard Worker FPDFJavaScriptAction_GetScript(FPDF_JAVASCRIPT_ACTION javascript,
70*3ac0a46fSAndroid Build Coastguard Worker                                FPDF_WCHAR* buffer,
71*3ac0a46fSAndroid Build Coastguard Worker                                unsigned long buflen);
72*3ac0a46fSAndroid Build Coastguard Worker 
73*3ac0a46fSAndroid Build Coastguard Worker #ifdef __cplusplus
74*3ac0a46fSAndroid Build Coastguard Worker }  // extern "C"
75*3ac0a46fSAndroid Build Coastguard Worker #endif  // __cplusplus
76*3ac0a46fSAndroid Build Coastguard Worker 
77*3ac0a46fSAndroid Build Coastguard Worker #endif  // PUBLIC_FPDF_JAVASCRIPT_H_
78