Index: core/fpdfapi/fpdf_edit/include/cpdf_pagecontentgenerator.h |
diff --git a/core/fpdfapi/fpdf_edit/include/cpdf_pagecontentgenerator.h b/core/fpdfapi/fpdf_edit/include/cpdf_pagecontentgenerator.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8aea0847986874cdc35eedcca0f142dc7c73d72d |
--- /dev/null |
+++ b/core/fpdfapi/fpdf_edit/include/cpdf_pagecontentgenerator.h |
@@ -0,0 +1,42 @@ |
+// Copyright 2016 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#ifndef CORE_FPDFAPI_FPDF_EDIT_INCLUDE_CPDF_PAGECONTENTGENERATOR_H_ |
+#define CORE_FPDFAPI_FPDF_EDIT_INCLUDE_CPDF_PAGECONTENTGENERATOR_H_ |
+ |
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" |
+#include "core/include/fxcrt/fx_basic.h" |
+#include "core/include/fxcrt/fx_coordinates.h" |
+#include "core/include/fxcrt/fx_system.h" |
+ |
+class CPDF_Object; |
+class CPDF_Page; |
+class CPDF_PageObject; |
+class CPDF_ImageObject; |
+ |
+class CPDF_PageContentGenerator { |
+ public: |
+ explicit CPDF_PageContentGenerator(CPDF_Page* pPage); |
+ |
+ FX_BOOL InsertPageObject(CPDF_PageObject* pPageObject); |
+ void GenerateContent(); |
+ void TransformContent(CFX_Matrix& matrix); |
+ |
+ private: |
+ void ProcessImage(CFX_ByteTextBuf& buf, CPDF_ImageObject* pImageObj); |
+ void ProcessForm(CFX_ByteTextBuf& buf, |
+ const uint8_t* data, |
+ FX_DWORD size, |
+ CFX_Matrix& matrix); |
+ CFX_ByteString RealizeResource(CPDF_Object* pResourceObj, |
+ const FX_CHAR* szType); |
+ |
+ CPDF_Page* m_pPage; |
+ CPDF_Document* m_pDocument; |
+ CFX_ArrayTemplate<CPDF_PageObject*> m_pageObjects; |
+}; |
+ |
+#endif // CORE_FPDFAPI_FPDF_EDIT_INCLUDE_CPDF_PAGECONTENTGENERATOR_H_ |