1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved.
2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Use of this source code is governed by a BSD-style license that can be
3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// found in the LICENSE file.
4e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef PUBLIC_FPDF_EDIT_H_
8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#define PUBLIC_FPDF_EDIT_H_
9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#include <stdint.h>
11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// NOLINTNEXTLINE(build/include)
13e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include "fpdfview.h"
14e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDF_ARGB(a, r, g, b)                                      \
164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  ((uint32_t)(((uint32_t)(b)&0xff) | (((uint32_t)(g)&0xff) << 8) | \
174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann              (((uint32_t)(r)&0xff) << 16) | (((uint32_t)(a)&0xff) << 24)))
18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_GetBValue(argb) ((uint8_t)(argb))
19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_GetGValue(argb) ((uint8_t)(((uint16_t)(argb)) >> 8))
20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_GetRValue(argb) ((uint8_t)((argb) >> 16))
21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define FPDF_GetAValue(argb) ((uint8_t)((argb) >> 24))
22e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
23d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Refer to PDF Reference version 1.7 table 4.12 for all color space families.
24d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_UNKNOWN 0
25d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_DEVICEGRAY 1
26d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_DEVICERGB 2
27d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_DEVICECMYK 3
28d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_CALGRAY 4
29d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_CALRGB 5
30d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_LAB 6
31d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_ICCBASED 7
32d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_SEPARATION 8
33d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_DEVICEN 9
34d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_INDEXED 10
35d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_COLORSPACE_PATTERN 11
36d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The page object constants.
38d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_PAGEOBJ_UNKNOWN 0
394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDF_PAGEOBJ_TEXT 1
404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDF_PAGEOBJ_PATH 2
414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDF_PAGEOBJ_IMAGE 3
424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDF_PAGEOBJ_SHADING 4
434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDF_PAGEOBJ_FORM 5
444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
45d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// The path segment constants.
46d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_SEGMENT_UNKNOWN -1
47d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_SEGMENT_LINETO 0
48d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_SEGMENT_BEZIERTO 1
49d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_SEGMENT_MOVETO 2
50d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
5133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann#define FPDF_FILLMODE_ALTERNATE 1
5233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann#define FPDF_FILLMODE_WINDING 2
5333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
54d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_FONT_TYPE1 1
55d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_FONT_TRUETYPE 2
56d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
57d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_LINECAP_BUTT 0
58d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_LINECAP_ROUND 1
59d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_LINECAP_PROJECTING_SQUARE 2
60d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
61d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_LINEJOIN_MITER 0
62d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_LINEJOIN_ROUND 1
63d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_LINEJOIN_BEVEL 2
64d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
65d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_PRINTMODE_EMF 0
66d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_PRINTMODE_TEXTONLY 1
67d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_PRINTMODE_POSTSCRIPT2 2
68d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDF_PRINTMODE_POSTSCRIPT3 3
69d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
70d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmanntypedef struct FPDF_IMAGEOBJ_METADATA {
71d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The image width in pixels.
72d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  unsigned int width;
73d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The image height in pixels.
74d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  unsigned int height;
75d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The image's horizontal pixel-per-inch.
76d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  float horizontal_dpi;
77d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The image's vertical pixel-per-inch.
78d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  float vertical_dpi;
79d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The number of bits used to represent each pixel.
80d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  unsigned int bits_per_pixel;
81d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The image's colorspace. See above for the list of FPDF_COLORSPACE_*.
82d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  int colorspace;
83d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // The image's marked content ID. Useful for pairing with associated alt-text.
84d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  // A value of -1 indicates no ID.
85d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  int marked_content_id;
86d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann} FPDF_IMAGEOBJ_METADATA;
87d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
88e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef __cplusplus
89e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovextern "C" {
904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif  // __cplusplus
91e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Create a new PDF document.
93e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns a handle to a new document, or NULL on failure.
95d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_CreateNewDocument();
96e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Create a new PDF page.
98e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
994d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   document   - handle to document.
1004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page_index - suggested index of the page to create. If it is larger than
1014d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//                document's current last index(L), the created page index is
1024d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//                the next available index -- L+1.
1034d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   width      - the page width.
1044d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   height     - the page height.
105e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
1064d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns the handle to the new page.
1074d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1084d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The page should be closed with CPDF_ClosePage() when finished as
1094d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// with any other page in the document.
110d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGE FPDF_CALLCONV FPDFPage_New(FPDF_DOCUMENT document,
111d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                 int page_index,
112d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                 double width,
113d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                 double height);
114e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Delete the page at |page_index|.
1164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   document   - handle to document.
1184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page_index - the index of the page to delete.
119d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPage_Delete(FPDF_DOCUMENT document,
120d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                               int page_index);
121e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Get the rotation of |page|.
1234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page - handle to a page
1254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns one of the following indicating the page rotation:
1274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   0 - No rotation.
1284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   1 - Rotated 90 degrees clockwise.
1294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   2 - Rotated 180 degrees clockwise.
1304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   3 - Rotated 270 degrees clockwise.
131d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetRotation(FPDF_PAGE page);
132e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Set rotation for |page|.
134e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
1354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page   - handle to a page.
1364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   rotate - the rotation value, one of:
1374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//              0 - No rotation.
1384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//              1 - Rotated 90 degrees clockwise.
1394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//              2 - Rotated 180 degrees clockwise.
1404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//              3 - Rotated 270 degrees clockwise.
141d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetRotation(FPDF_PAGE page, int rotate);
142e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Insert |page_obj| into |page|.
1444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page     - handle to a page
1464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page_obj - handle to a page object. The |page_obj| will be automatically
1474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//              freed.
148d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPage_InsertObject(FPDF_PAGE page,
149d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                     FPDF_PAGEOBJECT page_obj);
150d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
151d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get number of page objects inside |page|.
152d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
153d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   page - handle to a page.
154d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
155d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the number of objects in |page|.
156d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
157d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// DEPRECATED. Please use FPDFPage_CountObjects.
158d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV FPDFPage_CountObject(FPDF_PAGE page);
159e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Get number of page objects inside |page|.
1614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page - handle to a page.
1634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1644d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns the number of objects in |page|.
165d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV FPDFPage_CountObjects(FPDF_PAGE page);
166e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Get object in |page| at |index|.
1684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1694d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page  - handle to a page.
1704d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   index - the index of a page object.
1714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns the handle to the page object, or NULL on failed.
173d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPage_GetObject(FPDF_PAGE page,
174d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                             int index);
175e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Checks if |page| contains transparency.
1774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page - handle to a page.
1794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE if |page| contains transparency.
181d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_HasTransparency(FPDF_PAGE page);
182e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
1834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Generate the content of |page|.
1844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1854d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page - handle to a page.
1864d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE on success.
1884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
1894d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Before you save the page to a file, or reload the page, you must call
1904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// |FPDFPage_GenerateContent| or any changes to |page| will be lost.
191d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GenerateContent(FPDF_PAGE page);
192d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
193d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Destroy |page_obj| by releasing its resources. |page_obj| must have been
194d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// created by FPDFPageObj_CreateNew{Path|Rect}() or
195d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// FPDFPageObj_New{Text|Image}Obj(). This function must be called on
196d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// newly-created objects if they are not added to a page through
197d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// FPDFPage_InsertObject() or to an annotation through FPDFAnnot_AppendObject().
198d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
199d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   page_obj - handle to a page object.
200d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPageObj_Destroy(FPDF_PAGEOBJECT page_obj);
201e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
202d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Checks if |page_object| contains transparency.
203e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
204d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   page_object - handle to a page object.
205e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
2064d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE if |pageObject| contains transparency.
207d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
208d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_HasTransparency(FPDF_PAGEOBJECT page_object);
209d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
210d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get type of |page_object|.
211d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
212d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   page_object - handle to a page object.
213d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
214d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns one of the FPDF_PAGEOBJ_* values on success, FPDF_PAGEOBJ_UNKNOWN on
215d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// error.
216d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV FPDFPageObj_GetType(FPDF_PAGEOBJECT page_object);
217e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
218d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Transform |page_object| by the given matrix.
2194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page_object - handle to a page object.
2214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   a           - matrix value.
2224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   b           - matrix value.
2234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   c           - matrix value.
2244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   d           - matrix value.
2254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   e           - matrix value.
2264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   f           - matrix value.
2274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The matrix is composed as:
2294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   |a c e|
2304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   |b d f|
2314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// and can be used to scale, rotate, shear and translate the |page_object|.
232d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV
233d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
234d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      double a,
235d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      double b,
236d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      double c,
237d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      double d,
238d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      double e,
239d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      double f);
240e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
2414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Transform all annotations in |page|.
2424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   page - handle to a page.
2444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   a    - matrix value.
2454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   b    - matrix value.
2464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   c    - matrix value.
2474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   d    - matrix value.
2484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   e    - matrix value.
2494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   f    - matrix value.
2504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The matrix is composed as:
2524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   |a c e|
2534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   |b d f|
2544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// and can be used to scale, rotate, shear and translate the |page| annotations.
255d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPage_TransformAnnots(FPDF_PAGE page,
256d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                        double a,
257d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                        double b,
258d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                        double c,
259d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                        double d,
260d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                        double e,
261d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                        double f);
262e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
2634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Create a new image object.
264e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
2654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   document - handle to a document.
266e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov//
2674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns a handle to a new image object.
268d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
269d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_NewImageObj(FPDF_DOCUMENT document);
270e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
2714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Load an image from a JPEG image file and then set it into |image_object|.
2724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2734d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   pages        - pointer to the start of all loaded pages, may be NULL.
2744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   nCount       - number of |pages|, may be 0.
2754d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   image_object - handle to an image object.
2764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   fileAccess   - file access handler which specifies the JPEG image file.
2774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE on success.
2794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The image object might already have an associated image, which is shared and
2814d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// cached by the loaded pages. In that case, we need to clear the cached image
2824d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// for all the loaded pages. Pass |pages| and page count (|nCount|) to this API
2834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// to clear the image cache. If the image is not previously shared, or NULL is a
2844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// valid |pages| value.
285d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
286ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFPDFImageObj_LoadJpegFile(FPDF_PAGE* pages,
287ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                          int nCount,
288ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                          FPDF_PAGEOBJECT image_object,
289ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                          FPDF_FILEACCESS* fileAccess);
290e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
2914d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Load an image from a JPEG image file and then set it into |image_object|.
2924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   pages        - pointer to the start of all loaded pages, may be NULL.
2944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   nCount       - number of |pages|, may be 0.
2954d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   image_object - handle to an image object.
2964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   fileAccess   - file access handler which specifies the JPEG image file.
2974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
2984d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE on success.
2994d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
3004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The image object might already have an associated image, which is shared and
3014d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// cached by the loaded pages. In that case, we need to clear the cached image
3024d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// for all the loaded pages. Pass |pages| and page count (|nCount|) to this API
3034d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// to clear the image cache. If the image is not previously shared, or NULL is a
3044d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// valid |pages| value. This function loads the JPEG image inline, so the image
3054d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// content is copied to the file. This allows |fileAccess| and its associated
3064d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// data to be deleted after this function returns.
307d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
3084d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannFPDFImageObj_LoadJpegFileInline(FPDF_PAGE* pages,
3094d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                int nCount,
3104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                FPDF_PAGEOBJECT image_object,
3114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                FPDF_FILEACCESS* fileAccess);
3124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
3134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Set the transform matrix of |image_object|.
3144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
3154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   image_object - handle to an image object.
3164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   a            - matrix value.
3174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   b            - matrix value.
3184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   c            - matrix value.
3194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   d            - matrix value.
3204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   e            - matrix value.
3214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   f            - matrix value.
3224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
3234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// The matrix is composed as:
3244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   |a c e|
3254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   |b d f|
3264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// and can be used to scale, rotate, shear and translate the |page| annotations.
3274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
3284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE on success.
329d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
330d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_SetMatrix(FPDF_PAGEOBJECT image_object,
331d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       double a,
332d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       double b,
333d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       double c,
334d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       double d,
335d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       double e,
336d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       double f);
337e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
3384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Set |bitmap| to |image_object|.
3394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
3404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   pages        - pointer to the start of all loaded pages, may be NULL.
3414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   nCount       - number of |pages|, may be 0.
3424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   image_object - handle to an image object.
3434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//   bitmap       - handle of the bitmap.
3444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
3454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Returns TRUE on success.
346d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
347d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_SetBitmap(FPDF_PAGE* pages,
348d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       int nCount,
349d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       FPDF_PAGEOBJECT image_object,
350d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       FPDF_BITMAP bitmap);
351d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
352d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get a bitmap rasterisation of |image_object|. The returned bitmap will be
353d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// owned by the caller, and FPDFBitmap_Destroy() must be called on the returned
354d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// bitmap when it is no longer needed.
355d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
356d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   image_object - handle to an image object.
357d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
358d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the bitmap.
359d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
360d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_GetBitmap(FPDF_PAGEOBJECT image_object);
361d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
362d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the decoded image data of |image_object|. The decoded data is the
363d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// uncompressed image data, i.e. the raw image data after having all filters
364d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// applied. |buffer| is only modified if |buflen| is longer than the length of
365d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// the decoded image data.
366d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
367d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   image_object - handle to an image object.
368d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   buffer       - buffer for holding the decoded image data in raw bytes.
369d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   buflen       - length of the buffer.
370d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
371d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the length of the decoded image data.
372d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT unsigned long FPDF_CALLCONV
373d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_GetImageDataDecoded(FPDF_PAGEOBJECT image_object,
374d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                 void* buffer,
375d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                 unsigned long buflen);
376d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
377d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the raw image data of |image_object|. The raw data is the image data as
378d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// stored in the PDF without applying any filters. |buffer| is only modified if
379d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// |buflen| is longer than the length of the raw image data.
380d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
381d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   image_object - handle to an image object.
382d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   buffer       - buffer for holding the raw image data in raw bytes.
383d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   buflen       - length of the buffer.
384d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
385d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the length of the raw image data.
386d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT unsigned long FPDF_CALLCONV
387d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_GetImageDataRaw(FPDF_PAGEOBJECT image_object,
388d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                             void* buffer,
389d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                             unsigned long buflen);
390d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
391d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the number of filters (i.e. decoders) of the image in |image_object|.
392d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
393d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   image_object - handle to an image object.
394d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
395d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the number of |image_object|'s filters.
396d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV
397d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_GetImageFilterCount(FPDF_PAGEOBJECT image_object);
398d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
399d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the filter at |index| of |image_object|'s list of filters. Note that the
400d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// filters need to be applied in order, i.e. the first filter should be applied
401d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// first, then the second, etc. |buffer| is only modified if |buflen| is longer
402d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// than the length of the filter string.
403d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
404d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   image_object - handle to an image object.
405d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   index        - the index of the filter requested.
406d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   buffer       - buffer for holding filter string, encoded in UTF-8.
407d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   buflen       - length of the buffer.
408d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
409d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the length of the filter string.
410d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT unsigned long FPDF_CALLCONV
411d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_GetImageFilter(FPDF_PAGEOBJECT image_object,
412d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                            int index,
413d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                            void* buffer,
414d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                            unsigned long buflen);
415d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
416d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the image metadata of |image_object|, including dimension, DPI, bits per
417d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// pixel, and colorspace. If the |image_object| is not an image object or if it
418d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// does not have an image, then the return value will be false. Otherwise,
419d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// failure to retrieve any specific parameter would result in its value being 0.
420d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
421d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   image_object - handle to an image object.
422d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   page         - handle to the page that |image_object| is on. Required for
423d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//                  retrieving the image's bits per pixel and colorspace.
424d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   metadata     - receives the image metadata; must not be NULL.
425d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
426d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns true if successful.
427d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
428d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFImageObj_GetImageMetadata(FPDF_PAGEOBJECT image_object,
429d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                              FPDF_PAGE page,
430d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                              FPDF_IMAGEOBJ_METADATA* metadata);
431e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
43233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Create a new path object at an initial position.
43333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
43433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//   x - initial horizontal position.
43533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//   y - initial vertical position.
43633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
43733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns a handle to a new path object.
438d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateNewPath(float x,
439d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                                    float y);
44033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
44133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Create a closed path consisting of a rectangle.
44233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
44333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//   x - horizontal position for the left boundary of the rectangle.
44433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//   y - vertical position for the bottom boundary of the rectangle.
44533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//   w - width of the rectangle.
44633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//   h - height of the rectangle.
44733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
44833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns a handle to the new path object.
449d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateNewRect(float x,
450d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                                    float y,
451d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                                    float w,
452d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                                    float h);
453d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
454d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the bounding box of |page_object|.
455d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
456d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// page_object  - handle to a page object.
457d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// left         - pointer where the left coordinate will be stored
458d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// bottom       - pointer where the bottom coordinate will be stored
459d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// right        - pointer where the right coordinate will be stored
460d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// top          - pointer where the top coordinate will be stored
461d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
462d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns TRUE on success.
463d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
464d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_GetBounds(FPDF_PAGEOBJECT page_object,
465d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      float* left,
466d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      float* bottom,
467d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      float* right,
468d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      float* top);
469d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
470d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Set the blend mode of |page_object|.
471d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
472d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// page_object  - handle to a page object.
473d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// blend_mode   - string containing the blend mode.
474d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
475d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Blend mode can be one of following: Color, ColorBurn, ColorDodge, Darken,
476d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Difference, Exclusion, HardLight, Hue, Lighten, Luminosity, Multiply, Normal,
477d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Overlay, Saturation, Screen, SoftLight
478d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV
479d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_SetBlendMode(FPDF_PAGEOBJECT page_object,
480d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                         FPDF_BYTESTRING blend_mode);
48133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
48233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Set the stroke RGBA of a path. Range of values: 0 - 255.
48333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
48433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
48533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// R      - the red component for the path stroke color.
48633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// G      - the green component for the path stroke color.
48733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// B      - the blue component for the path stroke color.
48833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// A      - the stroke alpha for the path.
48933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
49033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success.
491d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
492d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPath_SetStrokeColor(FPDF_PAGEOBJECT path,
493d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int R,
494d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int G,
495d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int B,
496d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int A);
497d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
498d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the stroke RGBA of a path. Range of values: 0 - 255.
499d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
500d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// path   - the handle to the path object.
501d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// R      - the red component of the path stroke color.
502d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// G      - the green component of the path stroke color.
503d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// B      - the blue component of the path stroke color.
504d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// A      - the stroke alpha of the path.
505d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
506d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns TRUE on success.
507d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
508d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPath_GetStrokeColor(FPDF_PAGEOBJECT path,
509d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int* R,
510d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int* G,
511d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int* B,
512d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                        unsigned int* A);
51333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
51433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Set the stroke width of a path.
51533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
51633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
51733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// width  - the width of the stroke.
51833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
51933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
520d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
521d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPath_SetStrokeWidth(FPDF_PAGEOBJECT path, float width);
522d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
523d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Set the line join of |page_object|.
524d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
525d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// page_object  - handle to a page object.
526d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// line_join    - line join
527d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
528d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Line join can be one of following: FPDF_LINEJOIN_MITER, FPDF_LINEJOIN_ROUND,
529d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// FPDF_LINEJOIN_BEVEL
530d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPath_SetLineJoin(FPDF_PAGEOBJECT page_object,
531d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                    int line_join);
532d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
533d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Set the line cap of |page_object|.
534d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
535d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// page_object - handle to a page object.
536d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// line_cap    - line cap
537d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
538d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Line cap can be one of following: FPDF_LINECAP_BUTT, FPDF_LINECAP_ROUND,
539d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// FPDF_LINECAP_PROJECTING_SQUARE
540d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFPath_SetLineCap(FPDF_PAGEOBJECT page_object,
541d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                   int line_cap);
54233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
54333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Set the fill RGBA of a path. Range of values: 0 - 255.
54433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
54533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
54633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// R      - the red component for the path fill color.
54733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// G      - the green component for the path fill color.
54833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// B      - the blue component for the path fill color.
54933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// A      - the fill alpha for the path.
55033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
55133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success.
552d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetFillColor(FPDF_PAGEOBJECT path,
553d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int R,
554d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int G,
555d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int B,
556d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int A);
557d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
558d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get the fill RGBA of a path. Range of values: 0 - 255.
559d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
560d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// path   - the handle to the path object.
561d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// R      - the red component of the path fill color.
562d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// G      - the green component of the path fill color.
563d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// B      - the blue component of the path fill color.
564d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// A      - the fill alpha of the path.
565d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
566d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns TRUE on success.
567d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetFillColor(FPDF_PAGEOBJECT path,
568d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int* R,
569d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int* G,
570d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int* B,
571d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                          unsigned int* A);
572d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
573d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Experimental API.
574d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get number of segments inside |path|.
575d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
576d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   path - handle to a path.
577d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
578d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// A segment is a command, created by e.g. FPDFPath_MoveTo(),
579d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// FPDFPath_LineTo() or FPDFPath_BezierTo().
580d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
581d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the number of objects in |path| or -1 on failure.
582d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV FPDFPath_CountSegments(FPDF_PAGEOBJECT path);
583d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
584d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Experimental API.
585d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get segment in |path| at |index|.
586d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
587d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   path  - handle to a path.
588d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   index - the index of a segment.
589d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
590d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns the handle to the segment, or NULL on faiure.
591d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV
592d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPath_GetPathSegment(FPDF_PAGEOBJECT path, int index);
593d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
594d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Experimental API.
595d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get coordinates of |segment|.
596d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
597d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   segment  - handle to a segment.
598d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   x      - the horizontal position of the segment.
599d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   y      - the vertical position of the segment.
600d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
601d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns TRUE on success, otherwise |x| and |y| is not set.
602d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
603d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPathSegment_GetPoint(FPDF_PATHSEGMENT segment, float* x, float* y);
604d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
605d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Experimental API.
606d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Get type of |segment|.
607d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
608d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   segment - handle to a segment.
609d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
610d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns one of the FPDF_SEGMENT_* values on success,
611d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// FPDF_SEGMENT_UNKNOWN on error.
612d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT int FPDF_CALLCONV FPDFPathSegment_GetType(FPDF_PATHSEGMENT segment);
613d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
614d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Experimental API.
615d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Gets if the |segment| closes the current subpath of a given path.
616d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
617d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//   segment - handle to a segment.
618d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
619d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns close flag for non-NULL segment, FALSE otherwise.
620d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
621d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPathSegment_GetClose(FPDF_PATHSEGMENT segment);
62233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
62333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Move a path's current point.
62433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
62533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
62633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// x      - the horizontal position of the new current point.
62733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// y      - the vertical position of the new current point.
62833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
62933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Note that no line will be created between the previous current point and the
63033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// new one.
63133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
63233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
633d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_MoveTo(FPDF_PAGEOBJECT path,
634d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                    float x,
635d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                    float y);
63633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
63733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Add a line between the current point and a new point in the path.
63833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
63933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
64033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// x      - the horizontal position of the new point.
64133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// y      - the vertical position of the new point.
64233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
64333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// The path's current point is changed to (x, y).
64433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
64533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
646d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_LineTo(FPDF_PAGEOBJECT path,
647d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                    float x,
648d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                    float y);
64933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
65033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Add a cubic Bezier curve to the given path, starting at the current point.
65133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
65233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
65333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// x1     - the horizontal position of the first Bezier control point.
65433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// y1     - the vertical position of the first Bezier control point.
65533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// x2     - the horizontal position of the second Bezier control point.
65633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// y2     - the vertical position of the second Bezier control point.
65733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// x3     - the horizontal position of the ending point of the Bezier curve.
65833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// y3     - the vertical position of the ending point of the Bezier curve.
65933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
66033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
661d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_BezierTo(FPDF_PAGEOBJECT path,
662d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      float x1,
663d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      float y1,
664d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      float x2,
665d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      float y2,
666d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      float x3,
667d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      float y3);
66833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
66933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Close the current subpath of a given path.
67033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
67133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path   - the handle to the path object.
67233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
67333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// This will add a line between the current point and the initial point of the
67433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// subpath, thus terminating the current subpath.
67533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
67633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
677d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_Close(FPDF_PAGEOBJECT path);
67833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
67933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Set the drawing mode of a path.
68033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
68133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// path     - the handle to the path object.
68233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// fillmode - the filling mode to be set: 0 for no fill, 1 for alternate, 2 for
68333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// winding.
68433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// stroke   - a boolean specifying if the path should be stroked or not.
68533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
68633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
687d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path,
688d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                         int fillmode,
689d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                         FPDF_BOOL stroke);
69033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
69133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Create a new text object using one of the standard PDF fonts.
69233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
69333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// document   - handle to the document.
69433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// font       - string containing the font name, without spaces.
69533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// font_size  - the font size for the new text object.
69633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
69733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns a handle to a new text object, or NULL on failure
698d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
699d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_NewTextObj(FPDF_DOCUMENT document,
700d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       FPDF_BYTESTRING font,
701d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                       float font_size);
70233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
70333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Set the text for a textobject. If it had text, it will be replaced.
70433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
70533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// text_object  - handle to the text object.
706d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// text         - the UTF-16LE encoded string containing the text to be added.
70733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
70833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns TRUE on success
709d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
710d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFText_SetText(FPDF_PAGEOBJECT text_object, FPDF_WIDESTRING text);
71133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
712d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns a font object loaded from a stream of data. The font is loaded
713d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// into the document.
714d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
715d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// document   - handle to the document.
716d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// data       - the stream of data, which will be copied by the font object.
717d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// size       - size of the stream, in bytes.
718d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// font_type  - FPDF_FONT_TYPE1 or FPDF_FONT_TRUETYPE depending on the font
719d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// type.
720d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// cid        - a boolean specifying if the font is a CID font or not.
72133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
722d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// The loaded font can be closed using FPDF_Font_Close.
72333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann//
72433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Returns NULL on failure
725d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadFont(FPDF_DOCUMENT document,
726d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      const uint8_t* data,
727d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      uint32_t size,
728d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      int font_type,
729d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                                      FPDF_BOOL cid);
730d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
731d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Set the fill RGBA of a text object. Range of values: 0 - 255.
732d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
733d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// text_object  - handle to the text object.
734d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// R            - the red component for the path fill color.
735d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// G            - the green component for the path fill color.
736d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// B            - the blue component for the path fill color.
737d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// A            - the fill alpha for the path.
738d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
739d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns TRUE on success.
740d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
741d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFText_SetFillColor(FPDF_PAGEOBJECT text_object,
742d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      unsigned int R,
743d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      unsigned int G,
744d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      unsigned int B,
745d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                      unsigned int A);
746d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
747d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Close a loaded PDF font.
748d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
749d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// font   - Handle to the loaded font.
750d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font);
751d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
752d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Create a new text object using a loaded font.
753d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
754d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// document   - handle to the document.
755d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// font       - handle to the font object.
756d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// font_size  - the font size for the new text object.
757d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann//
758d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Returns a handle to a new text object, or NULL on failure
759d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
760d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. MoltmannFPDFPageObj_CreateTextObj(FPDF_DOCUMENT document,
761d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                          FPDF_FONT font,
762d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                          float font_size);
76333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
764e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef __cplusplus
7654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}  // extern "C"
7664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif  // __cplusplus
767e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
768e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif  // PUBLIC_FPDF_EDIT_H_
769