diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2024-08-15 10:09:52 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2024-08-15 13:19:48 +0200 |
commit | 0cde8913d8cb183224d03d5cbb37072e63e745d1 (patch) | |
tree | 3e8dd6240fdbd1105b429988c40f1edd144dd32d /external | |
parent | 1e29baa755f2d46304563bb2d3578866b5d8364a (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.mk | 9 | ||||
-rw-r--r-- | external/pdfium/UnpackedTarball_pdfium.mk | 2 | ||||
-rw-r--r-- | external/pdfium/annot.patch.1 | 65 | ||||
-rw-r--r-- | external/pdfium/build.patch.1 | 13 | ||||
-rw-r--r-- | external/pdfium/inc/pch/precompiled_pdfium.hxx | 12 |
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> |