Remove last circular include between fpdfapi/page and fpdfapi/render.

Moves CPDF_{Dib}TransferFunc to page/ layer

Change-Id: Idaa52e22f72daf1fae2e1b5d9d2a6eb9a458a625
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/58470
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/page/BUILD.gn b/core/fpdfapi/page/BUILD.gn
index 5bb8115..17e2b6e 100644
--- a/core/fpdfapi/page/BUILD.gn
+++ b/core/fpdfapi/page/BUILD.gn
@@ -28,6 +28,8 @@
     "cpdf_devicecs.h",
     "cpdf_dibbase.cpp",
     "cpdf_dibbase.h",
+    "cpdf_dibtransferfunc.cpp",
+    "cpdf_dibtransferfunc.h",
     "cpdf_docpagedata.cpp",
     "cpdf_docpagedata.h",
     "cpdf_expintfunc.cpp",
@@ -90,6 +92,8 @@
     "cpdf_textstate.h",
     "cpdf_tilingpattern.cpp",
     "cpdf_tilingpattern.h",
+    "cpdf_transferfunc.cpp",
+    "cpdf_transferfunc.h",
     "cpdf_transparency.cpp",
     "cpdf_transparency.h",
     "ipdf_page.h",
diff --git a/core/fpdfapi/render/cpdf_dibtransferfunc.cpp b/core/fpdfapi/page/cpdf_dibtransferfunc.cpp
similarity index 97%
rename from core/fpdfapi/render/cpdf_dibtransferfunc.cpp
rename to core/fpdfapi/page/cpdf_dibtransferfunc.cpp
index 58dbcf0..cab90b3 100644
--- a/core/fpdfapi/render/cpdf_dibtransferfunc.cpp
+++ b/core/fpdfapi/page/cpdf_dibtransferfunc.cpp
@@ -4,13 +4,13 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "core/fpdfapi/render/cpdf_dibtransferfunc.h"
+#include "core/fpdfapi/page/cpdf_dibtransferfunc.h"
 
 #include <vector>
 
 #include "build/build_config.h"
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/parser/cpdf_dictionary.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 #include "third_party/base/compiler_specific.h"
 
 CPDF_DIBTransferFunc::CPDF_DIBTransferFunc(
diff --git a/core/fpdfapi/render/cpdf_dibtransferfunc.h b/core/fpdfapi/page/cpdf_dibtransferfunc.h
similarity index 88%
rename from core/fpdfapi/render/cpdf_dibtransferfunc.h
rename to core/fpdfapi/page/cpdf_dibtransferfunc.h
index 3ad9023..35072e2 100644
--- a/core/fpdfapi/render/cpdf_dibtransferfunc.h
+++ b/core/fpdfapi/page/cpdf_dibtransferfunc.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef CORE_FPDFAPI_RENDER_CPDF_DIBTRANSFERFUNC_H_
-#define CORE_FPDFAPI_RENDER_CPDF_DIBTRANSFERFUNC_H_
+#ifndef CORE_FPDFAPI_PAGE_CPDF_DIBTRANSFERFUNC_H_
+#define CORE_FPDFAPI_PAGE_CPDF_DIBTRANSFERFUNC_H_
 
 #include <vector>
 
@@ -41,4 +41,4 @@
   const pdfium::span<const uint8_t> m_RampB;
 };
 
