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_annot.h
Go to the documentation of this file.
1// Copyright 2017 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#ifndef PUBLIC_FPDF_ANNOT_H_
6#define PUBLIC_FPDF_ANNOT_H_
7
8#include <stddef.h>
9
10// NOLINTNEXTLINE(build/include)
11#include "fpdfview.h"
12
13// NOLINTNEXTLINE(build/include)
14#include "fpdf_formfill.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif // __cplusplus
19
20#define FPDF_ANNOT_UNKNOWN 0
21#define FPDF_ANNOT_TEXT 1
22#define FPDF_ANNOT_LINK 2
23#define FPDF_ANNOT_FREETEXT 3
24#define FPDF_ANNOT_LINE 4
25#define FPDF_ANNOT_SQUARE 5
26#define FPDF_ANNOT_CIRCLE 6
27#define FPDF_ANNOT_POLYGON 7
28#define FPDF_ANNOT_POLYLINE 8
29#define FPDF_ANNOT_HIGHLIGHT 9
30#define FPDF_ANNOT_UNDERLINE 10
31#define FPDF_ANNOT_SQUIGGLY 11
32#define FPDF_ANNOT_STRIKEOUT 12
33#define FPDF_ANNOT_STAMP 13
34#define FPDF_ANNOT_CARET 14
35#define FPDF_ANNOT_INK 15
36#define FPDF_ANNOT_POPUP 16
37#define FPDF_ANNOT_FILEATTACHMENT 17
38#define FPDF_ANNOT_SOUND 18
39#define FPDF_ANNOT_MOVIE 19
40#define FPDF_ANNOT_WIDGET 20
41#define FPDF_ANNOT_SCREEN 21
42#define FPDF_ANNOT_PRINTERMARK 22
43#define FPDF_ANNOT_TRAPNET 23
44#define FPDF_ANNOT_WATERMARK 24
45#define FPDF_ANNOT_THREED 25
46#define FPDF_ANNOT_RICHMEDIA 26
47#define FPDF_ANNOT_XFAWIDGET 27
48#define FPDF_ANNOT_REDACT 28
49
50// Refer to PDF Reference (6th edition) table 8.16 for all annotation flags.
51#define FPDF_ANNOT_FLAG_NONE 0
52#define FPDF_ANNOT_FLAG_INVISIBLE (1 << 0)
53#define FPDF_ANNOT_FLAG_HIDDEN (1 << 1)
54#define FPDF_ANNOT_FLAG_PRINT (1 << 2)
55#define FPDF_ANNOT_FLAG_NOZOOM (1 << 3)
56#define FPDF_ANNOT_FLAG_NOROTATE (1 << 4)
57#define FPDF_ANNOT_FLAG_NOVIEW (1 << 5)
58#define FPDF_ANNOT_FLAG_READONLY (1 << 6)
59#define FPDF_ANNOT_FLAG_LOCKED (1 << 7)
60#define FPDF_ANNOT_FLAG_TOGGLENOVIEW (1 << 8)
61
62#define FPDF_ANNOT_APPEARANCEMODE_NORMAL 0
63#define FPDF_ANNOT_APPEARANCEMODE_ROLLOVER 1
64#define FPDF_ANNOT_APPEARANCEMODE_DOWN 2
65#define FPDF_ANNOT_APPEARANCEMODE_COUNT 3
66
67// Refer to PDF Reference version 1.7 table 8.70 for field flags common to all
68// interactive form field types.
69#define FPDF_FORMFLAG_NONE 0
70#define FPDF_FORMFLAG_READONLY (1 << 0)
71#define FPDF_FORMFLAG_REQUIRED (1 << 1)
72#define FPDF_FORMFLAG_NOEXPORT (1 << 2)
73
74// Refer to PDF Reference version 1.7 table 8.77 for field flags specific to
75// interactive form text fields.
76#define FPDF_FORMFLAG_TEXT_MULTILINE (1 << 12)
77#define FPDF_FORMFLAG_TEXT_PASSWORD (1 << 13)
78
79// Refer to PDF Reference version 1.7 table 8.79 for field flags specific to
80// interactive form choice fields.
81#define FPDF_FORMFLAG_CHOICE_COMBO (1 << 17)
82#define FPDF_FORMFLAG_CHOICE_EDIT (1 << 18)
83#define FPDF_FORMFLAG_CHOICE_MULTI_SELECT (1 << 21)
84
85// Additional actions type of form field:
86// K, on key stroke, JavaScript action.
87// F, on format, JavaScript action.
88// V, on validate, JavaScript action.
89// C, on calculate, JavaScript action.
90#define FPDF_ANNOT_AACTION_KEY_STROKE 12
91#define FPDF_ANNOT_AACTION_FORMAT 13
92#define FPDF_ANNOT_AACTION_VALIDATE 14
93#define FPDF_ANNOT_AACTION_CALCULATE 15
94
99
100// Experimental API.
101// Check if an annotation subtype is currently supported for creation.
102// Currently supported subtypes:
103// - circle
104// - fileattachment
105// - freetext
106// - highlight
107// - ink
108// - link
109// - popup
110// - square,
111// - squiggly
112// - stamp
113// - strikeout
114// - text
115// - underline
116//
117// subtype - the subtype to be checked.
118//
119// Returns true if this subtype supported.
121FPDFAnnot_IsSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype);
122
123// Experimental API.
124// Create an annotation in |page| of the subtype |subtype|. If the specified
125// subtype is illegal or unsupported, then a new annotation will not be created.
126// Must call FPDFPage_CloseAnnot() when the annotation returned by this
127// function is no longer needed.
128//
129// page - handle to a page.
130// subtype - the subtype of the new annotation.
131//
132// Returns a handle to the new annotation object, or NULL on failure.
133FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV
134FPDFPage_CreateAnnot(FPDF_PAGE page, FPDF_ANNOTATION_SUBTYPE subtype);
135
136// Experimental API.
137// Get the number of annotations in |page|.
138//
139// page - handle to a page.
140//
141// Returns the number of annotations in |page|.
143
144// Experimental API.
145// Get annotation in |page| at |index|. Must call FPDFPage_CloseAnnot() when the
146// annotation returned by this function is no longer needed.
147//
148// page - handle to a page.
149// index - the index of the annotation.
150//
151// Returns a handle to the annotation object, or NULL on failure.
152FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_GetAnnot(FPDF_PAGE page,
153 int index);
154
155// Experimental API.
156// Get the index of |annot| in |page|. This is the opposite of
157// FPDFPage_GetAnnot().
158//
159// page - handle to the page that the annotation is on.
160// annot - handle to an annotation.
161//
162// Returns the index of |annot|, or -1 on failure.
164 FPDF_ANNOTATION annot);
165
166// Experimental API.
167// Close an annotation. Must be called when the annotation returned by
168// FPDFPage_CreateAnnot() or FPDFPage_GetAnnot() is no longer needed. This
169// function does not remove the annotation from the document.
170//
171// annot - handle to an annotation.
172FPDF_EXPORT void FPDF_CALLCONV FPDFPage_CloseAnnot(FPDF_ANNOTATION annot);
173
174// Experimental API.
175// Remove the annotation in |page| at |index|.
176//
177// page - handle to a page.
178// index - the index of the annotation.
179//
180// Returns true if successful.
181FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_RemoveAnnot(FPDF_PAGE page,
182 int index);
183
184// Experimental API.
185// Get the subtype of an annotation.
186//
187// annot - handle to an annotation.
188//
189// Returns the annotation subtype.
190FPDF_EXPORT FPDF_ANNOTATION_SUBTYPE FPDF_CALLCONV
191FPDFAnnot_GetSubtype(FPDF_ANNOTATION annot);
192
193// Experimental API.
194// Check if an annotation subtype is currently supported for object extraction,
195// update, and removal.
196// Currently supported subtypes: ink and stamp.
197//
198// subtype - the subtype to be checked.
199//
200// Returns true if this subtype supported.
202FPDFAnnot_IsObjectSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype);
203
204// Experimental API.
205// Update |obj| in |annot|. |obj| must be in |annot| already and must have
206// been retrieved by FPDFAnnot_GetObject(). Currently, only ink and stamp
207// annotations are supported by this API. Also note that only path, image, and
208// text objects have APIs for modification; see FPDFPath_*(), FPDFText_*(), and
209// FPDFImageObj_*().
210//
211// annot - handle to an annotation.
212// obj - handle to the object that |annot| needs to update.
213//
214// Return true if successful.
216FPDFAnnot_UpdateObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj);
217
218// Experimental API.
219// Add a new InkStroke, represented by an array of points, to the InkList of
220// |annot|. The API creates an InkList if one doesn't already exist in |annot|.
221// This API works only for ink annotations. Please refer to ISO 32000-1:2008
222// spec, section 12.5.6.13.
223//
224// annot - handle to an annotation.
225// points - pointer to a FS_POINTF array representing input points.
226// point_count - number of elements in |points| array. This should not exceed
227// the maximum value that can be represented by an int32_t).
228//
229// Returns the 0-based index at which the new InkStroke is added in the InkList
230// of the |annot|. Returns -1 on failure.
231FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_AddInkStroke(FPDF_ANNOTATION annot,
232 const FS_POINTF* points,
233 size_t point_count);
234
235// Experimental API.
236// Removes an InkList in |annot|.
237// This API works only for ink annotations.
238//
239// annot - handle to an annotation.
240//
241// Return true on successful removal of /InkList entry from context of the
242// non-null ink |annot|. Returns false on failure.
244FPDFAnnot_RemoveInkList(FPDF_ANNOTATION annot);
245
246// Experimental API.
247// Add |obj| to |annot|. |obj| must have been created by
248// FPDFPageObj_CreateNew{Path|Rect}() or FPDFPageObj_New{Text|Image}Obj(), and
249// will be owned by |annot|. Note that an |obj| cannot belong to more than one
250// |annot|. Currently, only ink and stamp annotations are supported by this API.
251// Also note that only path, image, and text objects have APIs for creation.
252//
253// annot - handle to an annotation.
254// obj - handle to the object that is to be added to |annot|.
255//
256// Return true if successful.
258FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj);
259
260// Experimental API.
261// Get the total number of objects in |annot|, including path objects, text
262// objects, external objects, image objects, and shading objects.
263//
264// annot - handle to an annotation.
265//
266// Returns the number of objects in |annot|.
267FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot);
268
269// Experimental API.
270// Get the object in |annot| at |index|.
271//
272// annot - handle to an annotation.
273// index - the index of the object.
274//
275// Return a handle to the object, or NULL on failure.
276FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
277FPDFAnnot_GetObject(FPDF_ANNOTATION annot, int index);
278
279// Experimental API.
280// Remove the object in |annot| at |index|.
281//
282// annot - handle to an annotation.
283// index - the index of the object to be removed.
284//
285// Return true if successful.
287FPDFAnnot_RemoveObject(FPDF_ANNOTATION annot, int index);
288
289// Experimental API.
290// Set the color of an annotation. Fails when called on annotations with
291// appearance streams already defined; instead use
292// FPDFPath_Set{Stroke|Fill}Color().
293//
294// annot - handle to an annotation.
295// type - type of the color to be set.
296// R, G, B - buffer to hold the RGB value of the color. Ranges from 0 to 255.
297// A - buffer to hold the opacity. Ranges from 0 to 255.
298//
299// Returns true if successful.
300FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetColor(FPDF_ANNOTATION annot,
301 FPDFANNOT_COLORTYPE type,
302 unsigned int R,
303 unsigned int G,
304 unsigned int B,
305 unsigned int A);
306
307// Experimental API.
308// Get the color of an annotation. If no color is specified, default to yellow
309// for highlight annotation, black for all else. Fails when called on
310// annotations with appearance streams already defined; instead use
311// FPDFPath_Get{Stroke|Fill}Color().
312//
313// annot - handle to an annotation.
314// type - type of the color requested.
315// R, G, B - buffer to hold the RGB value of the color. Ranges from 0 to 255.
316// A - buffer to hold the opacity. Ranges from 0 to 255.
317//
318// Returns true if successful.
319FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetColor(FPDF_ANNOTATION annot,
320 FPDFANNOT_COLORTYPE type,
321 unsigned int* R,
322 unsigned int* G,
323 unsigned int* B,
324 unsigned int* A);
325
326// Experimental API.
327// Check if the annotation is of a type that has attachment points
328// (i.e. quadpoints). Quadpoints are the vertices of the rectangle that
329// encompasses the texts affected by the annotation. They provide the
330// coordinates in the page where the annotation is attached. Only text markup
331// annotations (i.e. highlight, strikeout, squiggly, and underline) and link
332// annotations have quadpoints.
333//
334// annot - handle to an annotation.
335//
336// Returns true if the annotation is of a type that has quadpoints, false
337// otherwise.
339FPDFAnnot_HasAttachmentPoints(FPDF_ANNOTATION annot);
340
341// Experimental API.
342// Replace the attachment points (i.e. quadpoints) set of an annotation at
343// |quad_index|. This index needs to be within the result of
344// FPDFAnnot_CountAttachmentPoints().
345// If the annotation's appearance stream is defined and this annotation is of a
346// type with quadpoints, then update the bounding box too if the new quadpoints
347// define a bigger one.
348//
349// annot - handle to an annotation.
350// quad_index - index of the set of quadpoints.
351// quad_points - the quadpoints to be set.
352//
353// Returns true if successful.
355FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot,
356 size_t quad_index,
357 const FS_QUADPOINTSF* quad_points);
358
359// Experimental API.
360// Append to the list of attachment points (i.e. quadpoints) of an annotation.
361// If the annotation's appearance stream is defined and this annotation is of a
362// type with quadpoints, then update the bounding box too if the new quadpoints
363// define a bigger one.
364//
365// annot - handle to an annotation.
366// quad_points - the quadpoints to be set.
367//
368// Returns true if successful.
370FPDFAnnot_AppendAttachmentPoints(FPDF_ANNOTATION annot,
371 const FS_QUADPOINTSF* quad_points);
372
373// Experimental API.
374// Get the number of sets of quadpoints of an annotation.
375//
376// annot - handle to an annotation.
377//
378// Returns the number of sets of quadpoints, or 0 on failure.
380FPDFAnnot_CountAttachmentPoints(FPDF_ANNOTATION annot);
381
382// Experimental API.
383// Get the attachment points (i.e. quadpoints) of an annotation.
384//
385// annot - handle to an annotation.
386// quad_index - index of the set of quadpoints.
387// quad_points - receives the quadpoints; must not be NULL.
388//
389// Returns true if successful.
391FPDFAnnot_GetAttachmentPoints(FPDF_ANNOTATION annot,
392 size_t quad_index,
393 FS_QUADPOINTSF* quad_points);
394
395// Experimental API.
396// Set the annotation rectangle defining the location of the annotation. If the
397// annotation's appearance stream is defined and this annotation is of a type
398// without quadpoints, then update the bounding box too if the new rectangle
399// defines a bigger one.
400//
401// annot - handle to an annotation.
402// rect - the annotation rectangle to be set.
403//
404// Returns true if successful.
405FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetRect(FPDF_ANNOTATION annot,
406 const FS_RECTF* rect);
407
408// Experimental API.
409// Get the annotation rectangle defining the location of the annotation.
410//
411// annot - handle to an annotation.
412// rect - receives the rectangle; must not be NULL.
413//
414// Returns true if successful.
415FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetRect(FPDF_ANNOTATION annot,
416 FS_RECTF* rect);
417
418// Experimental API.
419// Get the vertices of a polygon or polyline annotation. |buffer| is an array of
420// points of the annotation. If |length| is less than the returned length, or
421// |annot| or |buffer| is NULL, |buffer| will not be modified.
422//
423// annot - handle to an annotation, as returned by e.g. FPDFPage_GetAnnot()
424// buffer - buffer for holding the points.
425// length - length of the buffer in points.
426//
427// Returns the number of points if the annotation is of type polygon or
428// polyline, 0 otherwise.
429FPDF_EXPORT unsigned long FPDF_CALLCONV
430FPDFAnnot_GetVertices(FPDF_ANNOTATION annot,
431 FS_POINTF* buffer,
432 unsigned long length);
433
434// Experimental API.
435// Get the number of paths in the ink list of an ink annotation.
436//
437// annot - handle to an annotation, as returned by e.g. FPDFPage_GetAnnot()
438//
439// Returns the number of paths in the ink list if the annotation is of type ink,
440// 0 otherwise.
441FPDF_EXPORT unsigned long FPDF_CALLCONV
442FPDFAnnot_GetInkListCount(FPDF_ANNOTATION annot);
443
444// Experimental API.
445// Get a path in the ink list of an ink annotation. |buffer| is an array of
446// points of the path. If |length| is less than the returned length, or |annot|
447// or |buffer| is NULL, |buffer| will not be modified.
448//
449// annot - handle to an annotation, as returned by e.g. FPDFPage_GetAnnot()
450// path_index - index of the path
451// buffer - buffer for holding the points.
452// length - length of the buffer in points.
453//
454// Returns the number of points of the path if the annotation is of type ink, 0
455// otherwise.
456FPDF_EXPORT unsigned long FPDF_CALLCONV
457FPDFAnnot_GetInkListPath(FPDF_ANNOTATION annot,
458 unsigned long path_index,
459 FS_POINTF* buffer,
460 unsigned long length);
461
462// Experimental API.
463// Get the starting and ending coordinates of a line annotation.
464//
465// annot - handle to an annotation, as returned by e.g. FPDFPage_GetAnnot()
466// start - starting point
467// end - ending point
468//
469// Returns true if the annotation is of type line, |start| and |end| are not
470// NULL, false otherwise.
471FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetLine(FPDF_ANNOTATION annot,
472 FS_POINTF* start,
473 FS_POINTF* end);
474
475// Experimental API.
476// Set the characteristics of the annotation's border (rounded rectangle).
477//
478// annot - handle to an annotation
479// horizontal_radius - horizontal corner radius, in default user space units
480// vertical_radius - vertical corner radius, in default user space units
481// border_width - border width, in default user space units
482//
483// Returns true if setting the border for |annot| succeeds, false otherwise.
484//
485// If |annot| contains an appearance stream that overrides the border values,
486// then the appearance stream will be removed on success.
487FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetBorder(FPDF_ANNOTATION annot,
488 float horizontal_radius,
489 float vertical_radius,
490 float border_width);
491
492// Experimental API.
493// Get the characteristics of the annotation's border (rounded rectangle).
494//
495// annot - handle to an annotation
496// horizontal_radius - horizontal corner radius, in default user space units
497// vertical_radius - vertical corner radius, in default user space units
498// border_width - border width, in default user space units
499//
500// Returns true if |horizontal_radius|, |vertical_radius| and |border_width| are
501// not NULL, false otherwise.
503FPDFAnnot_GetBorder(FPDF_ANNOTATION annot,
504 float* horizontal_radius,
505 float* vertical_radius,
506 float* border_width);
507
508// Experimental API.
509// Get the JavaScript of an event of the annotation's additional actions.
510// |buffer| is only modified if |buflen| is large enough to hold the whole
511// JavaScript string. If |buflen| is smaller, the total size of the JavaScript
512// is still returned, but nothing is copied. If there is no JavaScript for
513// |event| in |annot|, an empty string is written to |buf| and 2 is returned,
514// denoting the size of the null terminator in the buffer. On other errors,
515// nothing is written to |buffer| and 0 is returned.
516//
517// hHandle - handle to the form fill module, returned by
518// FPDFDOC_InitFormFillEnvironment().
519// annot - handle to an interactive form annotation.
520// event - event type, one of the FPDF_ANNOT_AACTION_* values.
521// buffer - buffer for holding the value string, encoded in UTF-16LE.
522// buflen - length of the buffer in bytes.
523//
524// Returns the length of the string value in bytes, including the 2-byte
525// null terminator.
526FPDF_EXPORT unsigned long FPDF_CALLCONV
527FPDFAnnot_GetFormAdditionalActionJavaScript(FPDF_FORMHANDLE hHandle,
528 FPDF_ANNOTATION annot,
529 int event,
530 FPDF_WCHAR* buffer,
531 unsigned long buflen);
532
533// Experimental API.
534// Check if |annot|'s dictionary has |key| as a key.
535//
536// annot - handle to an annotation.
537// key - the key to look for, encoded in UTF-8.
538//
539// Returns true if |key| exists.
540FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasKey(FPDF_ANNOTATION annot,
541 FPDF_BYTESTRING key);
542
543// Experimental API.
544// Get the type of the value corresponding to |key| in |annot|'s dictionary.
545//
546// annot - handle to an annotation.
547// key - the key to look for, encoded in UTF-8.
548//
549// Returns the type of the dictionary value.
550FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV
551FPDFAnnot_GetValueType(FPDF_ANNOTATION annot, FPDF_BYTESTRING key);
552
553// Experimental API.
554// Set the string value corresponding to |key| in |annot|'s dictionary,
555// overwriting the existing value if any. The value type would be
556// FPDF_OBJECT_STRING after this function call succeeds.
557//
558// annot - handle to an annotation.
559// key - the key to the dictionary entry to be set, encoded in UTF-8.
560// value - the string value to be set, encoded in UTF-16LE.
561//
562// Returns true if successful.
564FPDFAnnot_SetStringValue(FPDF_ANNOTATION annot,
565 FPDF_BYTESTRING key,
566 FPDF_WIDESTRING value);
567
568// Experimental API.
569// Get the string value corresponding to |key| in |annot|'s dictionary. |buffer|
570// is only modified if |buflen| is longer than the length of contents. Note that
571// if |key| does not exist in the dictionary or if |key|'s corresponding value
572// in the dictionary is not a string (i.e. the value is not of type
573// FPDF_OBJECT_STRING or FPDF_OBJECT_NAME), then an empty string would be copied
574// to |buffer| and the return value would be 2. On other errors, nothing would
575// be added to |buffer| and the return value would be 0.
576//
577// annot - handle to an annotation.
578// key - the key to the requested dictionary entry, encoded in UTF-8.
579// buffer - buffer for holding the value string, encoded in UTF-16LE.
580// buflen - length of the buffer in bytes.
581//
582// Returns the length of the string value in bytes.
583FPDF_EXPORT unsigned long FPDF_CALLCONV
584FPDFAnnot_GetStringValue(FPDF_ANNOTATION annot,
585 FPDF_BYTESTRING key,
586 FPDF_WCHAR* buffer,
587 unsigned long buflen);
588
589// Experimental API.
590// Get the float value corresponding to |key| in |annot|'s dictionary. Writes
591// value to |value| and returns True if |key| exists in the dictionary and
592// |key|'s corresponding value is a number (FPDF_OBJECT_NUMBER), False
593// otherwise.
594//
595// annot - handle to an annotation.
596// key - the key to the requested dictionary entry, encoded in UTF-8.
597// value - receives the value, must not be NULL.
598//
599// Returns True if value found, False otherwise.
601FPDFAnnot_GetNumberValue(FPDF_ANNOTATION annot,
602 FPDF_BYTESTRING key,
603 float* value);
604
605// Experimental API.
606// Set the AP (appearance string) in |annot|'s dictionary for a given
607// |appearanceMode|.
608//
609// annot - handle to an annotation.
610// appearanceMode - the appearance mode (normal, rollover or down) for which
611// to get the AP.
612// value - the string value to be set, encoded in UTF-16LE. If
613// nullptr is passed, the AP is cleared for that mode. If the
614// mode is Normal, APs for all modes are cleared.
615//
616// Returns true if successful.
618FPDFAnnot_SetAP(FPDF_ANNOTATION annot,
619 FPDF_ANNOT_APPEARANCEMODE appearanceMode,
620 FPDF_WIDESTRING value);
621
622// Experimental API.
623// Get the AP (appearance string) from |annot|'s dictionary for a given
624// |appearanceMode|.
625// |buffer| is only modified if |buflen| is large enough to hold the whole AP
626// string. If |buflen| is smaller, the total size of the AP is still returned,
627// but nothing is copied.
628// If there is no appearance stream for |annot| in |appearanceMode|, an empty
629// string is written to |buf| and 2 is returned.
630// On other errors, nothing is written to |buffer| and 0 is returned.
631//
632// annot - handle to an annotation.
633// appearanceMode - the appearance mode (normal, rollover or down) for which
634// to get the AP.
635// buffer - buffer for holding the value string, encoded in UTF-16LE.
636// buflen - length of the buffer in bytes.
637//
638// Returns the length of the string value in bytes.
639FPDF_EXPORT unsigned long FPDF_CALLCONV
640FPDFAnnot_GetAP(FPDF_ANNOTATION annot,
641 FPDF_ANNOT_APPEARANCEMODE appearanceMode,
642 FPDF_WCHAR* buffer,
643 unsigned long buflen);
644
645// Experimental API.
646// Get the annotation corresponding to |key| in |annot|'s dictionary. Common
647// keys for linking annotations include "IRT" and "Popup". Must call
648// FPDFPage_CloseAnnot() when the annotation returned by this function is no
649// longer needed.
650//
651// annot - handle to an annotation.
652// key - the key to the requested dictionary entry, encoded in UTF-8.
653//
654// Returns a handle to the linked annotation object, or NULL on failure.
655FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV
656FPDFAnnot_GetLinkedAnnot(FPDF_ANNOTATION annot, FPDF_BYTESTRING key);
657
658// Experimental API.
659// Get the annotation flags of |annot|.
660//
661// annot - handle to an annotation.
662//
663// Returns the annotation flags.
664FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFlags(FPDF_ANNOTATION annot);
665
666// Experimental API.
667// Set the |annot|'s flags to be of the value |flags|.
668//
669// annot - handle to an annotation.
670// flags - the flag values to be set.
671//
672// Returns true if successful.
673FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFlags(FPDF_ANNOTATION annot,
674 int flags);
675
676// Experimental API.
677// Get the annotation flags of |annot|.
678//
679// hHandle - handle to the form fill module, returned by
680// FPDFDOC_InitFormFillEnvironment().
681// annot - handle to an interactive form annotation.
682//
683// Returns the annotation flags specific to interactive forms.
685FPDFAnnot_GetFormFieldFlags(FPDF_FORMHANDLE handle,
686 FPDF_ANNOTATION annot);
687
688// Experimental API.
689// Retrieves an interactive form annotation whose rectangle contains a given
690// point on a page. Must call FPDFPage_CloseAnnot() when the annotation returned
691// is no longer needed.
692//
693//
694// hHandle - handle to the form fill module, returned by
695// FPDFDOC_InitFormFillEnvironment().
696// page - handle to the page, returned by FPDF_LoadPage function.
697// point - position in PDF "user space".
698//
699// Returns the interactive form annotation whose rectangle contains the given
700// coordinates on the page. If there is no such annotation, return NULL.
701FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV
702FPDFAnnot_GetFormFieldAtPoint(FPDF_FORMHANDLE hHandle,
703 FPDF_PAGE page,
704 const FS_POINTF* point);
705
706// Experimental API.
707// Gets the name of |annot|, which is an interactive form annotation.
708// |buffer| is only modified if |buflen| is longer than the length of contents.
709// In case of error, nothing will be added to |buffer| and the return value will
710// be 0. Note that return value of empty string is 2 for "\0\0".
711//
712// hHandle - handle to the form fill module, returned by
713// FPDFDOC_InitFormFillEnvironment().
714// annot - handle to an interactive form annotation.
715// buffer - buffer for holding the name string, encoded in UTF-16LE.
716// buflen - length of the buffer in bytes.
717//
718// Returns the length of the string value in bytes.
719FPDF_EXPORT unsigned long FPDF_CALLCONV
720FPDFAnnot_GetFormFieldName(FPDF_FORMHANDLE hHandle,
721 FPDF_ANNOTATION annot,
722 FPDF_WCHAR* buffer,
723 unsigned long buflen);
724
725// Experimental API.
726// Gets the alternate name of |annot|, which is an interactive form annotation.
727// |buffer| is only modified if |buflen| is longer than the length of contents.
728// In case of error, nothing will be added to |buffer| and the return value will
729// be 0. Note that return value of empty string is 2 for "\0\0".
730//
731// hHandle - handle to the form fill module, returned by
732// FPDFDOC_InitFormFillEnvironment().
733// annot - handle to an interactive form annotation.
734// buffer - buffer for holding the alternate name string, encoded in
735// UTF-16LE.
736// buflen - length of the buffer in bytes.
737//
738// Returns the length of the string value in bytes.
739FPDF_EXPORT unsigned long FPDF_CALLCONV
740FPDFAnnot_GetFormFieldAlternateName(FPDF_FORMHANDLE hHandle,
741 FPDF_ANNOTATION annot,
742 FPDF_WCHAR* buffer,
743 unsigned long buflen);
744
745// Experimental API.
746// Gets the form field type of |annot|, which is an interactive form annotation.
747//
748// hHandle - handle to the form fill module, returned by
749// FPDFDOC_InitFormFillEnvironment().
750// annot - handle to an interactive form annotation.
751//
752// Returns the type of the form field (one of the FPDF_FORMFIELD_* values) on
753// success. Returns -1 on error.
754// See field types in fpdf_formfill.h.
756FPDFAnnot_GetFormFieldType(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot);
757
758// Experimental API.
759// Gets the value of |annot|, which is an interactive form annotation.
760// |buffer| is only modified if |buflen| is longer than the length of contents.
761// In case of error, nothing will be added to |buffer| and the return value will
762// be 0. Note that return value of empty string is 2 for "\0\0".
763//
764// hHandle - handle to the form fill module, returned by
765// FPDFDOC_InitFormFillEnvironment().
766// annot - handle to an interactive form annotation.
767// buffer - buffer for holding the value string, encoded in UTF-16LE.
768// buflen - length of the buffer in bytes.
769//
770// Returns the length of the string value in bytes.
771FPDF_EXPORT unsigned long FPDF_CALLCONV
772FPDFAnnot_GetFormFieldValue(FPDF_FORMHANDLE hHandle,
773 FPDF_ANNOTATION annot,
774 FPDF_WCHAR* buffer,
775 unsigned long buflen);
776
777// Experimental API.
778// Get the number of options in the |annot|'s "Opt" dictionary. Intended for
779// use with listbox and combobox widget annotations.
780//
781// hHandle - handle to the form fill module, returned by
782// FPDFDOC_InitFormFillEnvironment.
783// annot - handle to an annotation.
784//
785// Returns the number of options in "Opt" dictionary on success. Return value
786// will be -1 if annotation does not have an "Opt" dictionary or other error.
787FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetOptionCount(FPDF_FORMHANDLE hHandle,
788 FPDF_ANNOTATION annot);
789
790// Experimental API.
791// Get the string value for the label of the option at |index| in |annot|'s
792// "Opt" dictionary. Intended for use with listbox and combobox widget
793// annotations. |buffer| is only modified if |buflen| is longer than the length
794// of contents. If index is out of range or in case of other error, nothing
795// will be added to |buffer| and the return value will be 0. Note that
796// return value of empty string is 2 for "\0\0".
797//
798// hHandle - handle to the form fill module, returned by
799// FPDFDOC_InitFormFillEnvironment.
800// annot - handle to an annotation.
801// index - numeric index of the option in the "Opt" array
802// buffer - buffer for holding the value string, encoded in UTF-16LE.
803// buflen - length of the buffer in bytes.
804//
805// Returns the length of the string value in bytes.
806// If |annot| does not have an "Opt" array, |index| is out of range or if any
807// other error occurs, returns 0.
808FPDF_EXPORT unsigned long FPDF_CALLCONV
809FPDFAnnot_GetOptionLabel(FPDF_FORMHANDLE hHandle,
810 FPDF_ANNOTATION annot,
811 int index,
812 FPDF_WCHAR* buffer,
813 unsigned long buflen);
814
815// Experimental API.
816// Determine whether or not the option at |index| in |annot|'s "Opt" dictionary
817// is selected. Intended for use with listbox and combobox widget annotations.
818//
819// handle - handle to the form fill module, returned by
820// FPDFDOC_InitFormFillEnvironment.
821// annot - handle to an annotation.
822// index - numeric index of the option in the "Opt" array.
823//
824// Returns true if the option at |index| in |annot|'s "Opt" dictionary is
825// selected, false otherwise.
827FPDFAnnot_IsOptionSelected(FPDF_FORMHANDLE handle,
828 FPDF_ANNOTATION annot,
829 int index);
830
831// Experimental API.
832// Get the float value of the font size for an |annot| with variable text.
833// If 0, the font is to be auto-sized: its size is computed as a function of
834// the height of the annotation rectangle.
835//
836// hHandle - handle to the form fill module, returned by
837// FPDFDOC_InitFormFillEnvironment.
838// annot - handle to an annotation.
839// value - Required. Float which will be set to font size on success.
840//
841// Returns true if the font size was set in |value|, false on error or if
842// |value| not provided.
844FPDFAnnot_GetFontSize(FPDF_FORMHANDLE hHandle,
845 FPDF_ANNOTATION annot,
846 float* value);
847
848// Experimental API.
849// Get the RGB value of the font color for an |annot| with variable text.
850//
851// hHandle - handle to the form fill module, returned by
852// FPDFDOC_InitFormFillEnvironment.
853// annot - handle to an annotation.
854// R, G, B - buffer to hold the RGB value of the color. Ranges from 0 to 255.
855//
856// Returns true if the font color was set, false on error or if the font
857// color was not provided.
859FPDFAnnot_GetFontColor(FPDF_FORMHANDLE hHandle,
860 FPDF_ANNOTATION annot,
861 unsigned int* R,
862 unsigned int* G,
863 unsigned int* B);
864
865// Experimental API.
866// Determine if |annot| is a form widget that is checked. Intended for use with
867// checkbox and radio button widgets.
868//
869// hHandle - handle to the form fill module, returned by
870// FPDFDOC_InitFormFillEnvironment.
871// annot - handle to an annotation.
872//
873// Returns true if |annot| is a form widget and is checked, false otherwise.
874FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsChecked(FPDF_FORMHANDLE hHandle,
875 FPDF_ANNOTATION annot);
876
877// Experimental API.
878// Set the list of focusable annotation subtypes. Annotations of subtype
879// FPDF_ANNOT_WIDGET are by default focusable. New subtypes set using this API
880// will override the existing subtypes.
881//
882// hHandle - handle to the form fill module, returned by
883// FPDFDOC_InitFormFillEnvironment.
884// subtypes - list of annotation subtype which can be tabbed over.
885// count - total number of annotation subtype in list.
886// Returns true if list of annotation subtype is set successfully, false
887// otherwise.
889FPDFAnnot_SetFocusableSubtypes(FPDF_FORMHANDLE hHandle,
890 const FPDF_ANNOTATION_SUBTYPE* subtypes,
891 size_t count);
892
893// Experimental API.
894// Get the count of focusable annotation subtypes as set by host
895// for a |hHandle|.
896//
897// hHandle - handle to the form fill module, returned by
898// FPDFDOC_InitFormFillEnvironment.
899// Returns the count of focusable annotation subtypes or -1 on error.
900// Note : Annotations of type FPDF_ANNOT_WIDGET are by default focusable.
902FPDFAnnot_GetFocusableSubtypesCount(FPDF_FORMHANDLE hHandle);
903
904// Experimental API.
905// Get the list of focusable annotation subtype as set by host.
906//
907// hHandle - handle to the form fill module, returned by
908// FPDFDOC_InitFormFillEnvironment.
909// subtypes - receives the list of annotation subtype which can be tabbed
910// over. Caller must have allocated |subtypes| more than or
911// equal to the count obtained from
912// FPDFAnnot_GetFocusableSubtypesCount() API.
913// count - size of |subtypes|.
914// Returns true on success and set list of annotation subtype to |subtypes|,
915// false otherwise.
916// Note : Annotations of type FPDF_ANNOT_WIDGET are by default focusable.
918FPDFAnnot_GetFocusableSubtypes(FPDF_FORMHANDLE hHandle,
919 FPDF_ANNOTATION_SUBTYPE* subtypes,
920 size_t count);
921
922// Experimental API.
923// Gets FPDF_LINK object for |annot|. Intended to use for link annotations.
924//
925// annot - handle to an annotation.
926//
927// Returns FPDF_LINK from the FPDF_ANNOTATION and NULL on failure,
928// if the input annot is NULL or input annot's subtype is not link.
929FPDF_EXPORT FPDF_LINK FPDF_CALLCONV FPDFAnnot_GetLink(FPDF_ANNOTATION annot);
930
931// Experimental API.
932// Gets the count of annotations in the |annot|'s control group.
933// A group of interactive form annotations is collectively called a form
934// control group. Here, |annot|, an interactive form annotation, should be
935// either a radio button or a checkbox.
936//
937// hHandle - handle to the form fill module, returned by
938// FPDFDOC_InitFormFillEnvironment.
939// annot - handle to an annotation.
940//
941// Returns number of controls in its control group or -1 on error.
943FPDFAnnot_GetFormControlCount(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot);
944
945// Experimental API.
946// Gets the index of |annot| in |annot|'s control group.
947// A group of interactive form annotations is collectively called a form
948// control group. Here, |annot|, an interactive form annotation, should be
949// either a radio button or a checkbox.
950//
951// hHandle - handle to the form fill module, returned by
952// FPDFDOC_InitFormFillEnvironment.
953// annot - handle to an annotation.
954//
955// Returns index of a given |annot| in its control group or -1 on error.
957FPDFAnnot_GetFormControlIndex(FPDF_FORMHANDLE hHandle, FPDF_ANNOTATION annot);
958
959// Experimental API.
960// Gets the export value of |annot| which is an interactive form annotation.
961// Intended for use with radio button and checkbox widget annotations.
962// |buffer| is only modified if |buflen| is longer than the length of contents.
963// In case of error, nothing will be added to |buffer| and the return value
964// will be 0. Note that return value of empty string is 2 for "\0\0".
965//
966// hHandle - handle to the form fill module, returned by
967// FPDFDOC_InitFormFillEnvironment().
968// annot - handle to an interactive form annotation.
969// buffer - buffer for holding the value string, encoded in UTF-16LE.
970// buflen - length of the buffer in bytes.
971//
972// Returns the length of the string value in bytes.
973FPDF_EXPORT unsigned long FPDF_CALLCONV
974FPDFAnnot_GetFormFieldExportValue(FPDF_FORMHANDLE hHandle,
975 FPDF_ANNOTATION annot,
976 FPDF_WCHAR* buffer,
977 unsigned long buflen);
978
979// Experimental API.
980// Add a URI action to |annot|, overwriting the existing action, if any.
981//
982// annot - handle to a link annotation.
983// uri - the URI to be set, encoded in 7-bit ASCII.
984//
985// Returns true if successful.
986FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetURI(FPDF_ANNOTATION annot,
987 const char* uri);
988
989// Experimental API.
990// Get the attachment from |annot|.
991//
992// annot - handle to a file annotation.
993//
994// Returns the handle to the attachment object, or NULL on failure.
995FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV
996FPDFAnnot_GetFileAttachment(FPDF_ANNOTATION annot);
997
998// Experimental API.
999// Add an embedded file with |name| to |annot|.
1000//
1001// annot - handle to a file annotation.
1002// name - name of the new attachment.
1003//
1004// Returns a handle to the new attachment object, or NULL on failure.
1005FPDF_EXPORT FPDF_ATTACHMENT FPDF_CALLCONV
1006FPDFAnnot_AddFileAttachment(FPDF_ANNOTATION annot, FPDF_WIDESTRING name);
1007
1008#ifdef __cplusplus
1009} // extern "C"
1010#endif // __cplusplus
1011
1012#endif // PUBLIC_FPDF_ANNOT_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 void FPDF_CALLCONV FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle)
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 void FPDF_CALLCONV FPDFBitmap_Destroy(FPDF_BITMAP bitmap)
FPDF_EXPORT void FPDF_CALLCONV FPDF_CloseDocument(FPDF_DOCUMENT document)
FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page)
#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)