Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / fpdfsdk / include / fpdf_flatten.h
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4  
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #ifndef _FPDF_FLATTEN_H_
8 #define _FPDF_FLATTEN_H_
9         
10 #include "fpdfview.h"
11
12 #define FLATTEN_FAIL                    0       // Flatten operation failed.
13 #define FLATTEN_SUCCESS                 1       // Flatten operation succeed.
14 #define FLATTEN_NOTINGTODO              2       // There is nothing can be flatten.
15         
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20 #define FLAT_NORMALDISPLAY     0
21 #define FLAT_PRINT             1    
22         //Function: FPDFPage_Flatten
23
24         //                      Flat a pdf page,annotations or form fields will become part of the page contents.
25         //Parameters:
26
27         //                      page  - Handle to the page. Returned by FPDF_LoadPage function.
28         //                      nFlag - the flag for the use of flatten result. Zero for normal display, 1 for print.
29         //Return value:
30         //                      The result flag of the function, See flags above ( FLATTEN_FAIL, FLATTEN_SUCCESS, FLATTEN_NOTINGTODO ).
31         //
32         //Comments: Current version all fails return zero. If necessary we will assign different value
33         //                      to indicate different fail reason.
34         // 
35         //Notes: 
36         //                      The method can not support to flatten the page which the document consists of dynamic XFA fields.
37         //
38         DLLEXPORT int STDCALL FPDFPage_Flatten( FPDF_PAGE page, int nFlag);
39                 
40                 
41 #ifdef __cplusplus
42 };
43 #endif
44
45 #endif //_FPDF_FLATTEN_H_