-#endif  // CORE_FPDFAPI_RENDER_CPDF_DIBTRANSFERFUNC_H_
+#endif  // CORE_FPDFAPI_PAGE_CPDF_DIBTRANSFERFUNC_H_
diff --git a/core/fpdfapi/page/cpdf_generalstate.cpp b/core/fpdfapi/page/cpdf_generalstate.cpp
index 25a8dd6..6463b57 100644
--- a/core/fpdfapi/page/cpdf_generalstate.cpp
+++ b/core/fpdfapi/page/cpdf_generalstate.cpp
@@ -6,8 +6,8 @@
 
 #include "core/fpdfapi/page/cpdf_generalstate.h"
 
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/parser/cpdf_document.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 
 namespace {
 
diff --git a/core/fpdfapi/render/cpdf_transferfunc.cpp b/core/fpdfapi/page/cpdf_transferfunc.cpp
similarity index 94%
rename from core/fpdfapi/render/cpdf_transferfunc.cpp
rename to core/fpdfapi/page/cpdf_transferfunc.cpp
index 9f7a029..91b08bc 100644
--- a/core/fpdfapi/render/cpdf_transferfunc.cpp
+++ b/core/fpdfapi/page/cpdf_transferfunc.cpp
@@ -4,12 +4,12 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 
 #include <utility>
 
+#include "core/fpdfapi/page/cpdf_dibtransferfunc.h"
 #include "core/fpdfapi/parser/cpdf_document.h"
-#include "core/fpdfapi/render/cpdf_dibtransferfunc.h"
 #include "core/fxge/dib/cfx_dibbase.h"
 
 CPDF_TransferFunc::CPDF_TransferFunc(CPDF_Document* pDoc,
diff --git a/core/fpdfapi/render/cpdf_transferfunc.h b/core/fpdfapi/page/cpdf_transferfunc.h
similarity index 91%
rename from core/fpdfapi/render/cpdf_transferfunc.h
rename to core/fpdfapi/page/cpdf_transferfunc.h
index bf14320..b2d997e 100644
--- a/core/fpdfapi/render/cpdf_transferfunc.h
+++ b/core/fpdfapi/page/cpdf_transferfunc.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef CORE_FPDFAPI_RENDER_CPDF_TRANSFERFUNC_H_
-#define CORE_FPDFAPI_RENDER_CPDF_TRANSFERFUNC_H_
+#ifndef CORE_FPDFAPI_PAGE_CPDF_TRANSFERFUNC_H_
+#define CORE_FPDFAPI_PAGE_CPDF_TRANSFERFUNC_H_
 
 #include <vector>
 
@@ -52,4 +52,4 @@
   const std::vector<uint8_t> m_SamplesB;
 };
 
-#endif  // CORE_FPDFAPI_RENDER_CPDF_TRANSFERFUNC_H_
+#endif  // CORE_FPDFAPI_PAGE_CPDF_TRANSFERFUNC_H_
diff --git a/core/fpdfapi/render/BUILD.gn b/core/fpdfapi/render/BUILD.gn
index 45f4846..713abca 100644
--- a/core/fpdfapi/render/BUILD.gn
+++ b/core/fpdfapi/render/BUILD.gn
@@ -12,8 +12,6 @@
     "cpdf_charposlist.h",
     "cpdf_devicebuffer.cpp",
     "cpdf_devicebuffer.h",
-    "cpdf_dibtransferfunc.cpp",
-    "cpdf_dibtransferfunc.h",
     "cpdf_docrenderdata.cpp",
     "cpdf_docrenderdata.h",
     "cpdf_imagecacheentry.cpp",
@@ -38,8 +36,6 @@
     "cpdf_scaledrenderbuffer.h",
     "cpdf_textrenderer.cpp",
     "cpdf_textrenderer.h",
-    "cpdf_transferfunc.cpp",
-    "cpdf_transferfunc.h",
     "cpdf_type3cache.cpp",
     "cpdf_type3cache.h",
     "cpdf_type3glyphmap.cpp",
@@ -55,7 +51,6 @@
     "../page",
     "../parser",
   ]
-  allow_circular_includes_from = [ "../page" ]
   visibility = [ "../../../*" ]
 }
 
@@ -65,6 +60,7 @@
   ]
   deps = [
     ":render",
+    "../page",
     "../parser",
   ]
   pdfium_root_dir = "../../../"
