summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2024-08-15 10:09:52 +0200
committerMiklos Vajna <vmiklos@collabora.com>2024-08-15 13:19:48 +0200
commit0cde8913d8cb183224d03d5cbb37072e63e745d1 (patch)
tree3e8dd6240fdbd1105b429988c40f1edd144dd32d /external
parent1e29baa755f2d46304563bb2d3578866b5d8364a (diff)
Update pdfium to 6656
Drop external/pdfium/annot.patch.1, it has been upstreamed as <https://pdfium-review.googlesource.com/c/pdfium/+/120750>. Update PDFiumPageObjectImpl::getFontName() to match <https://pdfium-review.googlesource.com/c/pdfium/+/121911> "Rename FPDFFont_GetFontName() to FPDFFont_GetFamilyName()". Extend external/pdfium/build.patch.1 to work around: > C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/pdfium/fpdfsdk/fpdf_annot.cpp(1083): fatal error C1001: Internal compiler error. Change-Id: I94ed21265a79d484759f240f3baeb51c92365c78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171884 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'external')
-rw-r--r--external/pdfium/Library_pdfium.mk9
-rw-r--r--external/pdfium/UnpackedTarball_pdfium.mk2
-rw-r--r--external/pdfium/annot.patch.165
-rw-r--r--external/pdfium/build.patch.113
-rw-r--r--external/pdfium/inc/pch/precompiled_pdfium.hxx12
5 files changed, 27 insertions, 74 deletions
diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk
index 589a610e3195..285ccee80bc0 100644
--- a/external/pdfium/Library_pdfium.mk
+++ b/external/pdfium/Library_pdfium.mk
@@ -182,6 +182,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/core/fpdfapi/cmaps/Korea1/cmaps_korea1 \
UnpackedTarball/pdfium/core/fpdfapi/cmaps/fpdf_cmaps \
UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_pagecontentgenerator \
+ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_npagetooneexporter \
+ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_pageexporter \
+ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_pageorganizer \
UnpackedTarball/pdfium/core/fpdfapi/font/cpdf_cidfont \
UnpackedTarball/pdfium/core/fpdfapi/font/cpdf_font \
UnpackedTarball/pdfium/core/fpdfapi/font/cpdf_fontencoding \
@@ -440,11 +443,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
# fxge
$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
- UnpackedTarball/pdfium/core/fxge/dib/cfx_bitmapcomposer \
UnpackedTarball/pdfium/core/fxge/dib/cfx_bitmapstorer \
UnpackedTarball/pdfium/core/fxge/dib/cfx_dibitmap \
UnpackedTarball/pdfium/core/fxge/cfx_drawutils \
- UnpackedTarball/pdfium/core/fxge/dib/cfx_imagerenderer \
UnpackedTarball/pdfium/core/fxge/dib/cfx_imagestretcher \
UnpackedTarball/pdfium/core/fxge/dib/cfx_imagetransformer \
UnpackedTarball/pdfium/core/fxge/dib/cfx_scanlinecompositor \
@@ -469,7 +470,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/core/fxge/fontdata/chromefontdata/FoxitSymbol \
UnpackedTarball/pdfium/core/fxge/freetype/fx_freetype \
UnpackedTarball/pdfium/core/fxge/renderdevicedriver_iface \
- UnpackedTarball/pdfium/core/fxge/agg/fx_agg_driver \
+ UnpackedTarball/pdfium/core/fxge/agg/cfx_agg_bitmapcomposer \
+ UnpackedTarball/pdfium/core/fxge/agg/cfx_agg_devicedriver \
+ UnpackedTarball/pdfium/core/fxge/agg/cfx_agg_imagerenderer \
UnpackedTarball/pdfium/core/fxge/cfx_cliprgn \
UnpackedTarball/pdfium/core/fxge/cfx_color \
UnpackedTarball/pdfium/core/fxge/cfx_glyphcache \
diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk
index a5634f076d1d..6c5bce9b2e29 100644
--- a/external/pdfium/UnpackedTarball_pdfium.mk
+++ b/external/pdfium/UnpackedTarball_pdfium.mk
@@ -18,8 +18,6 @@ pdfium_patches += constexpr-template.patch
pdfium_patches += system-abseil.diff
-pdfium_patches += annot.patch.1
-
$(eval $(call gb_UnpackedTarball_UnpackedTarball,pdfium))
$(eval $(call gb_UnpackedTarball_set_tarball,pdfium,$(PDFIUM_TARBALL)))
diff --git a/external/pdfium/annot.patch.1 b/external/pdfium/annot.patch.1
deleted file mode 100644
index 330685962b4e..000000000000
--- a/external/pdfium/annot.patch.1
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/fpdfsdk/fpdf_annot.cpp b/fpdfsdk/fpdf_annot.cpp
-index bc1f7f7eb..075baf1df 100644
---- a/fpdfsdk/fpdf_annot.cpp
-+++ b/fpdfsdk/fpdf_annot.cpp
-@@ -1366,6 +1366,42 @@ FPDFAnnot_GetFontSize(FPDF_FORMHANDLE hHandle,
- return true;
- }
-
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
-+FPDFAnnot_GetFontColor(FPDF_FORMHANDLE hHandle,
-+ FPDF_ANNOTATION annot,
-+ unsigned int* R,
-+ unsigned int* G,
-+ unsigned int* B) {
-+ if (!R || !G || !B)
-+ return false;
-+
-+ CPDFSDK_InteractiveForm* pForm = FormHandleToInteractiveForm(hHandle);
-+ if (!pForm)
-+ return false;
-+
-+ const CPDF_Dictionary* pAnnotDict = GetAnnotDictFromFPDFAnnotation(annot);
-+ if (!pAnnotDict)
-+ return false;
-+
-+ CPDF_InteractiveForm* pPDFForm = pForm->GetInteractiveForm();
-+ CPDF_FormControl* pFormControl = pPDFForm->GetControlByDict(pAnnotDict);
-+ if (!pFormControl)
-+ return false;
-+
-+ CPDFSDK_Widget* pWidget = pForm->GetWidget(pFormControl);
-+ if (!pWidget)
-+ return false;
-+
-+ std::optional<FX_COLORREF> text_color = pWidget->GetTextColor();
-+ if (!text_color)
-+ return false;
-+
-+ *R = FXSYS_GetRValue(*text_color);
-+ *G = FXSYS_GetGValue(*text_color);
-+ *B = FXSYS_GetBValue(*text_color);
-+ return true;
-+}
-+
- FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsChecked(FPDF_FORMHANDLE hHandle,
- FPDF_ANNOTATION annot) {
- const CPDFSDK_Widget* pWidget =
-diff --git a/public/fpdf_annot.h b/public/fpdf_annot.h
-index 337da58f1..27de4b1a8 100644
---- a/public/fpdf_annot.h
-+++ b/public/fpdf_annot.h
-@@ -845,6 +845,13 @@ FPDFAnnot_GetFontSize(FPDF_FORMHANDLE hHandle,
- FPDF_ANNOTATION annot,
- float* value);
-
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
-+FPDFAnnot_GetFontColor(FPDF_FORMHANDLE hHandle,
-+ FPDF_ANNOTATION annot,
-+ unsigned int* R,
-+ unsigned int* G,
-+ unsigned int* B);
-+
- // Experimental API.
- // Determine if |annot| is a form widget that is checked. Intended for use with
- // checkbox and radio button widgets.
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index 8a70c96f67ee..6fe32f6b76ca 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -64,3 +64,16 @@ index 8026a75d5..34c20d62f 100644
constexpr auto kZoomModeMaxParamCount =
fxcrt::ToArray<const uint8_t>({0, 3, 0, 1, 1, 4, 0, 1, 1});
+--- pdfium/fpdfsdk/fpdf_annot.cpp.orig 2024-08-15 10:01:30.443712200 +0200
++++ pdfium/fpdfsdk/fpdf_annot.cpp 2024-08-15 10:04:41.161274500 +0200
+@@ -1079,8 +1079,8 @@
+ if (appearanceMode < 0 || appearanceMode >= FPDF_ANNOT_APPEARANCEMODE_COUNT)
+ return false;
+
+- static constexpr auto kModeKeyForMode =
+- fxcrt::ToArray<const char*>({"N", "R", "D"});
++ static constexpr std::array<const char*, 3UL> kModeKeyForMode
++ ({"N", "R", "D"});
+ static_assert(kModeKeyForMode.size() == FPDF_ANNOT_APPEARANCEMODE_COUNT,
+ "length of kModeKeyForMode should be equal to "
+ "FPDF_ANNOT_APPEARANCEMODE_COUNT");
diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx
index 5b94cea8372d..ef0860bee248 100644
--- a/external/pdfium/inc/pch/precompiled_pdfium.hxx
+++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx
@@ -37,6 +37,7 @@
#include <cmath>
#include <ctype.h>
#include <functional>
+#include <initializer_list>
#include <iterator>
#include <limits.h>
#include <limits>
@@ -53,7 +54,6 @@
#include <setjmp.h>
#include <sstream>
#include <stack>
-#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
@@ -91,8 +91,11 @@
#include <core/fpdfapi/cmaps/fpdf_cmaps.h>
#include <core/fpdfapi/edit/cpdf_contentstream_write_utils.h>
#include <core/fpdfapi/edit/cpdf_creator.h>
+#include <core/fpdfapi/edit/cpdf_npagetooneexporter.h>
#include <core/fpdfapi/edit/cpdf_pagecontentgenerator.h>
#include <core/fpdfapi/edit/cpdf_pagecontentmanager.h>
+#include <core/fpdfapi/edit/cpdf_pageexporter.h>
+#include <core/fpdfapi/edit/cpdf_pageorganizer.h>
#include <core/fpdfapi/edit/cpdf_stringarchivestream.h>
#include <core/fpdfapi/font/cfx_cttgsubtable.h>
#include <core/fpdfapi/font/cfx_stockfontarray.h>
@@ -368,7 +371,10 @@
#include <core/fxcrt/xml/cfx_xmlnode.h>
#include <core/fxcrt/xml/cfx_xmlparser.h>
#include <core/fxcrt/xml/cfx_xmltext.h>
-#include <core/fxge/agg/fx_agg_driver.h>
+#include <core/fxcrt/zip.h>
+#include <core/fxge/agg/cfx_agg_bitmapcomposer.h>
+#include <core/fxge/agg/cfx_agg_devicedriver.h>
+#include <core/fxge/agg/cfx_agg_imagerenderer.h>
#include <core/fxge/calculate_pitch.h>
#include <core/fxge/cfx_cliprgn.h>
#include <core/fxge/cfx_color.h>
@@ -392,12 +398,10 @@
#include <core/fxge/cfx_textrenderoptions.h>
#include <core/fxge/cfx_unicodeencoding.h>
#include <core/fxge/dib/blend.h>
-#include <core/fxge/dib/cfx_bitmapcomposer.h>
#include <core/fxge/dib/cfx_bitmapstorer.h>
#include <core/fxge/dib/cfx_cmyk_to_srgb.h>
#include <core/fxge/dib/cfx_dibbase.h>
#include <core/fxge/dib/cfx_dibitmap.h>
-#include <core/fxge/dib/cfx_imagerenderer.h>
#include <core/fxge/dib/cfx_imagestretcher.h>
#include <core/fxge/dib/cfx_imagetransformer.h>
#include <core/fxge/dib/cfx_scanlinecompositor.h>