Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h

Issue 1846993002: Remove IXFA_* interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/include/fpdfxfa/fpdfxfa_app.h ('k') | fpdfsdk/include/fpdfxfa/fpdfxfa_page.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef FPDFSDK_INCLUDE_FPDFXFA_FPDFXFA_DOC_H_ 7 #ifndef FPDFSDK_INCLUDE_FPDFXFA_FPDFXFA_DOC_H_
8 #define FPDFSDK_INCLUDE_FPDFXFA_FPDFXFA_DOC_H_ 8 #define FPDFSDK_INCLUDE_FPDFXFA_FPDFXFA_DOC_H_
9 9
10 #include <vector> 10 #include <vector>
11 11
12 #include "public/fpdfview.h" 12 #include "public/fpdfview.h"
13 #include "xfa/include/fxfa/fxfa.h" 13 #include "xfa/include/fxfa/fxfa.h"
14 #include "xfa/include/fxfa/xfa_ffdochandler.h"
14 15
15 class CPDFXFA_App; 16 class CPDFXFA_App;
16 class CPDFXFA_Document; 17 class CPDFXFA_Document;
17 class CPDFXFA_Page; 18 class CPDFXFA_Page;
18 class CPDFSDK_Document; 19 class CPDFSDK_Document;
19 class CPDFDoc_Environment; 20 class CPDFDoc_Environment;
20 class IJS_Runtime; 21 class IJS_Runtime;
21 class IJS_Context; 22 class IJS_Context;
22 class IXFA_DocHandler; 23 class CXFA_FFDocHandler;
23 24
24 class CPDFXFA_Document : public IXFA_DocProvider { 25 class CPDFXFA_Document : public IXFA_DocProvider {
25 public: 26 public:
26 CPDFXFA_Document(CPDF_Document* pPDFDoc, CPDFXFA_App* pProvider); 27 CPDFXFA_Document(CPDF_Document* pPDFDoc, CPDFXFA_App* pProvider);
27 ~CPDFXFA_Document(); 28 ~CPDFXFA_Document();
28 29
29 FX_BOOL LoadXFADoc(); 30 FX_BOOL LoadXFADoc();
30 CPDFXFA_App* GetApp() { return m_pApp; } 31 CPDFXFA_App* GetApp() { return m_pApp; }
31 CPDF_Document* GetPDFDoc() { return m_pPDFDoc; } 32 CPDF_Document* GetPDFDoc() { return m_pPDFDoc; }
32 IXFA_Doc* GetXFADoc() { return m_pXFADoc; } 33 CXFA_FFDoc* GetXFADoc() { return m_pXFADoc; }
33 IXFA_DocView* GetXFADocView() { return m_pXFADocView; } 34 CXFA_FFDocView* GetXFADocView() { return m_pXFADocView; }
34 35
35 int GetPageCount(); 36 int GetPageCount();
36 CPDFXFA_Page* GetPage(int page_index); 37 CPDFXFA_Page* GetPage(int page_index);
37 CPDFXFA_Page* GetPage(IXFA_PageView* pPage); 38 CPDFXFA_Page* GetPage(CXFA_FFPageView* pPage);
38 39
39 void DeletePage(int page_index); 40 void DeletePage(int page_index);
40 void RemovePage(CPDFXFA_Page* page); 41 void RemovePage(CPDFXFA_Page* page);
41 int GetDocType() { return m_iDocType; } 42 int GetDocType() { return m_iDocType; }
42 43
43 CPDFSDK_Document* GetSDKDocument(CPDFDoc_Environment* pFormFillEnv); 44 CPDFSDK_Document* GetSDKDocument(CPDFDoc_Environment* pFormFillEnv);
44 45
45 void FXRect2PDFRect(const CFX_RectF& fxRectF, CFX_FloatRect& pdfRect); 46 void FXRect2PDFRect(const CFX_RectF& fxRectF, CFX_FloatRect& pdfRect);
46 47
47 virtual void SetChangeMark(IXFA_Doc* hDoc); 48 virtual void SetChangeMark(CXFA_FFDoc* hDoc);
48 virtual FX_BOOL GetChangeMark(IXFA_Doc* hDoc); 49 virtual FX_BOOL GetChangeMark(CXFA_FFDoc* hDoc);
49 // used in dynamic xfa, dwFlags refer to XFA_INVALIDATE_XXX macros. 50 // used in dynamic xfa, dwFlags refer to XFA_INVALIDATE_XXX macros.
50 virtual void InvalidateRect(IXFA_PageView* pPageView, 51 virtual void InvalidateRect(CXFA_FFPageView* pPageView,
51 const CFX_RectF& rt, 52 const CFX_RectF& rt,
52 uint32_t dwFlags = 0); 53 uint32_t dwFlags = 0);
53 // used in static xfa, dwFlags refer to XFA_INVALIDATE_XXX macros. 54 // used in static xfa, dwFlags refer to XFA_INVALIDATE_XXX macros.
54 virtual void InvalidateRect(IXFA_Widget* hWidget, uint32_t dwFlags = 0); 55 virtual void InvalidateRect(CXFA_FFWidget* hWidget, uint32_t dwFlags = 0);
55 // show or hide caret 56 // show or hide caret
56 virtual void DisplayCaret(IXFA_Widget* hWidget, 57 virtual void DisplayCaret(CXFA_FFWidget* hWidget,
57 FX_BOOL bVisible, 58 FX_BOOL bVisible,
58 const CFX_RectF* pRtAnchor); 59 const CFX_RectF* pRtAnchor);
59 // dwPos: (0:bottom 1:top) 60 // dwPos: (0:bottom 1:top)
60 virtual FX_BOOL GetPopupPos(IXFA_Widget* hWidget, 61 virtual FX_BOOL GetPopupPos(CXFA_FFWidget* hWidget,
61 FX_FLOAT fMinPopup, 62 FX_FLOAT fMinPopup,
62 FX_FLOAT fMaxPopup, 63 FX_FLOAT fMaxPopup,
63 const CFX_RectF& rtAnchor, 64 const CFX_RectF& rtAnchor,
64 CFX_RectF& rtPopup); 65 CFX_RectF& rtPopup);
65 virtual FX_BOOL PopupMenu(IXFA_Widget* hWidget, 66 virtual FX_BOOL PopupMenu(CXFA_FFWidget* hWidget,
66 CFX_PointF ptPopup, 67 CFX_PointF ptPopup,
67 const CFX_RectF* pRectExclude = NULL); 68 const CFX_RectF* pRectExclude = NULL);
68 69
69 // dwFlags XFA_PAGEVIEWEVENT_Added, XFA_PAGEVIEWEVENT_Removing 70 // dwFlags XFA_PAGEVIEWEVENT_Added, XFA_PAGEVIEWEVENT_Removing
70 virtual void PageViewEvent(IXFA_PageView* pPageView, uint32_t dwFlags); 71 virtual void PageViewEvent(CXFA_FFPageView* pPageView, uint32_t dwFlags);
71 // dwEvent refer to XFA_WIDGETEVENT_XXX 72 // dwEvent refer to XFA_WIDGETEVENT_XXX
72 virtual void WidgetEvent(IXFA_Widget* hWidget, 73 virtual void WidgetEvent(CXFA_FFWidget* hWidget,
73 CXFA_WidgetAcc* pWidgetData, 74 CXFA_WidgetAcc* pWidgetData,
74 uint32_t dwEvent, 75 uint32_t dwEvent,
75 void* pParam = NULL, 76 void* pParam = NULL,
76 void* pAdditional = NULL); 77 void* pAdditional = NULL);
77 78
78 // return true if render it. 79 // return true if render it.
79 virtual FX_BOOL RenderCustomWidget(IXFA_Widget* hWidget, 80 virtual FX_BOOL RenderCustomWidget(CXFA_FFWidget* hWidget,
80 CFX_Graphics* pGS, 81 CFX_Graphics* pGS,
81 CFX_Matrix* pMatrix, 82 CFX_Matrix* pMatrix,
82 const CFX_RectF& rtUI) { 83 const CFX_RectF& rtUI) {
83 return FALSE; 84 return FALSE;
84 } 85 }
85 86
86 // host method 87 // host method
87 virtual int32_t CountPages(IXFA_Doc* hDoc); 88 virtual int32_t CountPages(CXFA_FFDoc* hDoc);
88 virtual int32_t GetCurrentPage(IXFA_Doc* hDoc); 89 virtual int32_t GetCurrentPage(CXFA_FFDoc* hDoc);
89 virtual void SetCurrentPage(IXFA_Doc* hDoc, int32_t iCurPage); 90 virtual void SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage);
90 virtual FX_BOOL IsCalculationsEnabled(IXFA_Doc* hDoc); 91 virtual FX_BOOL IsCalculationsEnabled(CXFA_FFDoc* hDoc);
91 virtual void SetCalculationsEnabled(IXFA_Doc* hDoc, FX_BOOL bEnabled); 92 virtual void SetCalculationsEnabled(CXFA_FFDoc* hDoc, FX_BOOL bEnabled);
92 virtual void GetTitle(IXFA_Doc* hDoc, CFX_WideString& wsTitle); 93 virtual void GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle);
93 virtual void SetTitle(IXFA_Doc* hDoc, const CFX_WideStringC& wsTitle); 94 virtual void SetTitle(CXFA_FFDoc* hDoc, const CFX_WideStringC& wsTitle);
94 virtual void ExportData(IXFA_Doc* hDoc, 95 virtual void ExportData(CXFA_FFDoc* hDoc,
95 const CFX_WideStringC& wsFilePath, 96 const CFX_WideStringC& wsFilePath,
96 FX_BOOL bXDP = TRUE); 97 FX_BOOL bXDP = TRUE);
97 virtual void ImportData(IXFA_Doc* hDoc, const CFX_WideStringC& wsFilePath); 98 virtual void ImportData(CXFA_FFDoc* hDoc, const CFX_WideStringC& wsFilePath);
98 virtual void GotoURL(IXFA_Doc* hDoc, 99 virtual void GotoURL(CXFA_FFDoc* hDoc,
99 const CFX_WideStringC& bsURL, 100 const CFX_WideStringC& bsURL,
100 FX_BOOL bAppend = TRUE); 101 FX_BOOL bAppend = TRUE);
101 virtual FX_BOOL IsValidationsEnabled(IXFA_Doc* hDoc); 102 virtual FX_BOOL IsValidationsEnabled(CXFA_FFDoc* hDoc);
102 virtual void SetValidationsEnabled(IXFA_Doc* hDoc, FX_BOOL bEnabled); 103 virtual void SetValidationsEnabled(CXFA_FFDoc* hDoc, FX_BOOL bEnabled);
103 virtual void SetFocusWidget(IXFA_Doc* hDoc, IXFA_Widget* hWidget); 104 virtual void SetFocusWidget(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget);
104 virtual void Print(IXFA_Doc* hDoc, 105 virtual void Print(CXFA_FFDoc* hDoc,
105 int32_t nStartPage, 106 int32_t nStartPage,
106 int32_t nEndPage, 107 int32_t nEndPage,
107 uint32_t dwOptions); 108 uint32_t dwOptions);
108 109
109 // LayoutPseudo method 110 // LayoutPseudo method
110 virtual int32_t AbsPageCountInBatch(IXFA_Doc* hDoc) { return 0; } 111 virtual int32_t AbsPageCountInBatch(CXFA_FFDoc* hDoc) { return 0; }
111 virtual int32_t AbsPageInBatch(IXFA_Doc* hDoc, IXFA_Widget* hWidget) { 112 virtual int32_t AbsPageInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) {
112 return 0; 113 return 0;
113 } 114 }
114 virtual int32_t SheetCountInBatch(IXFA_Doc* hDoc) { return 0; } 115 virtual int32_t SheetCountInBatch(CXFA_FFDoc* hDoc) { return 0; }
115 virtual int32_t SheetInBatch(IXFA_Doc* hDoc, IXFA_Widget* hWidget) { 116 virtual int32_t SheetInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) {
116 return 0; 117 return 0;
117 } 118 }
118 119
119 virtual int32_t Verify(IXFA_Doc* hDoc, 120 virtual int32_t Verify(CXFA_FFDoc* hDoc,
120 CXFA_Node* pSigNode, 121 CXFA_Node* pSigNode,
121 FX_BOOL bUsed = TRUE) { 122 FX_BOOL bUsed = TRUE) {
122 return 0; 123 return 0;
123 } 124 }
124 virtual FX_BOOL Sign(IXFA_Doc* hDoc, 125 virtual FX_BOOL Sign(CXFA_FFDoc* hDoc,
125 CXFA_NodeList* pNodeList, 126 CXFA_NodeList* pNodeList,
126 const CFX_WideStringC& wsExpression, 127 const CFX_WideStringC& wsExpression,
127 const CFX_WideStringC& wsXMLIdent, 128 const CFX_WideStringC& wsXMLIdent,
128 const CFX_WideStringC& wsValue = FX_WSTRC(L"open"), 129 const CFX_WideStringC& wsValue = FX_WSTRC(L"open"),
129 FX_BOOL bUsed = TRUE) { 130 FX_BOOL bUsed = TRUE) {
130 return 0; 131 return 0;
131 } 132 }
132 virtual CXFA_NodeList* Enumerate(IXFA_Doc* hDoc) { return 0; } 133 virtual CXFA_NodeList* Enumerate(CXFA_FFDoc* hDoc) { return 0; }
133 virtual FX_BOOL Clear(IXFA_Doc* hDoc, 134 virtual FX_BOOL Clear(CXFA_FFDoc* hDoc,
134 CXFA_Node* pSigNode, 135 CXFA_Node* pSigNode,
135 FX_BOOL bCleared = TRUE) { 136 FX_BOOL bCleared = TRUE) {
136 return 0; 137 return 0;
137 } 138 }
138 139
139 // Get document path 140 // Get document path
140 virtual void GetURL(IXFA_Doc* hDoc, CFX_WideString& wsDocURL); 141 virtual void GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL);
141 virtual FX_ARGB GetHighlightColor(IXFA_Doc* hDoc); 142 virtual FX_ARGB GetHighlightColor(CXFA_FFDoc* hDoc);
142 143
143 /** 144 /**
144 *Submit data to email, http, ftp. 145 *Submit data to email, http, ftp.
145 * @param[in] hDoc The document handler. 146 * @param[in] hDoc The document handler.
146 * @param[in] eFormat Determines the format in which the data will be 147 * @param[in] eFormat Determines the format in which the data will be
147 *submitted. XFA_ATTRIBUTEENUM_Xdp, XFA_ATTRIBUTEENUM_Xml... 148 *submitted. XFA_ATTRIBUTEENUM_Xdp, XFA_ATTRIBUTEENUM_Xml...
148 * @param[in] wsTarget The URL to which the data will be submitted. 149 * @param[in] wsTarget The URL to which the data will be submitted.
149 * @param[in] eEncoding The encoding of text content. 150 * @param[in] eEncoding The encoding of text content.
150 * @param[in] pXDPContent Controls what subset of the data is submitted, used 151 * @param[in] pXDPContent Controls what subset of the data is submitted, used
151 *only when the format property is xdp. 152 *only when the format property is xdp.
152 * @param[in] bEmbedPDF, specifies whether PDF is embedded in the submitted 153 * @param[in] bEmbedPDF, specifies whether PDF is embedded in the submitted
153 *content or not. 154 *content or not.
154 */ 155 */
155 virtual FX_BOOL SubmitData(IXFA_Doc* hDoc, CXFA_Submit submit); 156 virtual FX_BOOL SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit);
156 157
157 virtual FX_BOOL CheckWord(IXFA_Doc* hDoc, const CFX_ByteStringC& sWord) { 158 virtual FX_BOOL CheckWord(CXFA_FFDoc* hDoc, const CFX_ByteStringC& sWord) {
158 return FALSE; 159 return FALSE;
159 } 160 }
160 virtual FX_BOOL GetSuggestWords(IXFA_Doc* hDoc, 161 virtual FX_BOOL GetSuggestWords(CXFA_FFDoc* hDoc,
161 const CFX_ByteStringC& sWord, 162 const CFX_ByteStringC& sWord,
162 std::vector<CFX_ByteString>& sSuggest) { 163 std::vector<CFX_ByteString>& sSuggest) {
163 return FALSE; 164 return FALSE;
164 } 165 }
165 166
166 // Get PDF javascript object, set the object to hValue. 167 // Get PDF javascript object, set the object to hValue.
167 virtual FX_BOOL GetPDFScriptObject(IXFA_Doc* hDoc, 168 virtual FX_BOOL GetPDFScriptObject(CXFA_FFDoc* hDoc,
168 const CFX_ByteStringC& utf8Name, 169 const CFX_ByteStringC& utf8Name,
169 FXJSE_HVALUE hValue); 170 FXJSE_HVALUE hValue);
170 171
171 virtual FX_BOOL GetGlobalProperty(IXFA_Doc* hDoc, 172 virtual FX_BOOL GetGlobalProperty(CXFA_FFDoc* hDoc,
172 const CFX_ByteStringC& szPropName, 173 const CFX_ByteStringC& szPropName,
173 FXJSE_HVALUE hValue); 174 FXJSE_HVALUE hValue);
174 virtual FX_BOOL SetGlobalProperty(IXFA_Doc* hDoc, 175 virtual FX_BOOL SetGlobalProperty(CXFA_FFDoc* hDoc,
175 const CFX_ByteStringC& szPropName, 176 const CFX_ByteStringC& szPropName,
176 FXJSE_HVALUE hValue); 177 FXJSE_HVALUE hValue);
177 virtual CPDF_Document* OpenPDF(IXFA_Doc* hDoc, 178 virtual CPDF_Document* OpenPDF(CXFA_FFDoc* hDoc,
178 IFX_FileRead* pFile, 179 IFX_FileRead* pFile,
179 FX_BOOL bTakeOverFile) { 180 FX_BOOL bTakeOverFile) {
180 return NULL; 181 return NULL;
181 } 182 }
182 183
183 virtual IFX_FileRead* OpenLinkedFile(IXFA_Doc* hDoc, 184 virtual IFX_FileRead* OpenLinkedFile(CXFA_FFDoc* hDoc,
184 const CFX_WideString& wsLink); 185 const CFX_WideString& wsLink);
185 186
186 FX_BOOL _GetHValueByName(const CFX_ByteStringC& utf8Name, 187 FX_BOOL _GetHValueByName(const CFX_ByteStringC& utf8Name,
187 FXJSE_HVALUE hValue, 188 FXJSE_HVALUE hValue,
188 IJS_Runtime* runTime); 189 IJS_Runtime* runTime);
189 FX_BOOL _OnBeforeNotifySumbit(); 190 FX_BOOL _OnBeforeNotifySumbit();
190 void _OnAfterNotifySumbit(); 191 void _OnAfterNotifySumbit();
191 FX_BOOL _NotifySubmit(FX_BOOL bPrevOrPost); 192 FX_BOOL _NotifySubmit(FX_BOOL bPrevOrPost);
192 FX_BOOL _SubmitData(IXFA_Doc* hDoc, CXFA_Submit submit); 193 FX_BOOL _SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit);
193 FX_BOOL _MailToInfo(CFX_WideString& csURL, 194 FX_BOOL _MailToInfo(CFX_WideString& csURL,
194 CFX_WideString& csToAddress, 195 CFX_WideString& csToAddress,
195 CFX_WideString& csCCAddress, 196 CFX_WideString& csCCAddress,
196 CFX_WideString& csBCCAddress, 197 CFX_WideString& csBCCAddress,
197 CFX_WideString& csSubject, 198 CFX_WideString& csSubject,
198 CFX_WideString& csMsg); 199 CFX_WideString& csMsg);
199 FX_BOOL _ExportSubmitFile(FPDF_FILEHANDLER* ppFileHandler, 200 FX_BOOL _ExportSubmitFile(FPDF_FILEHANDLER* ppFileHandler,
200 int fileType, 201 int fileType,
201 FPDF_DWORD encodeType, 202 FPDF_DWORD encodeType,
202 FPDF_DWORD flag = 0x01111111); 203 FPDF_DWORD flag = 0x01111111);
203 void _ToXFAContentFlags(CFX_WideString csSrcContent, FPDF_DWORD& flag); 204 void _ToXFAContentFlags(CFX_WideString csSrcContent, FPDF_DWORD& flag);
204 void _ClearChangeMark(); 205 void _ClearChangeMark();
205 206
206 private: 207 private:
207 enum LoadStatus { 208 enum LoadStatus {
208 FXFA_LOADSTATUS_PRELOAD = 0, 209 FXFA_LOADSTATUS_PRELOAD = 0,
209 FXFA_LOADSTATUS_LOADING, 210 FXFA_LOADSTATUS_LOADING,
210 FXFA_LOADSTATUS_LOADED, 211 FXFA_LOADSTATUS_LOADED,
211 FXFA_LOADSTATUS_CLOSING, 212 FXFA_LOADSTATUS_CLOSING,
212 FXFA_LOADSTATUS_CLOSED 213 FXFA_LOADSTATUS_CLOSED
213 }; 214 };
214 void CloseXFADoc(IXFA_DocHandler* pDoc) { 215 void CloseXFADoc(CXFA_FFDocHandler* pDoc) {
215 if (pDoc) { 216 if (pDoc) {
216 pDoc->CloseDoc(m_pXFADoc); 217 pDoc->CloseDoc(m_pXFADoc);
217 pDoc->ReleaseDoc(m_pXFADoc); 218 pDoc->ReleaseDoc(m_pXFADoc);
218 m_pXFADoc = NULL; 219 m_pXFADoc = NULL;
219 m_pXFADocView = NULL; 220 m_pXFADocView = NULL;
220 } 221 }
221 } 222 }
222 223
223 int m_iDocType; 224 int m_iDocType;
224 CPDF_Document* m_pPDFDoc; 225 CPDF_Document* m_pPDFDoc;
225 CPDFSDK_Document* m_pSDKDoc; 226 CPDFSDK_Document* m_pSDKDoc;
226 IXFA_Doc* m_pXFADoc; 227 CXFA_FFDoc* m_pXFADoc;
227 IXFA_DocView* m_pXFADocView; 228 CXFA_FFDocView* m_pXFADocView;
228 CPDFXFA_App* m_pApp; 229 CPDFXFA_App* m_pApp;
229 IJS_Context* m_pJSContext; 230 IJS_Context* m_pJSContext;
230 CFX_ArrayTemplate<CPDFXFA_Page*> m_XFAPageList; 231 CFX_ArrayTemplate<CPDFXFA_Page*> m_XFAPageList;
231 LoadStatus m_nLoadStatus; 232 LoadStatus m_nLoadStatus;
232 int m_nPageCount; 233 int m_nPageCount;
233 }; 234 };
234 235
235 #endif // FPDFSDK_INCLUDE_FPDFXFA_FPDFXFA_DOC_H_ 236 #endif // FPDFSDK_INCLUDE_FPDFXFA_FPDFXFA_DOC_H_
OLDNEW
« no previous file with comments | « fpdfsdk/include/fpdfxfa/fpdfxfa_app.h ('k') | fpdfsdk/include/fpdfxfa/fpdfxfa_page.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698