diff --git a/core/fpdfapi/render/cpdf_docrenderdata.cpp b/core/fpdfapi/render/cpdf_docrenderdata.cpp
index cb37c69..59a1365 100644
--- a/core/fpdfapi/render/cpdf_docrenderdata.cpp
+++ b/core/fpdfapi/render/cpdf_docrenderdata.cpp
@@ -14,9 +14,9 @@
 #include "core/fpdfapi/font/cpdf_type3font.h"
 #include "core/fpdfapi/page/cpdf_dibbase.h"
 #include "core/fpdfapi/page/cpdf_function.h"
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_document.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 #include "core/fpdfapi/render/cpdf_type3cache.h"
 
 namespace {
diff --git a/core/fpdfapi/render/cpdf_docrenderdata_unittest.cpp b/core/fpdfapi/render/cpdf_docrenderdata_unittest.cpp
index 2f24785..73ee9ae 100644
--- a/core/fpdfapi/render/cpdf_docrenderdata_unittest.cpp
+++ b/core/fpdfapi/render/cpdf_docrenderdata_unittest.cpp
@@ -7,11 +7,11 @@
 #include <memory>
 #include <utility>
 
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_dictionary.h"
 #include "core/fpdfapi/parser/cpdf_number.h"
 #include "core/fpdfapi/parser/cpdf_stream.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/base/ptr_util.h"
 
diff --git a/core/fpdfapi/render/cpdf_imageloader.cpp b/core/fpdfapi/render/cpdf_imageloader.cpp
index 222c4bb..23d7522 100644
--- a/core/fpdfapi/render/cpdf_imageloader.cpp
+++ b/core/fpdfapi/render/cpdf_imageloader.cpp
@@ -9,10 +9,10 @@
 #include "core/fpdfapi/page/cpdf_dibbase.h"
 #include "core/fpdfapi/page/cpdf_image.h"
 #include "core/fpdfapi/page/cpdf_imageobject.h"
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/render/cpdf_imagecacheentry.h"
 #include "core/fpdfapi/render/cpdf_pagerendercache.h"
 #include "core/fpdfapi/render/cpdf_renderstatus.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 #include "core/fxge/dib/cfx_dibitmap.h"
 
 CPDF_ImageLoader::CPDF_ImageLoader() = default;
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index a957f8d..89e04b4 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -18,6 +18,7 @@
 #include "core/fpdfapi/page/cpdf_pageobject.h"
 #include "core/fpdfapi/page/cpdf_shadingpattern.h"
 #include "core/fpdfapi/page/cpdf_tilingpattern.h"
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_dictionary.h"
 #include "core/fpdfapi/parser/cpdf_document.h"
@@ -25,7 +26,6 @@
 #include "core/fpdfapi/render/cpdf_pagerendercache.h"
 #include "core/fpdfapi/render/cpdf_rendercontext.h"
 #include "core/fpdfapi/render/cpdf_renderstatus.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 #include "core/fxcrt/fx_safe_types.h"
 #include "core/fxcrt/maybe_owned.h"
 #include "core/fxge/cfx_defaultrenderdevice.h"
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index 00e3008..1e1ebc6 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -37,6 +37,7 @@
 #include "core/fpdfapi/page/cpdf_shadingpattern.h"
 #include "core/fpdfapi/page/cpdf_textobject.h"
 #include "core/fpdfapi/page/cpdf_tilingpattern.h"
+#include "core/fpdfapi/page/cpdf_transferfunc.h"
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_document.h"
 #include "core/fpdfapi/parser/cpdf_stream.h"
@@ -50,7 +51,6 @@
 #include "core/fpdfapi/render/cpdf_renderoptions.h"
 #include "core/fpdfapi/render/cpdf_scaledrenderbuffer.h"
 #include "core/fpdfapi/render/cpdf_textrenderer.h"
-#include "core/fpdfapi/render/cpdf_transferfunc.h"
 #include "core/fpdfapi/render/cpdf_type3cache.h"
 #include "core/fxcrt/autorestorer.h"
 #include "core/fxcrt/fx_safe_types.h"