summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Röttsches <drott@chromium.org>2021-06-23 15:08:04 +0300
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-04 10:21:01 +0200
commit4f593f694d8177f8d822f4b85899b9cdea2bdc51 (patch)
tree17632fa99f82fceffb124ac969dca97f86d7bdf6
parentae8a7a87122669eeae0b5685e72d1d2112726073 (diff)
downloadqtwebengine-chromium-4f593f694d8177f8d822f4b85899b9cdea2bdc51.tar.gz
[Backport] Gate breaking FreeType change in COLRv1 struct names
Manual edit of an original change in order to allow build with latest freetype release 2.11.0 without separate roll commit. Subsequent change removes support to build with non-latest freetype completely, so save it Bug: chromium:1223001 Change-Id: I969d86e5678961c3daad7995e1fe8dd9b976f077 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
-rw-r--r--chromium/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/chromium/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp b/chromium/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
index 3b28b442fea..4b0ab303709 100644
--- a/chromium/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
+++ b/chromium/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
@@ -64,6 +64,8 @@ bool operator==(const FT_OpaquePaint& a, const FT_OpaquePaint& b) {
}
#endif
+#define SK_AFTER_FT_TRANSFORM_RENAME FREETYPE_MAJOR >= 2 && FREETYPE_MINOR >= 11
+
namespace {
FT_Pixel_Mode compute_pixel_mode(SkMask::Format format) {
@@ -759,8 +761,13 @@ void colrv1_transform(SkCanvas* canvas, FT_Face face, FT_COLR_Paint colrv1_paint
SkMatrix transform;
switch (colrv1_paint.format) {
+#if SK_AFTER_FT_TRANSFORM_RENAME
+ case FT_COLR_PAINTFORMAT_TRANSFORM: {
+ transform = ToSkMatrix(colrv1_paint.u.transform.affine);
+#else
case FT_COLR_PAINTFORMAT_TRANSFORMED: {
transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
+#endif
break;
}
case FT_COLR_PAINTFORMAT_TRANSLATE: {
@@ -880,10 +887,19 @@ bool colrv1_traverse_paint(SkCanvas* canvas,
traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID,
FT_COLOR_NO_ROOT_TRANSFORM);
break;
+#if SK_AFTER_FT_TRANSFORM_RENAME
+ case FT_COLR_PAINTFORMAT_TRANSFORM:
+#else
case FT_COLR_PAINTFORMAT_TRANSFORMED:
+#endif
colrv1_transform(canvas, face, paint);
- traverse_result = colrv1_traverse_paint(canvas, palette, face,
- paint.u.transformed.paint, visited_set);
+ traverse_result =
+ colrv1_traverse_paint(canvas, palette, face,
+#if SK_AFTER_FT_TRANSFORM_RENAME
+ paint.u.transform.paint, visited_set);
+#else
+ paint.u.transformed.paint, visited_set);
+#endif
break;
case FT_COLR_PAINTFORMAT_TRANSLATE:
colrv1_transform(canvas, face, paint);