summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2016-03-15 14:57:22 -0400
committerDan Sinclair <dsinclair@chromium.org>2016-03-15 14:57:22 -0400
commitaa403d3f68a966e24a6d8e8c109970930f096afb (patch)
treefeee638c1d8cee4b191bf09c2637009bb9cd6f30 /core
parente40764862208b8cb76f507c489b01e3795fd93bd (diff)
downloadpdfium-aa403d3f68a966e24a6d8e8c109970930f096afb.tar.xz
core/include/fdpfapi cleanup Part I.
This Cl moves a bunch of the files from core/include/fpdfapi to their correct location outside the core/include tree. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1805603002 .
Diffstat (limited to 'core')
-rw-r--r--core/fpdfapi/fpdf_basic_module.cpp4
-rw-r--r--core/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp2
-rw-r--r--core/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp2
-rw-r--r--core/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp2
-rw-r--r--core/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp2
-rw-r--r--core/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp2
-rw-r--r--core/fpdfapi/fpdf_edit/fpdf_edit_content.cpp11
-rw-r--r--core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp18
-rw-r--r--core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp11
-rw-r--r--core/fpdfapi/fpdf_edit/fpdf_edit_image.cpp14
-rw-r--r--core/fpdfapi/fpdf_edit/include/cpdf_creator.h (renamed from core/include/fpdfapi/fpdf_serial.h)77
-rw-r--r--core/fpdfapi/fpdf_font/fpdf_font.cpp14
-rw-r--r--core/fpdfapi/fpdf_font/fpdf_font_charset.cpp2
-rw-r--r--core/fpdfapi/fpdf_font/fpdf_font_cid.cpp8
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page.cpp9
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_colors.cpp10
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_doc.cpp13
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_func.cpp7
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp8
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_image.cpp4
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_parser.cpp17
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp20
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_path.cpp1
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_pattern.cpp6
-rw-r--r--core/fpdfapi/fpdf_parser/cfdf_document.cpp6
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_array.cpp12
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_boolean.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_boolean.h (renamed from core/include/fpdfapi/cpdf_boolean.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp17
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_data_avail.h4
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_dictionary.cpp18
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_document.cpp13
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp8
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_hint_tables.h2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp7
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_name.cpp4
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_null.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_null.h (renamed from core/include/fpdfapi/cpdf_null.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_number.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_object.cpp12
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp20
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_parser.cpp18
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_reference.cpp4
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_simple_parser.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_simple_parser_unittest.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp6
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.cpp8
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h2
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_stream.cpp8
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_stream_acc.cpp5
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_string.cpp4
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_syntax_parser.cpp24
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_syntax_parser_unittest.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp8
-rw-r--r--core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp2
-rw-r--r--core/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp16
-rw-r--r--core/fpdfapi/fpdf_parser/include/cfdf_document.h (renamed from core/include/fpdfapi/cfdf_document.h)10
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_array.h (renamed from core/include/fpdfapi/cpdf_array.h)10
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h (renamed from core/include/fpdfapi/cpdf_dictionary.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_document.h (renamed from core/include/fpdfapi/cpdf_document.h)10
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h (renamed from core/include/fpdfapi/cpdf_indirect_object_holder.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_name.h (renamed from core/include/fpdfapi/cpdf_name.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_number.h (renamed from core/include/fpdfapi/cpdf_number.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_object.h (renamed from core/include/fpdfapi/cpdf_object.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_parser.h (renamed from core/include/fpdfapi/cpdf_parser.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_reference.h (renamed from core/include/fpdfapi/cpdf_reference.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h (renamed from core/include/fpdfapi/cpdf_simple_parser.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_stream.h (renamed from core/include/fpdfapi/cpdf_stream.h)10
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h (renamed from core/include/fpdfapi/cpdf_stream_acc.h)10
-rw-r--r--core/fpdfapi/fpdf_parser/include/cpdf_string.h (renamed from core/include/fpdfapi/cpdf_string.h)8
-rw-r--r--core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h (renamed from core/include/fpdfapi/fpdf_parser_decode.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/include/ipdf_data_avail.h (renamed from core/include/fpdfapi/ipdf_data_avail.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h (renamed from core/include/fpdfapi/ipdf_crypto_handler.h)6
-rw-r--r--core/fpdfapi/fpdf_parser/ipdf_occontext.cpp25
-rw-r--r--core/fpdfapi/fpdf_parser/ipdf_occontext.h23
-rw-r--r--core/fpdfapi/fpdf_parser/ipdf_security_handler.h (renamed from core/include/fpdfapi/ipdf_security_handler.h)6
-rw-r--r--core/fpdfapi/fpdf_render/cpdf_pagerendercache.h77
-rw-r--r--core/fpdfapi/fpdf_render/fpdf_render.cpp28
-rw-r--r--core/fpdfapi/fpdf_render/fpdf_render_cache.cpp7
-rw-r--r--core/fpdfapi/fpdf_render/fpdf_render_image.cpp12
-rw-r--r--core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp10
-rw-r--r--core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp7
-rw-r--r--core/fpdfapi/fpdf_render/fpdf_render_text.cpp7
-rw-r--r--core/fpdfapi/fpdf_render/include/cpdf_progressiverenderer.h62
-rw-r--r--core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h68
-rw-r--r--core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h52
-rw-r--r--core/fpdfapi/fpdf_render/include/cpdf_textrenderer.h77
-rw-r--r--core/fpdfapi/fpdf_render/render_int.h7
-rw-r--r--core/fpdfapi/include/cpdf_modulemgr.h (renamed from core/include/fpdfapi/fpdf_module.h)45
-rw-r--r--core/fpdfapi/ipdf_pagemodule.h28
-rw-r--r--core/fpdfapi/ipdf_rendermodule.h29
-rw-r--r--core/fpdfdoc/doc_action.cpp4
-rw-r--r--core/fpdfdoc/doc_annot.cpp10
-rw-r--r--core/fpdfdoc/doc_ap.cpp6
-rw-r--r--core/fpdfdoc/doc_basic.cpp4
-rw-r--r--core/fpdfdoc/doc_basic_unittest.cpp4
-rw-r--r--core/fpdfdoc/doc_bookmark.cpp7
-rw-r--r--core/fpdfdoc/doc_form.cpp9
-rw-r--r--core/fpdfdoc/doc_formcontrol.cpp7
-rw-r--r--core/fpdfdoc/doc_formfield.cpp12
-rw-r--r--core/fpdfdoc/doc_link.cpp3
-rw-r--r--core/fpdfdoc/doc_metadata.cpp4
-rw-r--r--core/fpdfdoc/doc_ocg.cpp4
-rw-r--r--core/fpdfdoc/doc_tagged.cpp8
-rw-r--r--core/fpdfdoc/doc_utils.cpp6
-rw-r--r--core/fpdfdoc/doc_utils.h2
-rw-r--r--core/fpdfdoc/doc_viewerPreferences.cpp2
-rw-r--r--core/fpdftext/fpdf_text_int.cpp5
-rw-r--r--core/fxcodec/jbig2/JBig2_BitStream.cpp4
-rw-r--r--core/fxcodec/jbig2/JBig2_Context.cpp4
-rw-r--r--core/fxcodec/jbig2/JBig2_Context.h2
-rw-r--r--core/fxge/skia/DEPS3
-rw-r--r--core/include/fpdfapi/fpdf_render.h263
-rw-r--r--core/include/fpdfapi/fpdf_resource.h4
-rw-r--r--core/include/fpdfdoc/fpdf_doc.h12
118 files changed, 893 insertions, 724 deletions
diff --git a/core/fpdfapi/fpdf_basic_module.cpp b/core/fpdfapi/fpdf_basic_module.cpp
index cf843cc4d9..b77d998ed8 100644
--- a/core/fpdfapi/fpdf_basic_module.cpp
+++ b/core/fpdfapi/fpdf_basic_module.cpp
@@ -4,7 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
+
+#include "core/fpdfapi/ipdf_rendermodule.h"
#include "core/include/fxcodec/fx_codec.h"
namespace {
diff --git a/core/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp b/core/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp
index a7d1b17986..51c5b1e365 100644
--- a/core/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp
+++ b/core/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp
@@ -8,7 +8,7 @@
#include "core/fpdfapi/fpdf_cmaps/cmap_int.h"
#include "core/fpdfapi/fpdf_font/font_int.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_resource.h"
#include "core/include/fxcrt/fx_basic.h" // For FX_ArraySize().
diff --git a/core/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp b/core/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
index 4b34235a64..cf29fe7c8e 100644
--- a/core/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
+++ b/core/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
@@ -8,7 +8,7 @@
#include "core/fpdfapi/fpdf_cmaps/cmap_int.h"
#include "core/fpdfapi/fpdf_font/font_int.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_resource.h"
#include "core/include/fxcrt/fx_basic.h" // For FX_ArraySize().
diff --git a/core/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp b/core/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp
index 93c9be6d55..a2146230fe 100644
--- a/core/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp
+++ b/core/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp
@@ -8,7 +8,7 @@
#include "core/fpdfapi/fpdf_cmaps/cmap_int.h"
#include "core/fpdfapi/fpdf_font/font_int.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_resource.h"
#include "core/include/fxcrt/fx_basic.h" // For FX_ArraySize().
diff --git a/core/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp b/core/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp
index e5072104d6..d6932156e5 100644
--- a/core/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp
+++ b/core/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp
@@ -8,7 +8,7 @@
#include "core/fpdfapi/fpdf_cmaps/cmap_int.h"
#include "core/fpdfapi/fpdf_font/font_int.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_resource.h"
#include "core/include/fxcrt/fx_basic.h" // For FX_ArraySize().
diff --git a/core/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp b/core/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp
index eed376db71..d54620d701 100644
--- a/core/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp
+++ b/core/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp
@@ -7,7 +7,7 @@
#include "core/fpdfapi/fpdf_cmaps/cmap_int.h"
#include "core/fpdfapi/fpdf_font/font_int.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_resource.h"
void FPDFAPI_FindEmbeddedCMap(const char* name,
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_content.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_content.cpp
index ad77455949..6010a04369 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_content.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_content.cpp
@@ -4,14 +4,13 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_edit/include/cpdf_creator.h"
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include "core/include/fpdfapi/fpdf_page.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
-#include "core/include/fpdfapi/fpdf_serial.h"
CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& ar, CFX_Matrix& matrix) {
ar << matrix.a << " " << matrix.b << " " << matrix.c << " " << matrix.d << " "
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
index 2dc2e3eb8e..da3c18fc3f 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
@@ -8,17 +8,17 @@
#include <vector>
+#include "core/fpdfapi/fpdf_edit/include/cpdf_creator.h"
#include "core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h"
#include "core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
-#include "core/include/fpdfapi/fpdf_serial.h"
-#include "core/include/fpdfapi/ipdf_crypto_handler.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h"
#include "core/include/fxcrt/fx_ext.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
index 48e42e2a1f..121498ccd2 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
@@ -7,11 +7,12 @@
#include <limits.h>
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
+#include "core/fpdfapi/ipdf_rendermodule.h"
#include "core/include/fpdfapi/fpdf_page.h"
CPDF_Document::CPDF_Document() : CPDF_IndirectObjectHolder(NULL) {
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_image.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
index f3e6a439c2..fec596cdb2 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
@@ -5,15 +5,15 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "core/fpdfapi/fpdf_page/pageint.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/fpdfapi/fpdf_render/cpdf_pagerendercache.h"
#include "core/fpdfapi/fpdf_render/render_int.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_boolean.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_page.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "core/include/fxcodec/fx_codec.h"
CPDF_Dictionary* CPDF_Image::InitJPEG(uint8_t* pData, FX_DWORD size) {
diff --git a/core/include/fpdfapi/fpdf_serial.h b/core/fpdfapi/fpdf_edit/include/cpdf_creator.h
index cb0c290783..5b5671b7e9 100644
--- a/core/include/fpdfapi/fpdf_serial.h
+++ b/core/fpdfapi/fpdf_edit/include/cpdf_creator.h
@@ -4,22 +4,23 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_
-#define CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_
+#ifndef CORE_FPDFAPI_FPDF_EDIT_INCLUDE_CPDF_CREATOR_H_
+#define CORE_FPDFAPI_FPDF_EDIT_INCLUDE_CPDF_CREATOR_H_
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
+class CPDF_Parser;
class CPDF_XRefStream;
class IPDF_CryptoHandler;
-CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj);
-
#define FPDFCREATE_INCREMENTAL 1
#define FPDFCREATE_NO_ORIGINAL 2
#define FPDFCREATE_PROGRESSIVE 4
#define FPDFCREATE_OBJECTSTREAM 8
+CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj);
+
class CPDF_Creator {
public:
CPDF_Creator(CPDF_Document* pDoc);
@@ -30,47 +31,26 @@ class CPDF_Creator {
int32_t Continue(IFX_Pause* pPause = NULL);
FX_BOOL SetFileVersion(int32_t fileVersion = 17);
- protected:
- CPDF_Document* m_pDocument;
-
- CPDF_Parser* m_pParser;
-
- FX_BOOL m_bCompress;
-
- FX_BOOL m_bSecurityChanged;
-
- CPDF_Dictionary* m_pEncryptDict;
- FX_DWORD m_dwEnryptObjNum;
- FX_BOOL m_bEncryptCloned;
-
- FX_BOOL m_bStandardSecurity;
-
- IPDF_CryptoHandler* m_pCryptoHandler;
- FX_BOOL m_bNewCrypto;
-
- FX_BOOL m_bEncryptMetadata;
-
- CPDF_Object* m_pMetadata;
-
- CPDF_XRefStream* m_pXRefStream;
-
- int32_t m_ObjectStreamSize;
+ private:
+ friend class CPDF_ObjectStream;
+ friend class CPDF_XRefStream;
- FX_DWORD m_dwLastObjNum;
bool Create(FX_DWORD flags);
void ResetStandardSecurity();
void Clear();
+
+ void InitOldObjNumOffsets();
+ void InitNewObjNumOffsets();
+ void InitID(FX_BOOL bDefault = TRUE);
+
+ void AppendNewObjNum(FX_DWORD objbum);
+ int32_t AppendObjectNumberToXRef(FX_DWORD objnum);
+
int32_t WriteDoc_Stage1(IFX_Pause* pPause);
int32_t WriteDoc_Stage2(IFX_Pause* pPause);
int32_t WriteDoc_Stage3(IFX_Pause* pPause);
int32_t WriteDoc_Stage4(IFX_Pause* pPause);
- CFX_FileBufferArchive m_File;
-
- FX_FILESIZE m_Offset;
- void InitOldObjNumOffsets();
- void InitNewObjNumOffsets();
- void AppendNewObjNum(FX_DWORD objbum);
int32_t WriteOldIndirectObject(FX_DWORD objnum);
int32_t WriteOldObjs(IFX_Pause* pPause);
int32_t WriteNewObjs(FX_BOOL bIncremental, IFX_Pause* pPause);
@@ -83,12 +63,28 @@ class CPDF_Creator {
int32_t WriteIndirectObjectToStream(FX_DWORD objnum,
const uint8_t* pBuffer,
FX_DWORD dwSize);
- int32_t AppendObjectNumberToXRef(FX_DWORD objnum);
- void InitID(FX_BOOL bDefault = TRUE);
+
int32_t WriteStream(const CPDF_Object* pStream,
FX_DWORD objnum,
IPDF_CryptoHandler* pCrypto);
+ CPDF_Document* m_pDocument;
+ CPDF_Parser* m_pParser;
+ FX_BOOL m_bCompress;
+ FX_BOOL m_bSecurityChanged;
+ CPDF_Dictionary* m_pEncryptDict;
+ FX_DWORD m_dwEnryptObjNum;
+ FX_BOOL m_bEncryptCloned;
+ FX_BOOL m_bStandardSecurity;
+ IPDF_CryptoHandler* m_pCryptoHandler;
+ FX_BOOL m_bNewCrypto;
+ FX_BOOL m_bEncryptMetadata;
+ CPDF_Object* m_pMetadata;
+ CPDF_XRefStream* m_pXRefStream;
+ int32_t m_ObjectStreamSize;
+ FX_DWORD m_dwLastObjNum;
+ CFX_FileBufferArchive m_File;
+ FX_FILESIZE m_Offset;
int32_t m_iStage;
FX_DWORD m_dwFlags;
FX_POSITION m_Pos;
@@ -97,9 +93,6 @@ class CPDF_Creator {
CFX_DWordArray m_NewObjNumArray;
CPDF_Array* m_pIDArray;
int32_t m_FileVersion;
-
- friend class CPDF_ObjectStream;
- friend class CPDF_XRefStream;
};
-#endif // CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_
+#endif // CORE_FPDFAPI_FPDF_EDIT_INCLUDE_CPDF_CREATOR_H_
diff --git a/core/fpdfapi/fpdf_font/fpdf_font.cpp b/core/fpdfapi/fpdf_font/fpdf_font.cpp
index 98411ef0f1..b1db0ebe09 100644
--- a/core/fpdfapi/fpdf_font/fpdf_font.cpp
+++ b/core/fpdfapi/fpdf_font/fpdf_font.cpp
@@ -7,13 +7,13 @@
#include "core/fpdfapi/fpdf_font/font_int.h"
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
#include "core/include/fpdfapi/fpdf_resource.h"
diff --git a/core/fpdfapi/fpdf_font/fpdf_font_charset.cpp b/core/fpdfapi/fpdf_font/fpdf_font_charset.cpp
index a4167914d1..40ec22107b 100644
--- a/core/fpdfapi/fpdf_font/fpdf_font_charset.cpp
+++ b/core/fpdfapi/fpdf_font/fpdf_font_charset.cpp
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include "core/include/fpdfapi/fpdf_page.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
#include "core/include/fpdfapi/fpdf_resource.h"
#include "core/include/fxge/fx_freetype.h"
diff --git a/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp b/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp
index 91fb9fc2ae..321fc593fe 100644
--- a/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp
+++ b/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp
@@ -8,10 +8,10 @@
#include "core/fpdfapi/fpdf_cmaps/cmap_int.h"
#include "core/fpdfapi/fpdf_font/ttgsubtable.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_resource.h"
#include "core/include/fxcrt/fx_ext.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page.cpp b/core/fpdfapi/fpdf_page/fpdf_page.cpp
index 5d4a584349..2cec0928dd 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page.cpp
@@ -8,10 +8,11 @@
#include <algorithm>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
+#include "core/fpdfapi/ipdf_rendermodule.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_colors.cpp b/core/fpdfapi/fpdf_page/fpdf_page_colors.cpp
index f557669a77..040821bc06 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_colors.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_colors.cpp
@@ -10,11 +10,11 @@
#include <algorithm>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fxcodec/fx_codec.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_doc.cpp b/core/fpdfapi/fpdf_page/fpdf_page_doc.cpp
index 76ecdccae3..9da5d1fe00 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_doc.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_doc.cpp
@@ -8,12 +8,15 @@
#include "core/fdrm/crypto/include/fx_crypt.h"
#include "core/fpdfapi/fpdf_font/font_int.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
+#include "core/fpdfapi/ipdf_pagemodule.h"
#include "core/include/fpdfapi/fpdf_page.h"
+namespace {
+
class CPDF_PageModule : public IPDF_PageModule {
public:
CPDF_PageModule()
@@ -48,6 +51,8 @@ class CPDF_PageModule : public IPDF_PageModule {
CPDF_PatternCS m_StockPatternCS;
};
+} // namespace
+
CPDF_ColorSpace* CPDF_PageModule::GetStockCS(int family) {
if (family == PDFCS_DEVICEGRAY) {
return &m_StockGrayCS;
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_func.cpp b/core/fpdfapi/fpdf_page/fpdf_page_func.cpp
index fd37e1d3e4..00ca2d8d18 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_func.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_func.cpp
@@ -12,10 +12,9 @@
#include <utility>
#include <vector>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fxcrt/fx_safe_types.h"
#include "third_party/base/numerics/safe_conversions_impl.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp b/core/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
index 76753d2965..99156411f6 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
@@ -8,14 +8,12 @@
#include <algorithm>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/fpdfapi/fpdf_render/render_int.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "third_party/base/stl_util.h"
namespace {
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_image.cpp b/core/fpdfapi/fpdf_page/fpdf_page_image.cpp
index a88d2b30bd..cd89725de2 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_image.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_image.cpp
@@ -6,8 +6,8 @@
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
index e4cdaba9d0..69ff8da21f 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
@@ -8,16 +8,15 @@
#include <vector>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_edit/include/cpdf_creator.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include "core/include/fpdfapi/fpdf_page.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
-#include "core/include/fpdfapi/fpdf_serial.h"
namespace {
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp b/core/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
index 13c56b4718..36be007b68 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
@@ -8,18 +8,18 @@
#include <limits.h>
+#include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_null.h"
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_boolean.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_null.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_page.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
#include "core/include/fxcodec/fx_codec.h"
#include "core/include/fxcrt/fx_ext.h"
#include "core/include/fxcrt/fx_safe_types.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_path.cpp b/core/fpdfapi/fpdf_page/fpdf_page_path.cpp
index c2b6f13ca0..07c6ae1a80 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_path.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_path.cpp
@@ -6,7 +6,6 @@
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/fpdf_module.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_pattern.cpp b/core/fpdfapi/fpdf_page/fpdf_page_pattern.cpp
index 6bb64292a3..7e22661624 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_pattern.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_pattern.cpp
@@ -8,9 +8,9 @@
#include <algorithm>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/include/fpdfapi/fpdf_page.h"
namespace {
diff --git a/core/fpdfapi/fpdf_parser/cfdf_document.cpp b/core/fpdfapi/fpdf_parser/cfdf_document.cpp
index fd144a10a9..dec8fbdfaf 100644
--- a/core/fpdfapi/fpdf_parser/cfdf_document.cpp
+++ b/core/fpdfapi/fpdf_parser/cfdf_document.cpp
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cfdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cfdf_document.h"
+#include "core/fpdfapi/fpdf_edit/include/cpdf_creator.h"
#include "core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/fpdf_serial.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
CFDF_Document::CFDF_Document() : CPDF_IndirectObjectHolder(NULL) {
m_pRootDict = NULL;
diff --git a/core/fpdfapi/fpdf_parser/cpdf_array.cpp b/core/fpdfapi/fpdf_parser/cpdf_array.cpp
index 3b21a45ae2..acd39a9390 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_array.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_array.cpp
@@ -4,13 +4,13 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
CPDF_Array::CPDF_Array() {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_boolean.cpp b/core/fpdfapi/fpdf_parser/cpdf_boolean.cpp
index 75f2203954..cd7ed32a96 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_boolean.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_boolean.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_boolean.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
CPDF_Boolean::CPDF_Boolean() : m_bValue(false) {}
diff --git a/core/include/fpdfapi/cpdf_boolean.h b/core/fpdfapi/fpdf_parser/cpdf_boolean.h
index 0621c0441c..9a35153a20 100644
--- a/core/include/fpdfapi/cpdf_boolean.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_boolean.h
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_BOOLEAN_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_BOOLEAN_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_CPDF_BOOLEAN_H_
+#define CORE_FPDFAPI_FPDF_PARSER_CPDF_BOOLEAN_H_
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
@@ -32,4 +32,4 @@ class CPDF_Boolean : public CPDF_Object {
FX_BOOL m_bValue;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_BOOLEAN_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_CPDF_BOOLEAN_H_
diff --git a/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp b/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
index 93916cba8b..1f7f70fa91 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
@@ -4,15 +4,18 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_parser/include/ipdf_data_avail.h"
+
#include "core/fpdfapi/fpdf_parser/cpdf_data_avail.h"
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fxcrt/fx_ext.h"
#include "core/include/fxcrt/fx_safe_types.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_data_avail.h b/core/fpdfapi/fpdf_parser/cpdf_data_avail.h
index 2a6995914c..c30093dd58 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_data_avail.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_data_avail.h
@@ -9,8 +9,8 @@
#include "core/fpdfapi/fpdf_parser/cpdf_hint_tables.h"
#include "core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
-#include "core/include/fpdfapi/ipdf_data_avail.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/ipdf_data_avail.h"
#include "core/include/fxcrt/fx_basic.h"
class CPDF_Dictionary;
diff --git a/core/fpdfapi/fpdf_parser/cpdf_dictionary.cpp b/core/fpdfapi/fpdf_parser/cpdf_dictionary.cpp
index 864cd59744..0155c43bb8 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_dictionary.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_dictionary.cpp
@@ -4,15 +4,15 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_boolean.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+
+#include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
#include "third_party/base/stl_util.h"
CPDF_Dictionary::CPDF_Dictionary() {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_document.cpp b/core/fpdfapi/fpdf_parser/cpdf_document.cpp
index c6bdcddfbe..6a6e40f1c6 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_document.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_document.cpp
@@ -4,16 +4,17 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include <set>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
#include "core/fpdfapi/fpdf_render/render_int.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
+#include "core/fpdfapi/ipdf_rendermodule.h"
#include "core/include/fxge/fx_font.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
index 1dc015f34f..166c68d51a 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
@@ -7,10 +7,10 @@
#include "core/fpdfapi/fpdf_parser/cpdf_hint_tables.h"
#include "core/fpdfapi/fpdf_parser/cpdf_data_avail.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
#include "core/include/fxcrt/fx_safe_types.h"
namespace {
diff --git a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h
index a9a89b48bf..325f57611f 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h
@@ -9,7 +9,7 @@
#include <vector>
-#include "core/include/fpdfapi/ipdf_data_avail.h"
+#include "core/fpdfapi/fpdf_parser/include/ipdf_data_avail.h"
#include "core/include/fxcrt/fx_basic.h"
#include "core/include/fxcrt/fx_stream.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp b/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp
index b1606f9857..1de1ef2252 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp
@@ -4,9 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
-#include "core/include/fpdfapi/cpdf_object.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
+
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
CPDF_IndirectObjectHolder::CPDF_IndirectObjectHolder(CPDF_Parser* pParser)
: m_pParser(pParser), m_LastObjNum(0) {
diff --git a/core/fpdfapi/fpdf_parser/cpdf_name.cpp b/core/fpdfapi/fpdf_parser/cpdf_name.cpp
index 03d523db19..db37754b66 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_name.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_name.cpp
@@ -4,9 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
CPDF_Name::CPDF_Name(const CFX_ByteString& str) : m_Name(str) {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_null.cpp b/core/fpdfapi/fpdf_parser/cpdf_null.cpp
index c18449d08f..c74daf300f 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_null.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_null.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_null.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_null.h"
CPDF_Null::CPDF_Null() {}
diff --git a/core/include/fpdfapi/cpdf_null.h b/core/fpdfapi/fpdf_parser/cpdf_null.h
index 654c2a4029..ae33bb0256 100644
--- a/core/include/fpdfapi/cpdf_null.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_null.h
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_NULL_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_NULL_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_CPDF_NULL_H_
+#define CORE_FPDFAPI_FPDF_PARSER_CPDF_NULL_H_
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
class CPDF_Null : public CPDF_Object {
public:
@@ -18,4 +18,4 @@ class CPDF_Null : public CPDF_Object {
CPDF_Object* Clone(FX_BOOL bDirect = FALSE) const override;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_NULL_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_CPDF_NULL_H_
diff --git a/core/fpdfapi/fpdf_parser/cpdf_number.cpp b/core/fpdfapi/fpdf_parser/cpdf_number.cpp
index ddc7aa11a2..d2f0503bc1 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_number.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_number.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
CPDF_Number::CPDF_Number() : m_bInteger(TRUE), m_Integer(0) {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_object.cpp b/core/fpdfapi/fpdf_parser/cpdf_object.cpp
index 208bca8e6c..ad00cc113b 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_object.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_object.cpp
@@ -4,15 +4,15 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include <algorithm>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include "core/include/fxcrt/fx_string.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp b/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp
index 971bdaf20e..529b6c4fd3 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp
@@ -2,21 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_boolean.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_null.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_null.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
#include <memory>
#include <string>
#include <vector>
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
#include "core/include/fxcrt/fx_basic.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp
index b57405f092..c9b8583d16 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp
@@ -4,21 +4,21 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
#include <vector>
#include "core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h"
#include "core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h"
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
-#include "core/include/fpdfapi/ipdf_crypto_handler.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h"
#include "core/include/fxcrt/fx_ext.h"
#include "core/include/fxcrt/fx_safe_types.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp b/core/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp
index 2d1dcd4b5c..b343618f28 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp
@@ -6,7 +6,7 @@
#include <string>
#include "core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
#include "core/include/fxcrt/fx_ext.h"
#include "core/include/fxcrt/fx_stream.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_reference.cpp b/core/fpdfapi/fpdf_parser/cpdf_reference.cpp
index 4aede7d07a..6aa8fe9b4a 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_reference.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_reference.cpp
@@ -4,9 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
CPDF_Reference::CPDF_Reference(CPDF_IndirectObjectHolder* pDoc, int objnum)
: m_pObjList(pDoc), m_RefObjNum(objnum) {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_simple_parser.cpp b/core/fpdfapi/fpdf_parser/cpdf_simple_parser.cpp
index 90d4e0b5ab..a13fb0f365 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_simple_parser.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_simple_parser.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_simple_parser_unittest.cpp b/core/fpdfapi/fpdf_parser/cpdf_simple_parser_unittest.cpp
index a9acff4155..cfb0b33279 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_simple_parser_unittest.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_simple_parser_unittest.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
#include <string>
diff --git a/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp b/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
index 0be414a135..17ef914c80 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
@@ -9,9 +9,9 @@
#include <time.h>
#include "core/fdrm/crypto/include/fx_crypt.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
-#include "core/include/fpdfapi/ipdf_security_handler.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_security_handler.h"
IPDF_CryptoHandler::~IPDF_CryptoHandler() {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h b/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h
index 28b7503f6e..c40fa7d0a4 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h
@@ -7,7 +7,7 @@
#ifndef CORE_FPDFAPI_FPDF_PARSER_CPDF_STANDARD_CRYPTO_HANDLER_H_
#define CORE_FPDFAPI_FPDF_PARSER_CPDF_STANDARD_CRYPTO_HANDLER_H_
-#include "core/include/fpdfapi/ipdf_crypto_handler.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h"
class CPDF_StandardCryptoHandler : public IPDF_CryptoHandler {
public:
diff --git a/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.cpp b/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.cpp
index 6da4cb1ff6..14e7ed65d3 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.cpp
@@ -10,10 +10,10 @@
#include "core/fdrm/crypto/include/fx_crypt.h"
#include "core/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_object.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
namespace {
diff --git a/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h b/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h
index 3341ec391c..7acaabcaef 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_standard_security_handler.h
@@ -7,7 +7,7 @@
#ifndef CORE_FPDFAPI_FPDF_PARSER_CPDF_STANDARD_SECURITY_HANDLER_H_
#define CORE_FPDFAPI_FPDF_PARSER_CPDF_STANDARD_SECURITY_HANDLER_H_
-#include "core/include/fpdfapi/ipdf_security_handler.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_security_handler.h"
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_stream.cpp b/core/fpdfapi/fpdf_parser/cpdf_stream.cpp
index 7faf9ddd44..72ecb7e9de 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_stream.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_stream.cpp
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
CPDF_Stream::CPDF_Stream(uint8_t* pData, FX_DWORD size, CPDF_Dictionary* pDict)
: m_pDict(pDict),
diff --git a/core/fpdfapi/fpdf_parser/cpdf_stream_acc.cpp b/core/fpdfapi/fpdf_parser/cpdf_stream_acc.cpp
index 51ab1c0134..f10e33758c 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_stream_acc.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_stream_acc.cpp
@@ -4,10 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
CPDF_StreamAcc::CPDF_StreamAcc()
: m_pData(nullptr),
diff --git a/core/fpdfapi/fpdf_parser/cpdf_string.cpp b/core/fpdfapi/fpdf_parser/cpdf_string.cpp
index 1d0bf0b829..9a88e937ab 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_string.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_string.cpp
@@ -4,9 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
CPDF_String::CPDF_String() : m_bHex(FALSE) {}
diff --git a/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.cpp b/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.cpp
index f5464cc21e..9e5cb9d38a 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.cpp
@@ -8,19 +8,19 @@
#include <vector>
+#include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
+#include "core/fpdfapi/fpdf_parser/cpdf_null.h"
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_boolean.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_null.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_module.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
-#include "core/include/fpdfapi/ipdf_crypto_handler.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fxcrt/fx_ext.h"
#include "third_party/base/numerics/safe_math.h"
diff --git a/core/fpdfapi/fpdf_parser/cpdf_syntax_parser_unittest.cpp b/core/fpdfapi/fpdf_parser/cpdf_syntax_parser_unittest.cpp
index f501c01715..53a01e0224 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_syntax_parser_unittest.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_syntax_parser_unittest.cpp
@@ -6,7 +6,7 @@
#include <string>
#include "core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h"
-#include "core/include/fpdfapi/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
#include "core/include/fxcrt/fx_ext.h"
#include "core/include/fxcrt/fx_stream.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
index eeb365d0e6..f7fc3099fc 100644
--- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
+++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
@@ -4,15 +4,15 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include <limits.h>
#include <vector>
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fxcodec/fx_codec.h"
#include "core/include/fxcrt/fx_ext.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp
index 2412f4310c..9e8d3344c3 100644
--- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp
+++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include <cstring>
#include <string>
diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp
index e00759da7a..81f8cae354 100644
--- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp
+++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
index 3df220b79e..ffd4388dcc 100644
--- a/core/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
+++ b/core/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
@@ -6,14 +6,14 @@
#include "core/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
#include "core/include/fxcrt/fx_ext.h"
// Indexed by 8-bit character code, contains either:
diff --git a/core/include/fpdfapi/cfdf_document.h b/core/fpdfapi/fpdf_parser/include/cfdf_document.h
index 85852cd8cf..bd68789a14 100644
--- a/core/include/fpdfapi/cfdf_document.h
+++ b/core/fpdfapi/fpdf_parser/include/cfdf_document.h
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CFDF_DOCUMENT_H_
-#define CORE_INCLUDE_FPDFAPI_CFDF_DOCUMENT_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CFDF_DOCUMENT_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CFDF_DOCUMENT_H_
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_basic.h"
class CPDF_Dictionary;
@@ -33,4 +33,4 @@ class CFDF_Document : public CPDF_IndirectObjectHolder {
FX_BOOL m_bOwnFile;
};
-#endif // CORE_INCLUDE_FPDFAPI_CFDF_DOCUMENT_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CFDF_DOCUMENT_H_
diff --git a/core/include/fpdfapi/cpdf_array.h b/core/fpdfapi/fpdf_parser/include/cpdf_array.h
index 8e47d9fef5..a166454eba 100644
--- a/core/include/fpdfapi/cpdf_array.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_array.h
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_ARRAY_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_ARRAY_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_ARRAY_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_ARRAY_H_
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_basic.h"
#include "core/include/fxcrt/fx_coordinates.h"
@@ -62,4 +62,4 @@ class CPDF_Array : public CPDF_Object {
CFX_ArrayTemplate<CPDF_Object*> m_Objects;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_ARRAY_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_ARRAY_H_
diff --git a/core/include/fpdfapi/cpdf_dictionary.h b/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h
index e547f75729..896db62cc2 100644
--- a/core/include/fpdfapi/cpdf_dictionary.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h
@@ -4,12 +4,12 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_DICTIONARY_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_DICTIONARY_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_DICTIONARY_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_DICTIONARY_H_
#include <map>
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_coordinates.h"
#include "core/include/fxcrt/fx_string.h"
@@ -96,4 +96,4 @@ class CPDF_Dictionary : public CPDF_Object {
std::map<CFX_ByteString, CPDF_Object*> m_Map;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_DICTIONARY_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_DICTIONARY_H_
diff --git a/core/include/fpdfapi/cpdf_document.h b/core/fpdfapi/fpdf_parser/include/cpdf_document.h
index af7e2ab787..56e41b4328 100644
--- a/core/include/fpdfapi/cpdf_document.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_document.h
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_DOCUMENT_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_DOCUMENT_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_DOCUMENT_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_DOCUMENT_H_
-#include "core/include/fpdfapi/cpdf_indirect_object_holder.h"
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_basic.h"
class CFX_Font;
@@ -134,4 +134,4 @@ class CPDF_Document : public CFX_PrivateData, public CPDF_IndirectObjectHolder {
CPDF_DocRenderData* m_pDocRender;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_DOCUMENT_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_DOCUMENT_H_
diff --git a/core/include/fpdfapi/cpdf_indirect_object_holder.h b/core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h
index 9f12323669..9fa6770c90 100644
--- a/core/include/fpdfapi/cpdf_indirect_object_holder.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_indirect_object_holder.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_INDIRECT_OBJECT_HOLDER_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_INDIRECT_OBJECT_HOLDER_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_INDIRECT_OBJECT_HOLDER_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_INDIRECT_OBJECT_HOLDER_H_
#include <map>
@@ -41,4 +41,4 @@ class CPDF_IndirectObjectHolder {
std::map<FX_DWORD, CPDF_Object*> m_IndirectObjs;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_INDIRECT_OBJECT_HOLDER_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_INDIRECT_OBJECT_HOLDER_H_
diff --git a/core/include/fpdfapi/cpdf_name.h b/core/fpdfapi/fpdf_parser/include/cpdf_name.h
index c956244112..62fd5c14a8 100644
--- a/core/include/fpdfapi/cpdf_name.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_name.h
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_NAME_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_NAME_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_NAME_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_NAME_H_
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
class CPDF_Name : public CPDF_Object {
public:
@@ -32,4 +32,4 @@ class CPDF_Name : public CPDF_Object {
CFX_ByteString m_Name;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_NAME_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_NAME_H_
diff --git a/core/include/fpdfapi/cpdf_number.h b/core/fpdfapi/fpdf_parser/include/cpdf_number.h
index 8bab95ebc2..89586352f6 100644
--- a/core/include/fpdfapi/cpdf_number.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_number.h
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_NUMBER_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_NUMBER_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_NUMBER_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_NUMBER_H_
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
@@ -41,4 +41,4 @@ class CPDF_Number : public CPDF_Object {
};
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_NUMBER_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_NUMBER_H_
diff --git a/core/include/fpdfapi/cpdf_object.h b/core/fpdfapi/fpdf_parser/include/cpdf_object.h
index 97499d140c..9149510536 100644
--- a/core/include/fpdfapi/cpdf_object.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_object.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_OBJECT_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_OBJECT_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_OBJECT_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_OBJECT_H_
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
@@ -158,4 +158,4 @@ inline const CPDF_Stream* ToStream(const CPDF_Object* obj) {
return obj ? obj->AsStream() : nullptr;
}
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_OBJECT_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_OBJECT_H_
diff --git a/core/include/fpdfapi/cpdf_parser.h b/core/fpdfapi/fpdf_parser/include/cpdf_parser.h
index f2d7343e87..d5c5216b9c 100644
--- a/core/include/fpdfapi/cpdf_parser.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_parser.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_PARSER_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_PARSER_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
#include <map>
#include <memory>
@@ -170,4 +170,4 @@ class CPDF_Parser {
};
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_PARSER_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
diff --git a/core/include/fpdfapi/cpdf_reference.h b/core/fpdfapi/fpdf_parser/include/cpdf_reference.h
index 2444aad4fd..f44f1e437b 100644
--- a/core/include/fpdfapi/cpdf_reference.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_reference.h
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_REFERENCE_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_REFERENCE_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_REFERENCE_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_REFERENCE_H_
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
class CPDF_IndirectObjectHolder;
@@ -48,4 +48,4 @@ class CPDF_Reference : public CPDF_Object {
FX_DWORD m_RefObjNum;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_REFERENCE_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_REFERENCE_H_
diff --git a/core/include/fpdfapi/cpdf_simple_parser.h b/core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h
index dc1441d18e..a2a39f10ea 100644
--- a/core/include/fpdfapi/cpdf_simple_parser.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_SIMPLE_PARSER_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_SIMPLE_PARSER_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_SIMPLE_PARSER_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_SIMPLE_PARSER_H_
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
@@ -32,4 +32,4 @@ class CPDF_SimpleParser {
FX_DWORD m_dwCurPos;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_SIMPLE_PARSER_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_SIMPLE_PARSER_H_
diff --git a/core/include/fpdfapi/cpdf_stream.h b/core/fpdfapi/fpdf_parser/include/cpdf_stream.h
index 579a3a97be..43853839a1 100644
--- a/core/include/fpdfapi/cpdf_stream.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_stream.h
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_STREAM_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_STREAM_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STREAM_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STREAM_H_
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_stream.h"
class CPDF_Stream : public CPDF_Object {
@@ -58,4 +58,4 @@ class CPDF_Stream : public CPDF_Object {
};
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_STREAM_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STREAM_H_
diff --git a/core/include/fpdfapi/cpdf_stream_acc.h b/core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h
index 77ad272de3..6920579c8e 100644
--- a/core/include/fpdfapi/cpdf_stream_acc.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_STREAM_ACC_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_STREAM_ACC_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STREAM_ACC_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STREAM_ACC_H_
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
@@ -43,4 +43,4 @@ class CPDF_StreamAcc {
uint8_t* m_pSrcData;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_STREAM_ACC_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STREAM_ACC_H_
diff --git a/core/include/fpdfapi/cpdf_string.h b/core/fpdfapi/fpdf_parser/include/cpdf_string.h
index 895513813c..088fe6e28d 100644
--- a/core/include/fpdfapi/cpdf_string.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_string.h
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_CPDF_STRING_H_
-#define CORE_INCLUDE_FPDFAPI_CPDF_STRING_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STRING_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STRING_H_
-#include "core/include/fpdfapi/cpdf_object.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/include/fxcrt/fx_string.h"
#include "core/include/fxcrt/fx_system.h"
@@ -37,4 +37,4 @@ class CPDF_String : public CPDF_Object {
FX_BOOL m_bHex;
};
-#endif // CORE_INCLUDE_FPDFAPI_CPDF_STRING_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_STRING_H_
diff --git a/core/include/fpdfapi/fpdf_parser_decode.h b/core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h
index 1217c7ea21..6a17ac5332 100644
--- a/core/include/fpdfapi/fpdf_parser_decode.h
+++ b/core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_FPDF_PARSER_DECODE_H_
-#define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_DECODE_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_
#include "core/include/fxcrt/fx_basic.h"
@@ -73,4 +73,4 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf,
FX_DWORD estimated_size,
FX_BOOL bImageAcc);
-#endif // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_DECODE_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_
diff --git a/core/include/fpdfapi/ipdf_data_avail.h b/core/fpdfapi/fpdf_parser/include/ipdf_data_avail.h
index e2b22eaf2a..90d137c34a 100644
--- a/core/include/fpdfapi/ipdf_data_avail.h
+++ b/core/fpdfapi/fpdf_parser/include/ipdf_data_avail.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_IPDF_DATA_AVAIL_H_
-#define CORE_INCLUDE_FPDFAPI_IPDF_DATA_AVAIL_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_IPDF_DATA_AVAIL_H_
+#define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_IPDF_DATA_AVAIL_H_
#include "core/include/fxcrt/fx_stream.h"
#include "core/include/fxcrt/fx_system.h"
@@ -77,4 +77,4 @@ class IPDF_DataAvail {
IFX_FileRead* m_pFileRead;
};
-#endif // CORE_INCLUDE_FPDFAPI_IPDF_DATA_AVAIL_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_IPDF_DATA_AVAIL_H_
diff --git a/core/include/fpdfapi/ipdf_crypto_handler.h b/core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h
index 6a09a02278..a1000760f3 100644
--- a/core/include/fpdfapi/ipdf_crypto_handler.h
+++ b/core/fpdfapi/fpdf_parser/ipdf_crypto_handler.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_IPDF_CRYPTO_HANDLER_H_
-#define CORE_INCLUDE_FPDFAPI_IPDF_CRYPTO_HANDLER_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_IPDF_CRYPTO_HANDLER_H_
+#define CORE_FPDFAPI_FPDF_PARSER_IPDF_CRYPTO_HANDLER_H_
#include "core/include/fxcrt/fx_basic.h"
@@ -42,4 +42,4 @@ class IPDF_CryptoHandler {
void Decrypt(FX_DWORD objnum, FX_DWORD version, CFX_ByteString& str);
};
-#endif // CORE_INCLUDE_FPDFAPI_IPDF_CRYPTO_HANDLER_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_IPDF_CRYPTO_HANDLER_H_
diff --git a/core/fpdfapi/fpdf_parser/ipdf_occontext.cpp b/core/fpdfapi/fpdf_parser/ipdf_occontext.cpp
new file mode 100644
index 0000000000..56a2412d9a
--- /dev/null
+++ b/core/fpdfapi/fpdf_parser/ipdf_occontext.cpp
@@ -0,0 +1,25 @@
+// 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
+
+#include "core/fpdfapi/fpdf_parser/ipdf_occontext.h"
+
+#include "core/include/fpdfapi/fpdf_pageobj.h"
+
+IPDF_OCContext::~IPDF_OCContext() {}
+
+FX_BOOL IPDF_OCContext::CheckObjectVisible(const CPDF_PageObject* pObj) {
+ const CPDF_ContentMarkData* pData = pObj->m_ContentMark;
+ int nItems = pData->CountItems();
+ for (int i = 0; i < nItems; i++) {
+ const CPDF_ContentMarkItem& item = pData->GetItem(i);
+ if (item.GetName() == "OC" &&
+ item.GetParamType() == CPDF_ContentMarkItem::PropertiesDict &&
+ !CheckOCGVisible(item.GetParam())) {
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
diff --git a/core/fpdfapi/fpdf_parser/ipdf_occontext.h b/core/fpdfapi/fpdf_parser/ipdf_occontext.h
new file mode 100644
index 0000000000..6c410037e2
--- /dev/null
+++ b/core/fpdfapi/fpdf_parser/ipdf_occontext.h
@@ -0,0 +1,23 @@
+// 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_PARSER_IPDF_OCCONTEXT_H_
+#define CORE_FPDFAPI_FPDF_PARSER_IPDF_OCCONTEXT_H_
+
+#include "core/include/fxcrt/fx_system.h"
+
+class CPDF_Dictionary;
+class CPDF_PageObject;
+
+class IPDF_OCContext {
+ public:
+ virtual ~IPDF_OCContext();
+
+ virtual FX_BOOL CheckOCGVisible(const CPDF_Dictionary* pOCG) = 0;
+ FX_BOOL CheckObjectVisible(const CPDF_PageObject* pObj);
+};
+
+#endif // CORE_FPDFAPI_FPDF_PARSER_IPDF_OCCONTEXT_H_
diff --git a/core/include/fpdfapi/ipdf_security_handler.h b/core/fpdfapi/fpdf_parser/ipdf_security_handler.h
index 4dce7c6963..c73c4c5081 100644
--- a/core/include/fpdfapi/ipdf_security_handler.h
+++ b/core/fpdfapi/fpdf_parser/ipdf_security_handler.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_INCLUDE_FPDFAPI_IPDF_SECURITY_HANDLER_H_
-#define CORE_INCLUDE_FPDFAPI_IPDF_SECURITY_HANDLER_H_
+#ifndef CORE_FPDFAPI_FPDF_PARSER_IPDF_SECURITY_HANDLER_H_
+#define CORE_FPDFAPI_FPDF_PARSER_IPDF_SECURITY_HANDLER_H_
#include "core/include/fxcrt/fx_system.h"
@@ -33,4 +33,4 @@ class IPDF_SecurityHandler {
virtual IPDF_CryptoHandler* CreateCryptoHandler() = 0;
};
-#endif // CORE_INCLUDE_FPDFAPI_IPDF_SECURITY_HANDLER_H_
+#endif // CORE_FPDFAPI_FPDF_PARSER_IPDF_SECURITY_HANDLER_H_
diff --git a/core/fpdfapi/fpdf_render/cpdf_pagerendercache.h b/core/fpdfapi/fpdf_render/cpdf_pagerendercache.h
new file mode 100644
index 0000000000..26d71efcab
--- /dev/null
+++ b/core/fpdfapi/fpdf_render/cpdf_pagerendercache.h
@@ -0,0 +1,77 @@
+// 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_RENDER_CPDF_PAGERENDERCACHE_H_
+#define CORE_FPDFAPI_FPDF_RENDER_CPDF_PAGERENDERCACHE_H_
+
+#include <map>
+
+#include "core/include/fxcrt/fx_system.h"
+
+class CPDF_Stream;
+class CPDF_ImageCacheEntry;
+class CPDF_Page;
+class CPDF_RenderStatus;
+class CFX_DIBitmap;
+class CFX_DIBSource;
+class IFX_Pause;
+
+class CPDF_PageRenderCache {
+ public:
+ explicit CPDF_PageRenderCache(CPDF_Page* pPage)
+ : m_pPage(pPage),
+ m_pCurImageCacheEntry(nullptr),
+ m_nTimeCount(0),
+ m_nCacheSize(0),
+ m_bCurFindCache(FALSE) {}
+ ~CPDF_PageRenderCache();
+ void ClearImageData();
+
+ FX_DWORD EstimateSize();
+ void CacheOptimization(int32_t dwLimitCacheSize);
+ FX_DWORD GetTimeCount() const { return m_nTimeCount; }
+ void SetTimeCount(FX_DWORD dwTimeCount) { m_nTimeCount = dwTimeCount; }
+
+ void GetCachedBitmap(CPDF_Stream* pStream,
+ CFX_DIBSource*& pBitmap,
+ CFX_DIBSource*& pMask,
+ FX_DWORD& MatteColor,
+ FX_BOOL bStdCS = FALSE,
+ FX_DWORD GroupFamily = 0,
+ FX_BOOL bLoadMask = FALSE,
+ CPDF_RenderStatus* pRenderStatus = NULL,
+ int32_t downsampleWidth = 0,
+ int32_t downsampleHeight = 0);
+
+ void ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap);
+ void ClearImageCacheEntry(CPDF_Stream* pStream);
+ CPDF_Page* GetPage() const { return m_pPage; }
+ CPDF_ImageCacheEntry* GetCurImageCacheEntry() const {
+ return m_pCurImageCacheEntry;
+ }
+
+ FX_BOOL StartGetCachedBitmap(CPDF_Stream* pStream,
+ FX_BOOL bStdCS = FALSE,
+ FX_DWORD GroupFamily = 0,
+ FX_BOOL bLoadMask = FALSE,
+ CPDF_RenderStatus* pRenderStatus = NULL,
+ int32_t downsampleWidth = 0,
+ int32_t downsampleHeight = 0);
+
+ FX_BOOL Continue(IFX_Pause* pPause);
+
+ protected:
+ friend class CPDF_Page;
+
+ CPDF_Page* const m_pPage;
+ CPDF_ImageCacheEntry* m_pCurImageCacheEntry;
+ std::map<CPDF_Stream*, CPDF_ImageCacheEntry*> m_ImageCache;
+ FX_DWORD m_nTimeCount;
+ FX_DWORD m_nCacheSize;
+ FX_BOOL m_bCurFindCache;
+};
+
+#endif // CORE_FPDFAPI_FPDF_RENDER_CPDF_PAGERENDERCACHE_H_
diff --git a/core/fpdfapi/fpdf_render/fpdf_render.cpp b/core/fpdfapi/fpdf_render/fpdf_render.cpp
index 2b82ed4cc6..94398df296 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render.cpp
@@ -7,11 +7,16 @@
#include "core/fpdfapi/fpdf_render/render_int.h"
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
-#include "core/include/fpdfapi/fpdf_render.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_occontext.h"
+#include "core/fpdfapi/fpdf_render/cpdf_pagerendercache.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_progressiverenderer.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_textrenderer.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
+#include "core/fpdfapi/ipdf_rendermodule.h"
#include "core/include/fxge/fx_ge.h"
CPDF_DocRenderData::CPDF_DocRenderData(CPDF_Document* pPDFDoc)
@@ -1322,16 +1327,3 @@ void CPDF_ScaledRenderBuffer::OutputToDevice() {
m_Rect.top, m_Rect.Width(), m_Rect.Height());
}
}
-FX_BOOL IPDF_OCContext::CheckObjectVisible(const CPDF_PageObject* pObj) {
- const CPDF_ContentMarkData* pData = pObj->m_ContentMark;
- int nItems = pData->CountItems();
- for (int i = 0; i < nItems; i++) {
- const CPDF_ContentMarkItem& item = pData->GetItem(i);
- if (item.GetName() == "OC" &&
- item.GetParamType() == CPDF_ContentMarkItem::PropertiesDict &&
- !CheckOCGVisible(item.GetParam())) {
- return FALSE;
- }
- }
- return TRUE;
-}
diff --git a/core/fpdfapi/fpdf_render/fpdf_render_cache.cpp b/core/fpdfapi/fpdf_render/fpdf_render_cache.cpp
index f5ab7e0da5..fbe07842d9 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render_cache.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render_cache.cpp
@@ -4,12 +4,13 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/fpdfapi/fpdf_render/render_int.h"
+#include "core/fpdfapi/fpdf_render/cpdf_pagerendercache.h"
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h"
+#include "core/fpdfapi/fpdf_render/render_int.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "core/include/fxge/fx_ge.h"
struct CACHEINFO {
diff --git a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
index 6c235a0258..963ff246d9 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
@@ -10,12 +10,14 @@
#include <vector>
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_occontext.h"
+#include "core/fpdfapi/fpdf_render/cpdf_pagerendercache.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "core/include/fxcodec/fx_codec.h"
#include "core/include/fxcrt/fx_safe_types.h"
#include "core/include/fxge/fx_ge.h"
diff --git a/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
index f1a06c4fc7..905e7a60c6 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
@@ -11,12 +11,12 @@
#include <vector>
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/fpdf_module.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_render/cpdf_pagerendercache.h"
+#include "core/fpdfapi/include/cpdf_modulemgr.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "core/include/fxcodec/fx_codec.h"
#include "core/include/fxcrt/fx_safe_types.h"
#include "core/include/fxge/fx_ge.h"
diff --git a/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp b/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp
index 5ad8db1646..2e259126cf 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render_pattern.cpp
@@ -7,10 +7,11 @@
#include "core/fpdfapi/fpdf_render/render_int.h"
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "core/include/fxge/fx_ge.h"
#define SHADING_STEPS 256
diff --git a/core/fpdfapi/fpdf_render/fpdf_render_text.cpp b/core/fpdfapi/fpdf_render/fpdf_render_text.cpp
index 24b77ed368..4db224939d 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render_text.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render_text.cpp
@@ -7,10 +7,11 @@
#include "core/fpdfapi/fpdf_render/render_int.h"
#include "core/fpdfapi/fpdf_page/pageint.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_textrenderer.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
#include "core/include/fxge/fx_ge.h"
CPDF_Type3Cache::~CPDF_Type3Cache() {
diff --git a/core/fpdfapi/fpdf_render/include/cpdf_progressiverenderer.h b/core/fpdfapi/fpdf_render/include/cpdf_progressiverenderer.h
new file mode 100644
index 0000000000..eddd4b0c83
--- /dev/null
+++ b/core/fpdfapi/fpdf_render/include/cpdf_progressiverenderer.h
@@ -0,0 +1,62 @@
+// 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_RENDER_INCLUDE_CPDF_PROGRESSIVERENDERER_H_
+#define CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_PROGRESSIVERENDERER_H_
+
+#include <memory>
+
+#include "core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h"
+#include "core/include/fpdfapi/fpdf_page.h"
+#include "core/include/fxcrt/fx_coordinates.h"
+#include "core/include/fxcrt/fx_system.h"
+
+class CPDF_RenderOptions;
+class CPDF_RenderStatus;
+class CFX_RenderDevice;
+class IFX_Pause;
+
+class CPDF_ProgressiveRenderer {
+ public:
+ // Must match FDF_RENDER_* definitions in public/fpdf_progressive.h, but
+ // cannot #include that header. fpdfsdk/fpdf_progressive.cpp has
+ // static_asserts to make sure the two sets of values match.
+ enum Status {
+ Ready, // FPDF_RENDER_READER
+ ToBeContinued, // FPDF_RENDER_TOBECOUNTINUED
+ Done, // FPDF_RENDER_DONE
+ Failed // FPDF_RENDER_FAILED
+ };
+
+ static int ToFPDFStatus(Status status) { return static_cast<int>(status); }
+
+ CPDF_ProgressiveRenderer(CPDF_RenderContext* pContext,
+ CFX_RenderDevice* pDevice,
+ const CPDF_RenderOptions* pOptions);
+ ~CPDF_ProgressiveRenderer();
+
+ Status GetStatus() const { return m_Status; }
+ void Start(IFX_Pause* pPause);
+ void Continue(IFX_Pause* pPause);
+
+ private:
+ void RenderStep();
+
+ // Maximum page objects to render before checking for pause.
+ static const int kStepLimit = 100;
+
+ Status m_Status;
+ CPDF_RenderContext* const m_pContext;
+ CFX_RenderDevice* const m_pDevice;
+ const CPDF_RenderOptions* const m_pOptions;
+ std::unique_ptr<CPDF_RenderStatus> m_pRenderStatus;
+ CFX_FloatRect m_ClipRect;
+ FX_DWORD m_LayerIndex;
+ CPDF_RenderContext::Layer* m_pCurrentLayer;
+ CPDF_PageObjectList::iterator m_LastObjectRendered;
+};
+
+#endif // CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_PROGRESSIVERENDERER_H_
diff --git a/core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h b/core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h
new file mode 100644
index 0000000000..4c55658163
--- /dev/null
+++ b/core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h
@@ -0,0 +1,68 @@
+// 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_RENDER_INCLUDE_CPDF_RENDERCONTEXT_H_
+#define CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_RENDERCONTEXT_H_
+
+#include "core/include/fxcrt/fx_basic.h"
+#include "core/include/fxcrt/fx_coordinates.h"
+
+class CPDF_Dictionary;
+class CPDF_Document;
+class CPDF_Page;
+class CPDF_PageObject;
+class CPDF_PageObjectHolder;
+class CPDF_PageRenderCache;
+class CPDF_RenderOptions;
+class CFX_DIBitmap;
+class CFX_Matrix;
+class CFX_RenderDevice;
+
+class CPDF_RenderContext {
+ public:
+ class Layer {
+ public:
+ CPDF_PageObjectHolder* m_pObjectHolder;
+ CFX_Matrix m_Matrix;
+ };
+
+ explicit CPDF_RenderContext(CPDF_Page* pPage);
+ CPDF_RenderContext(CPDF_Document* pDoc, CPDF_PageRenderCache* pPageCache);
+ ~CPDF_RenderContext();
+
+ void AppendLayer(CPDF_PageObjectHolder* pObjectHolder,
+ const CFX_Matrix* pObject2Device);
+
+ void Render(CFX_RenderDevice* pDevice,
+ const CPDF_RenderOptions* pOptions,
+ const CFX_Matrix* pFinalMatrix);
+
+ void Render(CFX_RenderDevice* pDevice,
+ const CPDF_PageObject* pStopObj,
+ const CPDF_RenderOptions* pOptions,
+ const CFX_Matrix* pFinalMatrix);
+
+ void GetBackground(CFX_DIBitmap* pBuffer,
+ const CPDF_PageObject* pObj,
+ const CPDF_RenderOptions* pOptions,
+ CFX_Matrix* pFinalMatrix);
+
+ FX_DWORD CountLayers() const { return m_Layers.GetSize(); }
+ Layer* GetLayer(FX_DWORD index) { return m_Layers.GetDataPtr(index); }
+
+ CPDF_Document* GetDocument() const { return m_pDocument; }
+ CPDF_Dictionary* GetPageResources() const { return m_pPageResources; }
+ CPDF_PageRenderCache* GetPageCache() const { return m_pPageCache; }
+
+ protected:
+ CPDF_Document* const m_pDocument;
+ CPDF_Dictionary* m_pPageResources;
+ CPDF_PageRenderCache* m_pPageCache;
+ FX_BOOL m_bFirstLayer;
+ CFX_ArrayTemplate<Layer> m_Layers;
+};
+
+#endif // CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_RENDERCONTEXT_H_
diff --git a/core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h b/core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h
new file mode 100644
index 0000000000..c0911e7cd2
--- /dev/null
+++ b/core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h
@@ -0,0 +1,52 @@
+// 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_RENDER_INCLUDE_CPDF_RENDEROPTIONS_H_
+#define CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_RENDEROPTIONS_H_
+
+#include "core/include/fxcrt/fx_system.h"
+#include "core/include/fxge/fx_dib.h"
+
+class IPDF_OCContext;
+
+#define RENDER_COLOR_NORMAL 0
+#define RENDER_COLOR_GRAY 1
+#define RENDER_COLOR_TWOCOLOR 2
+#define RENDER_COLOR_ALPHA 3
+#define RENDER_CLEARTYPE 0x00000001
+#define RENDER_PRINTGRAPHICTEXT 0x00000002
+#define RENDER_FORCE_DOWNSAMPLE 0x00000004
+#define RENDER_PRINTPREVIEW 0x00000008
+#define RENDER_BGR_STRIPE 0x00000010
+#define RENDER_NO_NATIVETEXT 0x00000020
+#define RENDER_FORCE_HALFTONE 0x00000040
+#define RENDER_RECT_AA 0x00000080
+#define RENDER_FILL_FULLCOVER 0x00000100
+#define RENDER_PRINTIMAGETEXT 0x00000200
+#define RENDER_OVERPRINT 0x00000400
+#define RENDER_THINLINE 0x00000800
+#define RENDER_NOTEXTSMOOTH 0x10000000
+#define RENDER_NOPATHSMOOTH 0x20000000
+#define RENDER_NOIMAGESMOOTH 0x40000000
+#define RENDER_LIMITEDIMAGECACHE 0x80000000
+
+class CPDF_RenderOptions {
+ public:
+ CPDF_RenderOptions();
+ FX_ARGB TranslateColor(FX_ARGB argb) const;
+
+ int m_ColorMode;
+ FX_COLORREF m_BackColor;
+ FX_COLORREF m_ForeColor;
+ FX_DWORD m_Flags;
+ int m_Interpolation;
+ FX_DWORD m_AddFlags;
+ IPDF_OCContext* m_pOCContext;
+ FX_DWORD m_dwLimitCacheSize;
+ int m_HalftoneLimit;
+};
+
+#endif // CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_RENDEROPTIONS_H_
diff --git a/core/fpdfapi/fpdf_render/include/cpdf_textrenderer.h b/core/fpdfapi/fpdf_render/include/cpdf_textrenderer.h
new file mode 100644
index 0000000000..1cf67cd2f2
--- /dev/null
+++ b/core/fpdfapi/fpdf_render/include/cpdf_textrenderer.h
@@ -0,0 +1,77 @@
+// 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_RENDER_INCLUDE_CPDF_TEXTRENDERER_H_
+#define CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_TEXTRENDERER_H_
+
+#include "core/include/fxcrt/fx_coordinates.h"
+#include "core/include/fxcrt/fx_string.h"
+#include "core/include/fxcrt/fx_system.h"
+#include "core/include/fxge/fx_dib.h"
+
+class CFX_RenderDevice;
+class CFX_GraphStateData;
+class CFX_PathData;
+class CPDF_RenderOptions;
+class CPDF_Font;
+
+class CPDF_TextRenderer {
+ public:
+ static void DrawTextString(CFX_RenderDevice* pDevice,
+ int left,
+ int top,
+ CPDF_Font* pFont,
+ int height,
+ const CFX_ByteString& str,
+ FX_ARGB argb);
+
+ static void DrawTextString(CFX_RenderDevice* pDevice,
+ FX_FLOAT origin_x,
+ FX_FLOAT origin_y,
+ CPDF_Font* pFont,
+ FX_FLOAT font_size,
+ const CFX_Matrix* matrix,
+ const CFX_ByteString& str,
+ FX_ARGB fill_argb,
+ FX_ARGB stroke_argb = 0,
+ const CFX_GraphStateData* pGraphState = NULL,
+ const CPDF_RenderOptions* pOptions = NULL);
+
+ static FX_BOOL DrawTextPath(CFX_RenderDevice* pDevice,
+ int nChars,
+ FX_DWORD* pCharCodes,
+ FX_FLOAT* pCharPos,
+ CPDF_Font* pFont,
+ FX_FLOAT font_size,
+ const CFX_Matrix* pText2User,
+ const CFX_Matrix* pUser2Device,
+ const CFX_GraphStateData* pGraphState,
+ FX_ARGB fill_argb,
+ FX_ARGB stroke_argb,
+ CFX_PathData* pClippingPath,
+ int nFlag = 0);
+
+ static FX_BOOL DrawNormalText(CFX_RenderDevice* pDevice,
+ int nChars,
+ FX_DWORD* pCharCodes,
+ FX_FLOAT* pCharPos,
+ CPDF_Font* pFont,
+ FX_FLOAT font_size,
+ const CFX_Matrix* pText2Device,
+ FX_ARGB fill_argb,
+ const CPDF_RenderOptions* pOptions);
+
+ static FX_BOOL DrawType3Text(CFX_RenderDevice* pDevice,
+ int nChars,
+ FX_DWORD* pCharCodes,
+ FX_FLOAT* pCharPos,
+ CPDF_Font* pFont,
+ FX_FLOAT font_size,
+ const CFX_Matrix* pText2Device,
+ FX_ARGB fill_argb);
+};
+
+#endif // CORE_FPDFAPI_FPDF_RENDER_INCLUDE_CPDF_TEXTRENDERER_H_
diff --git a/core/fpdfapi/fpdf_render/render_int.h b/core/fpdfapi/fpdf_render/render_int.h
index c15612466c..f4cc02357b 100644
--- a/core/fpdfapi/fpdf_render/render_int.h
+++ b/core/fpdfapi/fpdf_render/render_int.h
@@ -10,9 +10,12 @@
#include <map>
#include <memory>
+#include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "core/include/fpdfapi/fpdf_render.h"
+class CPDF_PageObjectHolder;
+class CPDF_PageRenderCache;
+class CPDF_RenderStatus;
class CFX_GlyphBitmap;
class CFX_ImageTransformer;
class CPDF_ImageCacheEntry;
@@ -21,6 +24,8 @@ class ICodec_ScanlineDecoder;
#define TYPE3_MAX_BLUES 16
+FX_BOOL IsAvailableMatrix(const CFX_Matrix& matrix);
+
class CPDF_Type3Glyphs {
public:
CPDF_Type3Glyphs() : m_TopBlueCount(0), m_BottomBlueCount(0) {}
diff --git a/core/include/fpdfapi/fpdf_module.h b/core/fpdfapi/include/cpdf_modulemgr.h
index e8cbb0d201..5449b082c6 100644
--- a/core/include/fpdfapi/fpdf_module.h
+++ b/core/fpdfapi/include/cpdf_modulemgr.h
@@ -1,31 +1,25 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
+// 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_INCLUDE_FPDFAPI_FPDF_MODULE_H_
-#define CORE_INCLUDE_FPDFAPI_FPDF_MODULE_H_
+#ifndef CORE_FPDFAPI_INCLUDE_CPDF_MODULEMGR_H_
+#define CORE_FPDFAPI_INCLUDE_CPDF_MODULEMGR_H_
#include <memory>
-#include "core/include/fxcrt/fx_coordinates.h"
-#include "core/include/fxcrt/fx_system.h"
+#include "core/fpdfapi/ipdf_pagemodule.h"
+#include "core/include/fxcrt/fx_basic.h"
class CCodec_ModuleMgr;
-class CPDF_ColorSpace;
-class CPDF_DocPageData;
-class CPDF_DocRenderData;
-class CPDF_Document;
-class CPDF_FontGlobals;
-class CPDF_Page;
-class CPDF_PageRenderCache;
class ICodec_FaxModule;
class ICodec_FlateModule;
class ICodec_IccModule;
class ICodec_Jbig2Module;
class ICodec_JpegModule;
class ICodec_JpxModule;
+
class IPDF_PageModule;
class IPDF_RenderModule;
@@ -73,29 +67,4 @@ class CPDF_ModuleMgr {
CFX_PrivateData m_privateData;
};
-class IPDF_PageModule {
- public:
- virtual ~IPDF_PageModule() {}
-
- virtual CPDF_DocPageData* CreateDocData(CPDF_Document* pDoc) = 0;
- virtual void ReleaseDoc(CPDF_Document* pDoc) = 0;
- virtual void ClearDoc(CPDF_Document* pDoc) = 0;
- virtual CPDF_FontGlobals* GetFontGlobals() = 0;
- virtual void ClearStockFont(CPDF_Document* pDoc) = 0;
- virtual void NotifyCJKAvailable() = 0;
- virtual CPDF_ColorSpace* GetStockCS(int family) = 0;
-};
-
-class IPDF_RenderModule {
- public:
- virtual ~IPDF_RenderModule() {}
-
- virtual CPDF_DocRenderData* CreateDocData(CPDF_Document* pDoc) = 0;
- virtual void DestroyDocData(CPDF_DocRenderData* pDocRenderData) = 0;
- virtual void ClearDocData(CPDF_DocRenderData* pDocRenderData) = 0;
- virtual CPDF_DocRenderData* GetRenderData() = 0;
- virtual CPDF_PageRenderCache* CreatePageCache(CPDF_Page* pPage) = 0;
- virtual void DestroyPageCache(CPDF_PageRenderCache* pCache) = 0;
-};
-
-#endif // CORE_INCLUDE_FPDFAPI_FPDF_MODULE_H_
+#endif // CORE_FPDFAPI_INCLUDE_CPDF_MODULEMGR_H_
diff --git a/core/fpdfapi/ipdf_pagemodule.h b/core/fpdfapi/ipdf_pagemodule.h
new file mode 100644
index 0000000000..3765cd91d2
--- /dev/null
+++ b/core/fpdfapi/ipdf_pagemodule.h
@@ -0,0 +1,28 @@
+// 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_IPDF_PAGEMODULE_H_
+#define CORE_FPDFAPI_IPDF_PAGEMODULE_H_
+
+class CPDF_ColorSpace;
+class CPDF_DocPageData;
+class CPDF_Document;
+class CPDF_FontGlobals;
+
+class IPDF_PageModule {
+ public:
+ virtual ~IPDF_PageModule() {}
+
+ virtual CPDF_DocPageData* CreateDocData(CPDF_Document* pDoc) = 0;
+ virtual void ReleaseDoc(CPDF_Document* pDoc) = 0;
+ virtual void ClearDoc(CPDF_Document* pDoc) = 0;
+ virtual CPDF_FontGlobals* GetFontGlobals() = 0;
+ virtual void ClearStockFont(CPDF_Document* pDoc) = 0;
+ virtual void NotifyCJKAvailable() = 0;
+ virtual CPDF_ColorSpace* GetStockCS(int family) = 0;
+};
+
+#endif // CORE_FPDFAPI_IPDF_PAGEMODULE_H_
diff --git a/core/fpdfapi/ipdf_rendermodule.h b/core/fpdfapi/ipdf_rendermodule.h
new file mode 100644
index 0000000000..5082b19e8c
--- /dev/null
+++ b/core/fpdfapi/ipdf_rendermodule.h
@@ -0,0 +1,29 @@
+// 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_IPDF_RENDERMODULE_H_
+#define CORE_FPDFAPI_IPDF_RENDERMODULE_H_
+
+class CPDF_DocRenderData;
+class CPDF_Document;
+class CPDF_Page;
+class CPDF_PageRenderCache;
+
+class IPDF_RenderModule {
+ public:
+ virtual ~IPDF_RenderModule() {}
+
+ virtual CPDF_DocRenderData* CreateDocData(CPDF_Document* pDoc) = 0;
+ virtual void DestroyDocData(CPDF_DocRenderData* pDocRenderData) = 0;
+ virtual void ClearDocData(CPDF_DocRenderData* pDocRenderData) = 0;
+
+ virtual CPDF_DocRenderData* GetRenderData() = 0;
+
+ virtual CPDF_PageRenderCache* CreatePageCache(CPDF_Page* pPage) = 0;
+ virtual void DestroyPageCache(CPDF_PageRenderCache* pCache) = 0;
+};
+
+#endif // CORE_FPDFAPI_IPDF_RENDERMODULE_H_
diff --git a/core/fpdfdoc/doc_action.cpp b/core/fpdfdoc/doc_action.cpp
index 0af219e47e..963257006a 100644
--- a/core/fpdfdoc/doc_action.cpp
+++ b/core/fpdfdoc/doc_action.cpp
@@ -6,8 +6,8 @@
#include <vector>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
CPDF_Dest CPDF_Action::GetDest(CPDF_Document* pDoc) const {
diff --git a/core/fpdfdoc/doc_annot.cpp b/core/fpdfdoc/doc_annot.cpp
index b17347cce3..219d61151d 100644
--- a/core/fpdfdoc/doc_annot.cpp
+++ b/core/fpdfdoc/doc_annot.cpp
@@ -4,9 +4,13 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_occontext.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
+#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
diff --git a/core/fpdfdoc/doc_ap.cpp b/core/fpdfdoc/doc_ap.cpp
index d2400123d2..43dcfb4ac0 100644
--- a/core/fpdfdoc/doc_ap.cpp
+++ b/core/fpdfdoc/doc_ap.cpp
@@ -4,11 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
#include "core/fpdfdoc/doc_utils.h"
#include "core/fpdfdoc/pdf_vt.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
#include "core/include/fpdfdoc/fpdf_ap.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
#include "core/include/fpdfdoc/fpdf_vt.h"
diff --git a/core/fpdfdoc/doc_basic.cpp b/core/fpdfdoc/doc_basic.cpp
index b3a6511734..851730346c 100644
--- a/core/fpdfdoc/doc_basic.cpp
+++ b/core/fpdfdoc/doc_basic.cpp
@@ -4,9 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/fpdfdoc/doc_utils.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
const int nMaxRecursion = 32;
diff --git a/core/fpdfdoc/doc_basic_unittest.cpp b/core/fpdfdoc/doc_basic_unittest.cpp
index 659643851d..a84f334ebb 100644
--- a/core/fpdfdoc/doc_basic_unittest.cpp
+++ b/core/fpdfdoc/doc_basic_unittest.cpp
@@ -7,8 +7,8 @@
#include <memory>
#include <vector>
-#include "core/include/fpdfapi/cpdf_name.h"
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
diff --git a/core/fpdfdoc/doc_bookmark.cpp b/core/fpdfdoc/doc_bookmark.cpp
index c338e5d48c..908960e497 100644
--- a/core/fpdfdoc/doc_bookmark.cpp
+++ b/core/fpdfdoc/doc_bookmark.cpp
@@ -7,9 +7,10 @@
#include <memory>
#include <vector>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
+#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
CPDF_Bookmark CPDF_BookmarkTree::GetFirstChild(
diff --git a/core/fpdfdoc/doc_form.cpp b/core/fpdfdoc/doc_form.cpp
index c205588335..bcb2dcc00e 100644
--- a/core/fpdfdoc/doc_form.cpp
+++ b/core/fpdfdoc/doc_form.cpp
@@ -6,11 +6,12 @@
#include <vector>
+#include "core/fpdfapi/fpdf_parser/include/cfdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
#include "core/fpdfdoc/doc_utils.h"
-#include "core/include/fpdfapi/cfdf_document.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_string.h"
+#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfdoc/doc_formcontrol.cpp b/core/fpdfdoc/doc_formcontrol.cpp
index 15ff7b5e64..eab190279c 100644
--- a/core/fpdfdoc/doc_formcontrol.cpp
+++ b/core/fpdfdoc/doc_formcontrol.cpp
@@ -6,8 +6,11 @@
#include <algorithm>
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_render/include/cpdf_rendercontext.h"
+#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
CPDF_FormControl::CPDF_FormControl(CPDF_FormField* pField,
diff --git a/core/fpdfdoc/doc_formfield.cpp b/core/fpdfdoc/doc_formfield.cpp
index 7ad8cacea9..6c3afad1ee 100644
--- a/core/fpdfdoc/doc_formfield.cpp
+++ b/core/fpdfdoc/doc_formfield.cpp
@@ -4,13 +4,13 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_parser/include/cfdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
#include "core/fpdfdoc/doc_utils.h"
-#include "core/include/fpdfapi/cfdf_document.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_number.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
-#include "core/include/fpdfapi/cpdf_string.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
FX_BOOL PDF_FormField_IsUnison(CPDF_FormField* pField) {
diff --git a/core/fpdfdoc/doc_link.cpp b/core/fpdfdoc/doc_link.cpp
index 8aedb40034..6c7ecdec4b 100644
--- a/core/fpdfdoc/doc_link.cpp
+++ b/core/fpdfdoc/doc_link.cpp
@@ -8,7 +8,8 @@
#include <vector>
-#include "core/include/fpdfapi/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/include/fpdfapi/fpdf_page.h"
CPDF_LinkList::CPDF_LinkList() {}
diff --git a/core/fpdfdoc/doc_metadata.cpp b/core/fpdfdoc/doc_metadata.cpp
index 78364c4cbf..5526b8d5ab 100644
--- a/core/fpdfdoc/doc_metadata.cpp
+++ b/core/fpdfdoc/doc_metadata.cpp
@@ -4,7 +4,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
#include "core/include/fxcrt/fx_xml.h"
diff --git a/core/fpdfdoc/doc_ocg.cpp b/core/fpdfdoc/doc_ocg.cpp
index 3af745580c..8148b31a56 100644
--- a/core/fpdfdoc/doc_ocg.cpp
+++ b/core/fpdfdoc/doc_ocg.cpp
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
static int32_t FPDFDOC_OCG_FindGroup(const CPDF_Object* pObject,
diff --git a/core/fpdfdoc/doc_tagged.cpp b/core/fpdfdoc/doc_tagged.cpp
index 015f4db878..5795b36120 100644
--- a/core/fpdfdoc/doc_tagged.cpp
+++ b/core/fpdfdoc/doc_tagged.cpp
@@ -6,12 +6,12 @@
#include <map>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
#include "core/fpdfdoc/doc_utils.h"
#include "core/fpdfdoc/tagged_int.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_reference.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfdoc/fpdf_tagged.h"
diff --git a/core/fpdfdoc/doc_utils.cpp b/core/fpdfdoc/doc_utils.cpp
index 5160c1115c..795a26a6e2 100644
--- a/core/fpdfdoc/doc_utils.cpp
+++ b/core/fpdfdoc/doc_utils.cpp
@@ -7,10 +7,10 @@
#include <algorithm>
#include <vector>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h"
#include "core/fpdfdoc/doc_utils.h"
-#include "core/include/fpdfapi/cpdf_array.h"
-#include "core/include/fpdfapi/cpdf_document.h"
-#include "core/include/fpdfapi/cpdf_simple_parser.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
namespace {
diff --git a/core/fpdfdoc/doc_utils.h b/core/fpdfdoc/doc_utils.h
index ed687943da..6bfd005920 100644
--- a/core/fpdfdoc/doc_utils.h
+++ b/core/fpdfdoc/doc_utils.h
@@ -9,7 +9,7 @@
#include <vector>
-#include "core/include/fpdfapi/cpdf_parser.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_parser.h"
#include "core/include/fpdfapi/fpdf_resource.h"
class CPDF_Dictionary;
diff --git a/core/fpdfdoc/doc_viewerPreferences.cpp b/core/fpdfdoc/doc_viewerPreferences.cpp
index 582f3a5a93..035d192395 100644
--- a/core/fpdfdoc/doc_viewerPreferences.cpp
+++ b/core/fpdfdoc/doc_viewerPreferences.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/include/fpdfapi/cpdf_document.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/include/fpdfdoc/fpdf_doc.h"
CPDF_ViewerPreferences::CPDF_ViewerPreferences(CPDF_Document* pDoc)
diff --git a/core/fpdftext/fpdf_text_int.cpp b/core/fpdftext/fpdf_text_int.cpp
index f862af9fbe..0b237972fb 100644
--- a/core/fpdftext/fpdf_text_int.cpp
+++ b/core/fpdftext/fpdf_text_int.cpp
@@ -13,13 +13,12 @@
#include <utility>
#include <vector>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
#include "core/fpdftext/include/ipdf_linkextract.h"
#include "core/fpdftext/include/ipdf_textpage.h"
#include "core/fpdftext/include/ipdf_textpagefind.h"
#include "core/fpdftext/unicodenormalization.h"
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/cpdf_string.h"
-#include "core/include/fpdfapi/fpdf_module.h"
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
#include "core/include/fpdfapi/fpdf_resource.h"
diff --git a/core/fxcodec/jbig2/JBig2_BitStream.cpp b/core/fxcodec/jbig2/JBig2_BitStream.cpp
index 3e042bc92b..a2a4c2c7c0 100644
--- a/core/fxcodec/jbig2/JBig2_BitStream.cpp
+++ b/core/fxcodec/jbig2/JBig2_BitStream.cpp
@@ -8,8 +8,8 @@
#include <algorithm>
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
CJBig2_BitStream::CJBig2_BitStream(CPDF_StreamAcc* pSrcStream)
: m_pBuf(pSrcStream->GetData()),
diff --git a/core/fxcodec/jbig2/JBig2_Context.cpp b/core/fxcodec/jbig2/JBig2_Context.cpp
index d5eeda081c..89157b9bf1 100644
--- a/core/fxcodec/jbig2/JBig2_Context.cpp
+++ b/core/fxcodec/jbig2/JBig2_Context.cpp
@@ -11,6 +11,8 @@
#include <utility>
#include <vector>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
#include "core/fxcodec/jbig2/JBig2_ArithDecoder.h"
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
#include "core/fxcodec/jbig2/JBig2_GrdProc.h"
@@ -20,8 +22,6 @@
#include "core/fxcodec/jbig2/JBig2_PddProc.h"
#include "core/fxcodec/jbig2/JBig2_SddProc.h"
#include "core/fxcodec/jbig2/JBig2_TrdProc.h"
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
#include "third_party/base/stl_util.h"
namespace {
diff --git a/core/fxcodec/jbig2/JBig2_Context.h b/core/fxcodec/jbig2/JBig2_Context.h
index f09b8fc1ab..aff3b1bb38 100644
--- a/core/fxcodec/jbig2/JBig2_Context.h
+++ b/core/fxcodec/jbig2/JBig2_Context.h
@@ -11,10 +11,10 @@
#include <memory>
#include <utility>
+#include "core/fpdfapi/fpdf_parser/include/cpdf_object.h"
#include "core/fxcodec/jbig2/JBig2_List.h"
#include "core/fxcodec/jbig2/JBig2_Page.h"
#include "core/fxcodec/jbig2/JBig2_Segment.h"
-#include "core/include/fpdfapi/cpdf_object.h"
#include "core/include/fxcodec/fx_codec_def.h"
class CJBig2_ArithDecoder;
diff --git a/core/fxge/skia/DEPS b/core/fxge/skia/DEPS
new file mode 100644
index 0000000000..6492756b7e
--- /dev/null
+++ b/core/fxge/skia/DEPS
@@ -0,0 +1,3 @@
+include_rules = [
+ '+third_party/skia/include'
+]
diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h
deleted file mode 100644
index 71711e3b16..0000000000
--- a/core/include/fpdfapi/fpdf_render.h
+++ /dev/null
@@ -1,263 +0,0 @@
-// Copyright 2014 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_INCLUDE_FPDFAPI_FPDF_RENDER_H_
-#define CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
-
-#include <map>
-#include <memory>
-
-#include "core/include/fpdfapi/fpdf_page.h"
-#include "core/include/fxge/fx_ge.h"
-
-class CFX_GraphStateData;
-class CFX_PathData;
-class CFX_RenderDevice;
-class CPDF_ImageCacheEntry;
-class CPDF_RenderStatus;
-class IFX_Pause;
-
-class IPDF_OCContext {
- public:
- virtual ~IPDF_OCContext() {}
-
- virtual FX_BOOL CheckOCGVisible(const CPDF_Dictionary* pOCG) = 0;
-
- FX_BOOL CheckObjectVisible(const CPDF_PageObject* pObj);
-};
-#define RENDER_COLOR_NORMAL 0
-#define RENDER_COLOR_GRAY 1
-#define RENDER_COLOR_TWOCOLOR 2
-#define RENDER_COLOR_ALPHA 3
-#define RENDER_CLEARTYPE 0x00000001
-#define RENDER_PRINTGRAPHICTEXT 0x00000002
-#define RENDER_FORCE_DOWNSAMPLE 0x00000004
-#define RENDER_PRINTPREVIEW 0x00000008
-#define RENDER_BGR_STRIPE 0x00000010
-#define RENDER_NO_NATIVETEXT 0x00000020
-#define RENDER_FORCE_HALFTONE 0x00000040
-#define RENDER_RECT_AA 0x00000080
-#define RENDER_FILL_FULLCOVER 0x00000100
-#define RENDER_PRINTIMAGETEXT 0x00000200
-#define RENDER_OVERPRINT 0x00000400
-#define RENDER_THINLINE 0x00000800
-#define RENDER_NOTEXTSMOOTH 0x10000000
-#define RENDER_NOPATHSMOOTH 0x20000000
-#define RENDER_NOIMAGESMOOTH 0x40000000
-#define RENDER_LIMITEDIMAGECACHE 0x80000000
-
-class CPDF_RenderOptions {
- public:
- CPDF_RenderOptions();
- FX_ARGB TranslateColor(FX_ARGB argb) const;
-
- int m_ColorMode;
- FX_COLORREF m_BackColor;
- FX_COLORREF m_ForeColor;
- FX_DWORD m_Flags;
- int m_Interpolation;
- FX_DWORD m_AddFlags;
- IPDF_OCContext* m_pOCContext;
- FX_DWORD m_dwLimitCacheSize;
- int m_HalftoneLimit;
-};
-
-class CPDF_RenderContext {
- public:
- class Layer {
- public:
- CPDF_PageObjectHolder* m_pObjectHolder;
- CFX_Matrix m_Matrix;
- };
-
- explicit CPDF_RenderContext(CPDF_Page* pPage);
- CPDF_RenderContext(CPDF_Document* pDoc, CPDF_PageRenderCache* pPageCache);
- ~CPDF_RenderContext();
-
- void AppendLayer(CPDF_PageObjectHolder* pObjectHolder,
- const CFX_Matrix* pObject2Device);
-
- void Render(CFX_RenderDevice* pDevice,
- const CPDF_RenderOptions* pOptions,
- const CFX_Matrix* pFinalMatrix);
-
- void Render(CFX_RenderDevice* pDevice,
- const CPDF_PageObject* pStopObj,
- const CPDF_RenderOptions* pOptions,
- const CFX_Matrix* pFinalMatrix);
-
- void GetBackground(CFX_DIBitmap* pBuffer,
- const CPDF_PageObject* pObj,
- const CPDF_RenderOptions* pOptions,
- CFX_Matrix* pFinalMatrix);
-
- FX_DWORD CountLayers() const { return m_Layers.GetSize(); }
- Layer* GetLayer(FX_DWORD index) { return m_Layers.GetDataPtr(index); }
-
- CPDF_Document* GetDocument() const { return m_pDocument; }
- CPDF_Dictionary* GetPageResources() const { return m_pPageResources; }
- CPDF_PageRenderCache* GetPageCache() const { return m_pPageCache; }
-
- protected:
- CPDF_Document* const m_pDocument;
- CPDF_Dictionary* m_pPageResources;
- CPDF_PageRenderCache* m_pPageCache;
- FX_BOOL m_bFirstLayer;
- CFX_ArrayTemplate<Layer> m_Layers;
-};
-
-class CPDF_ProgressiveRenderer {
- public:
- // Must match FDF_RENDER_* definitions in public/fpdf_progressive.h, but
- // cannot #include that header. fpdfsdk/fpdf_progressive.cpp has
- // static_asserts to make sure the two sets of values match.
- enum Status {
- Ready, // FPDF_RENDER_READER
- ToBeContinued, // FPDF_RENDER_TOBECOUNTINUED
- Done, // FPDF_RENDER_DONE
- Failed // FPDF_RENDER_FAILED
- };
-
- static int ToFPDFStatus(Status status) { return static_cast<int>(status); }
-
- CPDF_ProgressiveRenderer(CPDF_RenderContext* pContext,
- CFX_RenderDevice* pDevice,
- const CPDF_RenderOptions* pOptions);
- ~CPDF_ProgressiveRenderer();
-
- Status GetStatus() const { return m_Status; }
- void Start(IFX_Pause* pPause);
- void Continue(IFX_Pause* pPause);
-
- private:
- void RenderStep();
-
- // Maximum page objects to render before checking for pause.
- static const int kStepLimit = 100;
-
- Status m_Status;
- CPDF_RenderContext* const m_pContext;
- CFX_RenderDevice* const m_pDevice;
- const CPDF_RenderOptions* const m_pOptions;
- std::unique_ptr<CPDF_RenderStatus> m_pRenderStatus;
- CFX_FloatRect m_ClipRect;
- FX_DWORD m_LayerIndex;
- CPDF_RenderContext::Layer* m_pCurrentLayer;
- CPDF_PageObjectList::iterator m_LastObjectRendered;
-};
-
-class CPDF_TextRenderer {
- public:
- static void DrawTextString(CFX_RenderDevice* pDevice,
- int left,
- int top,
- CPDF_Font* pFont,
- int height,
- const CFX_ByteString& str,
- FX_ARGB argb);
-
- static void DrawTextString(CFX_RenderDevice* pDevice,
- FX_FLOAT origin_x,
- FX_FLOAT origin_y,
- CPDF_Font* pFont,
- FX_FLOAT font_size,
- const CFX_Matrix* matrix,
- const CFX_ByteString& str,
- FX_ARGB fill_argb,
- FX_ARGB stroke_argb = 0,
- const CFX_GraphStateData* pGraphState = NULL,
- const CPDF_RenderOptions* pOptions = NULL);
-
- static FX_BOOL DrawTextPath(CFX_RenderDevice* pDevice,
- int nChars,
- FX_DWORD* pCharCodes,
- FX_FLOAT* pCharPos,
- CPDF_Font* pFont,
- FX_FLOAT font_size,
- const CFX_Matrix* pText2User,
- const CFX_Matrix* pUser2Device,
- const CFX_GraphStateData* pGraphState,
- FX_ARGB fill_argb,
- FX_ARGB stroke_argb,
- CFX_PathData* pClippingPath,
- int nFlag = 0);
-
- static FX_BOOL DrawNormalText(CFX_RenderDevice* pDevice,
- int nChars,
- FX_DWORD* pCharCodes,
- FX_FLOAT* pCharPos,
- CPDF_Font* pFont,
- FX_FLOAT font_size,
- const CFX_Matrix* pText2Device,
- FX_ARGB fill_argb,
- const CPDF_RenderOptions* pOptions);
-
- static FX_BOOL DrawType3Text(CFX_RenderDevice* pDevice,
- int nChars,
- FX_DWORD* pCharCodes,
- FX_FLOAT* pCharPos,
- CPDF_Font* pFont,
- FX_FLOAT font_size,
- const CFX_Matrix* pText2Device,
- FX_ARGB fill_argb);
-};
-class CPDF_PageRenderCache {
- public:
- explicit CPDF_PageRenderCache(CPDF_Page* pPage)
- : m_pPage(pPage),
- m_pCurImageCacheEntry(nullptr),
- m_nTimeCount(0),
- m_nCacheSize(0),
- m_bCurFindCache(FALSE) {}
- ~CPDF_PageRenderCache();
- void ClearImageData();
-
- FX_DWORD EstimateSize();
- void CacheOptimization(int32_t dwLimitCacheSize);
- FX_DWORD GetTimeCount() const { return m_nTimeCount; }
- void SetTimeCount(FX_DWORD dwTimeCount) { m_nTimeCount = dwTimeCount; }
-
- void GetCachedBitmap(CPDF_Stream* pStream,
- CFX_DIBSource*& pBitmap,
- CFX_DIBSource*& pMask,
- FX_DWORD& MatteColor,
- FX_BOOL bStdCS = FALSE,
- FX_DWORD GroupFamily = 0,
- FX_BOOL bLoadMask = FALSE,
- CPDF_RenderStatus* pRenderStatus = NULL,
- int32_t downsampleWidth = 0,
- int32_t downsampleHeight = 0);
-
- void ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap);
- void ClearImageCacheEntry(CPDF_Stream* pStream);
- CPDF_Page* GetPage() const { return m_pPage; }
- CPDF_ImageCacheEntry* GetCurImageCacheEntry() const {
- return m_pCurImageCacheEntry;
- }
-
- FX_BOOL StartGetCachedBitmap(CPDF_Stream* pStream,
- FX_BOOL bStdCS = FALSE,
- FX_DWORD GroupFamily = 0,
- FX_BOOL bLoadMask = FALSE,
- CPDF_RenderStatus* pRenderStatus = NULL,
- int32_t downsampleWidth = 0,
- int32_t downsampleHeight = 0);
-
- FX_BOOL Continue(IFX_Pause* pPause);
-
- protected:
- friend class CPDF_Page;
- CPDF_Page* const m_pPage;
- CPDF_ImageCacheEntry* m_pCurImageCacheEntry;
- std::map<CPDF_Stream*, CPDF_ImageCacheEntry*> m_ImageCache;
- FX_DWORD m_nTimeCount;
- FX_DWORD m_nCacheSize;
- FX_BOOL m_bCurFindCache;
-};
-
-FX_BOOL IsAvailableMatrix(const CFX_Matrix& matrix);
-
-#endif // CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
diff --git a/core/include/fpdfapi/fpdf_resource.h b/core/include/fpdfapi/fpdf_resource.h
index 7c19dd52c3..a8a3ecc52a 100644
--- a/core/include/fpdfapi/fpdf_resource.h
+++ b/core/include/fpdfapi/fpdf_resource.h
@@ -9,8 +9,8 @@
#include <map>
-#include "core/include/fpdfapi/cpdf_stream.h"
-#include "core/include/fpdfapi/cpdf_stream_acc.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
#include "core/include/fxcrt/fx_system.h"
#include "core/include/fxge/fx_font.h"
diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h
index 60a0939211..28d62effd4 100644
--- a/core/include/fpdfdoc/fpdf_doc.h
+++ b/core/include/fpdfdoc/fpdf_doc.h
@@ -11,9 +11,10 @@
#include <memory>
#include <vector>
-#include "core/include/fpdfapi/cpdf_dictionary.h"
-#include "core/include/fpdfapi/fpdf_parser_decode.h"
-#include "core/include/fpdfapi/fpdf_render.h"
+#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
+#include "core/fpdfapi/fpdf_parser/ipdf_occontext.h"
+#include "core/include/fxge/fx_dib.h"
class CFDF_Document;
class CFieldTree;
@@ -27,6 +28,7 @@ class CPDF_Bookmark;
class CPDF_BookmarkTree;
class CPDF_DefaultAppearance;
class CPDF_Dest;
+class CPDF_Document;
class CPDF_DocJSActions;
class CPDF_FileSpec;
class CPDF_FormControl;
@@ -38,9 +40,13 @@ class CPDF_Link;
class CPDF_Metadata;
class CPDF_OCContext;
class CPDF_Page;
+class CPDF_Font;
+class CPDF_Form;
class CPDF_RenderOptions;
+class CPDF_RenderContext;
class CPDF_ViewerPreferences;
class CXML_Element;
+class CFX_RenderDevice;
class CPDF_NameTree {
public: