Enforce IWYU on skottie and sksg
While using these modules in G3, I ran into a few cases where missing
#includes caused problems, so I decided to enforce IWYU on the
entirety of both modules.
A few non-Skottie files also needed updating as a result or in
unrelated but similar errors.
Change-Id: I453afd156291136dc8d9acebb68512a78eb64e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/818104
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
diff --git a/bench/DecodeBench.cpp b/bench/DecodeBench.cpp
index 0eb5fdf..e2d46cb 100644
--- a/bench/DecodeBench.cpp
+++ b/bench/DecodeBench.cpp
@@ -7,6 +7,7 @@
#include "bench/Benchmark.h"
#include "include/core/SkBitmap.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkPicture.h"
#include "include/core/SkPictureRecorder.h"
#include "modules/skottie/include/Skottie.h"
diff --git a/modules/canvaskit/skottie_bindings.cpp b/modules/canvaskit/skottie_bindings.cpp
index 1607a6d..d17ca74 100644
--- a/modules/canvaskit/skottie_bindings.cpp
+++ b/modules/canvaskit/skottie_bindings.cpp
@@ -15,6 +15,7 @@
#include "modules/canvaskit/WasmCommon.h"
#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/utils/SkottieUtils.h"
#include "modules/skottie/utils/TextEditor.h"
#include "modules/skparagraph/include/Paragraph.h"
diff --git a/modules/skottie/BUILD.bazel b/modules/skottie/BUILD.bazel
index a02a47f..3bd9eed 100644
--- a/modules/skottie/BUILD.bazel
+++ b/modules/skottie/BUILD.bazel
@@ -14,6 +14,10 @@
"//src/utils:json_srcs",
],
hdrs = ["//modules/skottie/include:hdrs"],
+ defines = [
+ "SK_ENABLE_SKOTTIE_SKSLEFFECT",
+ "SK_ENABLE_SKOTTIE",
+ ],
visibility = ["//:__subpackages__"],
deps = [
"//:skia_internal",
@@ -95,6 +99,10 @@
"//src/utils:json_srcs",
],
hdrs = ["//modules/skottie/include:hdrs"],
+ defines = [
+ "SK_ENABLE_SKOTTIE_SKSLEFFECT",
+ "SK_ENABLE_SKOTTIE",
+ ],
features = ["layering_check"],
visibility = ["//:__subpackages__"],
deps = [
diff --git a/modules/skottie/gm/ExternalProperties.cpp b/modules/skottie/gm/ExternalProperties.cpp
index d910efd..c0724aa 100644
--- a/modules/skottie/gm/ExternalProperties.cpp
+++ b/modules/skottie/gm/ExternalProperties.cpp
@@ -7,6 +7,7 @@
#include "gm/gm.h"
#include "include/core/SkColor.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkStream.h"
#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/include/SkottieProperty.h"
diff --git a/modules/skottie/gm/SkottieGM.cpp b/modules/skottie/gm/SkottieGM.cpp
index 4183ec5..446d8f4 100644
--- a/modules/skottie/gm/SkottieGM.cpp
+++ b/modules/skottie/gm/SkottieGM.cpp
@@ -9,6 +9,7 @@
#include "include/codec/SkCodec.h"
#include "include/codec/SkGifDecoder.h"
#include "include/core/SkColor.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkStream.h"
#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/include/SkottieProperty.h"
diff --git a/modules/skottie/include/Skottie.h b/modules/skottie/include/Skottie.h
index 2cf6cdc..632575a 100644
--- a/modules/skottie/include/Skottie.h
+++ b/modules/skottie/include/Skottie.h
@@ -8,24 +8,26 @@
#ifndef Skottie_DEFINED
#define Skottie_DEFINED
-#include "include/core/SkFontMgr.h"
#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/core/SkSize.h"
#include "include/core/SkString.h"
#include "include/core/SkTypes.h"
-#include "modules/skottie/include/ExternalLayer.h"
-#include "modules/skottie/include/SkottieProperty.h"
-#include "modules/skottie/include/SlotManager.h"
#include "modules/skresources/include/SkResources.h"
-#include <memory>
+// TODO(kjlubick) update clients and then remove the following:
+#include "include/core/SkFontMgr.h" // IWYU pragma: keep
+#include "modules/skottie/include/ExternalLayer.h" // IWYU pragma: keep
+#include "modules/skottie/include/SkottieProperty.h" // IWYU pragma: keep
+#include "modules/skottie/include/SlotManager.h" // IWYU pragma: keep
+
+#include <cstddef>
+#include <cstdint>
#include <vector>
class SkCanvas;
-struct SkRect;
class SkStream;
-
-namespace skjson { class ObjectValue; }
+struct SkRect;
namespace sksg {
diff --git a/modules/skottie/include/SkottieProperty.h b/modules/skottie/include/SkottieProperty.h
index 087eb57..c489eca 100644
--- a/modules/skottie/include/SkottieProperty.h
+++ b/modules/skottie/include/SkottieProperty.h
@@ -14,13 +14,20 @@
#include "include/core/SkPoint.h"
#include "include/core/SkRect.h"
#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/core/SkSpan.h"
+#include "include/core/SkString.h"
#include "include/core/SkTypeface.h"
+#include "include/private/base/SkAPI.h"
#include "include/utils/SkTextUtils.h"
#include "modules/skottie/include/TextShaper.h"
+#include <cstddef>
+#include <cstdint>
#include <functional>
-#include <vector>
+#include <limits>
+#include <memory>
+#include <utility>
class SkCanvas;
diff --git a/modules/skottie/include/SlotManager.h b/modules/skottie/include/SlotManager.h
index f45ef98..b7de1aa 100644
--- a/modules/skottie/include/SlotManager.h
+++ b/modules/skottie/include/SlotManager.h
@@ -9,24 +9,22 @@
#define SlotManager_DEFINED
#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
#include "include/core/SkString.h"
+#include "include/private/base/SkAPI.h"
#include "include/private/base/SkTArray.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/text/TextAdapter.h"
#include "src/core/SkTHash.h"
#include <optional>
-namespace skjson {
-class ObjectValue;
-}
+struct SkV2;
namespace skresources {
class ImageAsset;
}
-namespace sksg {
-class Node;
-}
namespace skottie {
struct TextPropertyValue;
@@ -35,7 +33,6 @@
class AnimationBuilder;
class SceneGraphRevalidator;
class AnimatablePropertyContainer;
-class TextAdapter;
} // namespace internal
using namespace skia_private;
diff --git a/modules/skottie/include/TextShaper.h b/modules/skottie/include/TextShaper.h
index 7c12f8c..bb614b3 100644
--- a/modules/skottie/include/TextShaper.h
+++ b/modules/skottie/include/TextShaper.h
@@ -11,16 +11,21 @@
#include "include/core/SkFont.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkTypes.h"
#include "include/private/base/SkTypeTraits.h"
#include "include/utils/SkTextUtils.h"
+#include <cstddef>
+#include <cstdint>
+#include <type_traits>
#include <vector>
class SkCanvas;
class SkFontMgr;
-class SkTypeface;
+class SkPaint;
class SkString;
-
+class SkTypeface;
struct SkRect;
namespace skottie {
diff --git a/modules/skottie/src/BlendModes.cpp b/modules/skottie/src/BlendModes.cpp
index f26d6dd..cc55fea 100644
--- a/modules/skottie/src/BlendModes.cpp
+++ b/modules/skottie/src/BlendModes.cpp
@@ -4,13 +4,22 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
#include "include/core/SkBlendMode.h"
#include "include/core/SkBlender.h"
+#include "include/core/SkData.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+
+#include <array>
+#include <cstddef>
+#include <utility>
namespace skottie::internal {
diff --git a/modules/skottie/src/Camera.cpp b/modules/skottie/src/Camera.cpp
index 3d25c20..6685def 100644
--- a/modules/skottie/src/Camera.cpp
+++ b/modules/skottie/src/Camera.cpp
@@ -5,11 +5,17 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPoint.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkFloatingPoint.h"
#include "modules/skottie/src/Camera.h"
-
-#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include "src/utils/SkJSON.h"
+
+#include <algorithm>
+#include <cmath>
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/Camera.h b/modules/skottie/src/Camera.h
index 3609048..14af1ea 100644
--- a/modules/skottie/src/Camera.h
+++ b/modules/skottie/src/Camera.h
@@ -8,10 +8,22 @@
#ifndef SkottieCamera_DEFINED
#define SkottieCamera_DEFINED
+#include "include/core/SkM44.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSize.h"
+#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/Transform.h"
+namespace skjson {
+class ObjectValue;
+}
+namespace sksg {
+class Transform;
+}
+
namespace skottie {
namespace internal {
+class AnimationBuilder;
class CameraAdaper final : public TransformAdapter3D {
public:
diff --git a/modules/skottie/src/Composition.cpp b/modules/skottie/src/Composition.cpp
index 572bff6..60e7748 100644
--- a/modules/skottie/src/Composition.cpp
+++ b/modules/skottie/src/Composition.cpp
@@ -7,14 +7,20 @@
#include "modules/skottie/src/Composition.h"
-#include "include/core/SkCanvas.h"
+#include "include/core/SkString.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/Camera.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "src/utils/SkJSON.h"
#include <algorithm>
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/Composition.h b/modules/skottie/src/Composition.h
index fd92ef62..8b37aa5 100644
--- a/modules/skottie/src/Composition.h
+++ b/modules/skottie/src/Composition.h
@@ -8,15 +8,26 @@
#ifndef SkottieComposition_DEFINED
#define SkottieComposition_DEFINED
-#include "modules/skottie/src/SkottiePriv.h"
-
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSize.h"
+#include "include/private/base/SkNoncopyable.h"
#include "modules/skottie/src/Layer.h"
#include "src/core/SkTHash.h"
+#include <cstddef>
#include <vector>
+namespace skjson {
+class ObjectValue;
+}
+namespace sksg {
+class RenderNode;
+class Transform;
+} // namespace sksg
+
namespace skottie {
namespace internal {
+class AnimationBuilder;
class CompositionBuilder final : SkNoncopyable {
public:
diff --git a/modules/skottie/src/Layer.cpp b/modules/skottie/src/Layer.cpp
index a780a9b..1691a84 100644
--- a/modules/skottie/src/Layer.cpp
+++ b/modules/skottie/src/Layer.cpp
@@ -7,14 +7,27 @@
#include "modules/skottie/src/Layer.h"
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkPathTypes.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkTileMode.h"
+#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTArray.h"
-#include "modules/skottie/src/Camera.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/src/Composition.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/effects/Effects.h"
#include "modules/skottie/src/effects/MotionBlurEffect.h"
#include "modules/sksg/include/SkSGClipEffect.h"
#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
#include "modules/sksg/include/SkSGGroup.h"
#include "modules/sksg/include/SkSGMaskEffect.h"
#include "modules/sksg/include/SkSGMerge.h"
@@ -24,6 +37,12 @@
#include "modules/sksg/include/SkSGRenderEffect.h"
#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
+#include <vector>
+
+struct SkSize;
using namespace skia_private;
@@ -469,7 +488,7 @@
// Clip layers with explicit dimensions.
float w = 0, h = 0;
- if (Parse<float>(fJlayer["w"], &w) && Parse<float>(fJlayer["h"], &h)) {
+ if (::skottie::Parse<float>(fJlayer["w"], &w) && ::skottie::Parse<float>(fJlayer["h"], &h)) {
layer = sksg::ClipEffect::Make(std::move(layer),
sksg::Rect::Make(SkRect::MakeWH(w, h)),
#ifdef SK_LEGACY_SKOTTIE_CLIPPING
diff --git a/modules/skottie/src/Layer.h b/modules/skottie/src/Layer.h
index 9565a59..9164c6d 100644
--- a/modules/skottie/src/Layer.h
+++ b/modules/skottie/src/Layer.h
@@ -8,8 +8,21 @@
#ifndef SkottieLayer_DEFINED
#define SkottieLayer_DEFINED
+#include <cstddef>
+#include <cstdint>
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/SkottiePriv.h"
+struct SkSize;
+
+namespace skjson {
+class ObjectValue;
+}
+namespace sksg {
+class RenderNode;
+class Transform;
+} // namespace sksg
+
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/Path.cpp b/modules/skottie/src/Path.cpp
index 2c3f514..9825dc6 100644
--- a/modules/skottie/src/Path.cpp
+++ b/modules/skottie/src/Path.cpp
@@ -5,11 +5,15 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPath.h"
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/sksg/include/SkSGPath.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/Skottie.cpp b/modules/skottie/src/Skottie.cpp
index fbb754b..8a0c65d 100644
--- a/modules/skottie/src/Skottie.cpp
+++ b/modules/skottie/src/Skottie.cpp
@@ -10,36 +10,44 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkData.h"
#include "include/core/SkFontMgr.h"
-#include "include/core/SkImage.h"
-#include "include/core/SkPaint.h"
-#include "include/core/SkPoint.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkRect.h"
#include "include/core/SkStream.h"
-#include "include/private/base/SkTArray.h"
+#include "include/private/base/SkDebug.h"
+#include "include/private/base/SkFloatingPoint.h"
#include "include/private/base/SkTPin.h"
#include "include/private/base/SkTo.h"
#include "modules/skottie/include/ExternalLayer.h"
#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/include/SlotManager.h"
+#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/Composition.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/skottie/src/Transform.h"
+#include "modules/skottie/src/Transform.h" // IWYU pragma: keep
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/text/TextAdapter.h"
-#include "modules/sksg/include/SkSGInvalidationController.h"
#include "modules/sksg/include/SkSGOpacityEffect.h"
-#include "modules/sksg/include/SkSGPaint.h"
-#include "modules/sksg/include/SkSGPath.h"
-#include "modules/sksg/include/SkSGRenderEffect.h"
#include "modules/sksg/include/SkSGRenderNode.h"
-#include "modules/sksg/include/SkSGTransform.h"
+#include "src/core/SkTHash.h"
#include "src/core/SkTraceEvent.h"
+#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <chrono>
#include <cmath>
+#include <cstdarg>
+#include <cstdio>
+#include <cstring>
+#include <functional>
#include <memory>
#include <ratio>
+#include <utility>
-#include <stdlib.h>
+namespace sksg {
+class Color;
+}
namespace skottie {
diff --git a/modules/skottie/src/SkottieJson.cpp b/modules/skottie/src/SkottieJson.cpp
index 7cee8c5..ffc7440 100644
--- a/modules/skottie/src/SkottieJson.cpp
+++ b/modules/skottie/src/SkottieJson.cpp
@@ -7,15 +7,16 @@
#include "modules/skottie/src/SkottieJson.h"
-#include "include/core/SkData.h"
-#include "include/core/SkPath.h"
+#include "include/core/SkM44.h"
#include "include/core/SkPoint.h"
#include "include/core/SkScalar.h"
-#include "include/core/SkStream.h"
#include "include/core/SkString.h"
+#include "include/private/base/SkTo.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "src/utils/SkJSON.h"
+
+#include <cstddef>
#include <limits>
-#include <vector>
namespace skottie {
diff --git a/modules/skottie/src/SkottieJson.h b/modules/skottie/src/SkottieJson.h
index 3d75ad4..feaa343 100644
--- a/modules/skottie/src/SkottieJson.h
+++ b/modules/skottie/src/SkottieJson.h
@@ -8,12 +8,11 @@
#ifndef SkottieJson_DEFINED
#define SkottieJson_DEFINED
-#include "include/core/SkRefCnt.h"
-#include "src/utils/SkJSON.h"
-
-class SkData;
-class SkStream;
-class SkString;
+namespace skjson {
+class ObjectValue;
+class StringValue;
+class Value;
+} // namespace skjson
namespace skottie {
diff --git a/modules/skottie/src/SkottiePriv.h b/modules/skottie/src/SkottiePriv.h
index 24cf109..087582c 100644
--- a/modules/skottie/src/SkottiePriv.h
+++ b/modules/skottie/src/SkottiePriv.h
@@ -11,9 +11,11 @@
#include "include/core/SkRefCnt.h"
#include "modules/skottie/include/Skottie.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkFontStyle.h"
#include "include/core/SkString.h"
#include "include/core/SkTypeface.h"
+#include "modules/skottie/include/ExternalLayer.h"
#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/src/animator/Animator.h"
@@ -23,8 +25,6 @@
#include <vector>
-class SkFontMgr;
-
namespace skjson {
class ArrayValue;
class ObjectValue;
diff --git a/modules/skottie/src/SkottieTool.cpp b/modules/skottie/src/SkottieTool.cpp
index 071abde..f46b3b7 100644
--- a/modules/skottie/src/SkottieTool.cpp
+++ b/modules/skottie/src/SkottieTool.cpp
@@ -10,35 +10,59 @@
#include "include/codec/SkPngDecoder.h"
#include "include/codec/SkWebpDecoder.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkData.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkGraphics.h"
-#include "include/core/SkPicture.h"
-#include "include/core/SkPictureRecorder.h"
-#include "include/core/SkSerialProcs.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkImageInfo.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPixmap.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "include/core/SkStream.h"
+#include "include/core/SkString.h"
#include "include/core/SkSurface.h"
+#include "include/core/SkTypes.h"
#include "include/encode/SkPngEncoder.h"
+#include "include/private/base/SkDebug.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/ExternalLayer.h"
#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/utils/SkottieUtils.h"
#include "modules/skresources/include/SkResources.h"
#include "src/core/SkOSFile.h"
#include "src/core/SkTaskGroup.h"
-#include "src/image/SkImage_Base.h"
#include "src/utils/SkOSPath.h"
#include "tools/flags/CommandLineFlags.h"
-#include <algorithm>
-#include <chrono>
-#include <future>
-#include <numeric>
-#include <vector>
-
#if !defined(CPU_ONLY)
-#include "include/gpu/GrContextOptions.h"
+#include "include/gpu/GpuTypes.h"
+#include "include/gpu/GrDirectContext.h"
+#include "include/gpu/GrTypes.h"
#include "include/gpu/ganesh/SkSurfaceGanesh.h"
+#include "tools/gpu/ContextType.h"
#include "tools/gpu/GrContextFactory.h"
#endif
+#if !defined(CPU_ONLY) && !defined(GPU_ONLY)
+#include "include/core/SkPicture.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkSerialProcs.h"
+#include "src/image/SkImage_Base.h"
+#endif
+
+#include <algorithm>
+#include <chrono>
+#include <cstdio>
+#include <cstring>
+#include <functional>
+#include <memory>
+#include <numeric>
+#include <utility>
+#include <vector>
+
#if defined(HAVE_VIDEO_ENCODER)
#include "experimental/ffmpeg/SkVideoEncoder.h"
const char* formats_help = "Output format (png, skp, mp4, or null)";
@@ -453,14 +477,14 @@
}
OutputFormat fmt;
- if (0 == strcmp(FLAGS_format[0], "png")) {
+ if (0 == std::strcmp(FLAGS_format[0], "png")) {
fmt = OutputFormat::kPNG;
- } else if (0 == strcmp(FLAGS_format[0], "skp")) {
+ } else if (0 == std::strcmp(FLAGS_format[0], "skp")) {
fmt = OutputFormat::kSKP;
- } else if (0 == strcmp(FLAGS_format[0], "null")) {
+ } else if (0 == std::strcmp(FLAGS_format[0], "null")) {
fmt = OutputFormat::kNull;
#if defined(HAVE_VIDEO_ENCODER)
- } else if (0 == strcmp(FLAGS_format[0], "mp4")) {
+ } else if (0 == std::strcmp(FLAGS_format[0], "mp4")) {
fmt = OutputFormat::kMP4;
#endif
} else {
diff --git a/modules/skottie/src/SlotManager.cpp b/modules/skottie/src/SlotManager.cpp
index fa49167..a14ab52 100644
--- a/modules/skottie/src/SlotManager.cpp
+++ b/modules/skottie/src/SlotManager.cpp
@@ -5,12 +5,20 @@
* found in the LICENSE file.
*/
-#include "include/core/SkImage.h"
#include "modules/skottie/include/SlotManager.h"
+
+#include "include/core/SkImage.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkSamplingOptions.h"
+#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/text/TextAdapter.h"
#include "modules/skresources/include/SkResources.h"
+#include <utility>
+
class skottie::SlotManager::ImageAssetProxy final : public skresources::ImageAsset {
public:
explicit ImageAssetProxy(sk_sp<skresources::ImageAsset> asset)
diff --git a/modules/skottie/src/Transform.cpp b/modules/skottie/src/Transform.cpp
index 615bc17..4f9c743 100644
--- a/modules/skottie/src/Transform.cpp
+++ b/modules/skottie/src/Transform.cpp
@@ -7,9 +7,15 @@
#include "modules/skottie/src/Transform.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include "src/utils/SkJSON.h"
+
+#include <cmath>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/Transform.h b/modules/skottie/src/Transform.h
index 16a6ebe..40eff09 100644
--- a/modules/skottie/src/Transform.h
+++ b/modules/skottie/src/Transform.h
@@ -15,14 +15,16 @@
#include "modules/skottie/src/SkottieValue.h"
#include "modules/sksg/include/SkSGTransform.h"
-namespace skjson {
+#include <utility>
+namespace skjson {
class ObjectValue;
-} // namespace skjson
+} // namespace skjson
namespace skottie {
namespace internal {
+class AnimationBuilder;
class TransformAdapter2D final : public DiscardableAdapterBase<TransformAdapter2D,
sksg::Matrix<SkMatrix>> {
diff --git a/modules/skottie/src/animator/Animator.cpp b/modules/skottie/src/animator/Animator.cpp
index 0aca340..6df2f84 100644
--- a/modules/skottie/src/animator/Animator.cpp
+++ b/modules/skottie/src/animator/Animator.cpp
@@ -7,9 +7,13 @@
#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/animator/KeyframeAnimator.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
namespace skottie::internal {
diff --git a/modules/skottie/src/animator/Animator.h b/modules/skottie/src/animator/Animator.h
index 4c6993e..f7f2021 100644
--- a/modules/skottie/src/animator/Animator.h
+++ b/modules/skottie/src/animator/Animator.h
@@ -17,7 +17,6 @@
namespace skjson {
class ObjectValue;
-class StringValue;
} // namespace skjson
diff --git a/modules/skottie/src/animator/KeyframeAnimator.cpp b/modules/skottie/src/animator/KeyframeAnimator.cpp
index 7e406af..93ab157 100644
--- a/modules/skottie/src/animator/KeyframeAnimator.cpp
+++ b/modules/skottie/src/animator/KeyframeAnimator.cpp
@@ -7,7 +7,11 @@
#include "modules/skottie/src/animator/KeyframeAnimator.h"
+#include "include/private/base/SkTo.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "src/utils/SkJSON.h"
+
+#include <cstddef>
#define DUMP_KF_RECORDS 0
diff --git a/modules/skottie/src/animator/KeyframeAnimator.h b/modules/skottie/src/animator/KeyframeAnimator.h
index 0cdac96..5b6737e 100644
--- a/modules/skottie/src/animator/KeyframeAnimator.h
+++ b/modules/skottie/src/animator/KeyframeAnimator.h
@@ -10,10 +10,13 @@
#include "include/core/SkCubicMap.h"
#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/private/base/SkAssert.h"
#include "include/private/base/SkNoncopyable.h"
-#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/animator/Animator.h"
+#include <cstdint>
+#include <utility>
#include <vector>
namespace skjson {
@@ -22,6 +25,10 @@
class Value;
} // namespace skjson
+namespace skottie {
+class ExpressionManager;
+}
+
namespace skottie::internal {
class AnimationBuilder;
diff --git a/modules/skottie/src/animator/ScalarKeyframeAnimator.cpp b/modules/skottie/src/animator/ScalarKeyframeAnimator.cpp
index a299bf1..c56d60d 100644
--- a/modules/skottie/src/animator/ScalarKeyframeAnimator.cpp
+++ b/modules/skottie/src/animator/ScalarKeyframeAnimator.cpp
@@ -5,11 +5,21 @@
* found in the LICENSE file.
*/
+#include "include/core/SkCubicMap.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/animator/KeyframeAnimator.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
+#include <vector>
namespace skottie::internal {
@@ -87,7 +97,7 @@
bool parseValue(const AnimationBuilder&, const skjson::Value& jv) const override {
- return Parse(jv, fTarget);
+ return ::skottie::Parse(jv, fTarget);
}
private:
@@ -95,7 +105,7 @@
const skjson::ObjectValue&,
const skjson::Value& jv,
Keyframe::Value* v) override {
- return Parse(jv, &v->flt);
+ return ::skottie::Parse(jv, &v->flt);
}
ScalarValue* fTarget;
diff --git a/modules/skottie/src/animator/ShapeKeyframeAnimator.cpp b/modules/skottie/src/animator/ShapeKeyframeAnimator.cpp
index 79d59fc..478782c 100644
--- a/modules/skottie/src/animator/ShapeKeyframeAnimator.cpp
+++ b/modules/skottie/src/animator/ShapeKeyframeAnimator.cpp
@@ -5,11 +5,23 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPath.h"
#include "include/core/SkPathBuilder.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
+#include "include/private/base/SkTo.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/animator/VectorKeyframeAnimator.h"
+#include "src/utils/SkJSON.h"
+
+#include <cstddef>
+#include <vector>
+
+namespace skottie::internal {
+class AnimationBuilder;
+}
namespace skottie {
diff --git a/modules/skottie/src/animator/TextKeyframeAnimator.cpp b/modules/skottie/src/animator/TextKeyframeAnimator.cpp
index c738e24..1a482c7 100644
--- a/modules/skottie/src/animator/TextKeyframeAnimator.cpp
+++ b/modules/skottie/src/animator/TextKeyframeAnimator.cpp
@@ -5,12 +5,23 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/SkottieValue.h"
+#include "include/core/SkCubicMap.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/animator/KeyframeAnimator.h"
#include "modules/skottie/src/text/TextValue.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
+#include <vector>
namespace skottie::internal {
+class AnimationBuilder;
namespace {
class TextKeyframeAnimator final : public KeyframeAnimator {
diff --git a/modules/skottie/src/animator/Vec2KeyframeAnimator.cpp b/modules/skottie/src/animator/Vec2KeyframeAnimator.cpp
index d0b73e0..f7c1829 100644
--- a/modules/skottie/src/animator/Vec2KeyframeAnimator.cpp
+++ b/modules/skottie/src/animator/Vec2KeyframeAnimator.cpp
@@ -6,14 +6,28 @@
*/
#include "include/core/SkContourMeasure.h"
+#include "include/core/SkCubicMap.h"
+#include "include/core/SkM44.h"
#include "include/core/SkPathBuilder.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkString.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/animator/KeyframeAnimator.h"
+#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <cmath>
+#include <utility>
+#include <vector>
namespace skottie::internal {
@@ -168,7 +182,7 @@
}
bool parseValue(const AnimationBuilder&, const skjson::Value& jv) const override {
- return Parse(jv, fVecTarget);
+ return ::skottie::Parse(jv, fVecTarget);
}
private:
@@ -219,7 +233,7 @@
const skjson::Value& jv,
Keyframe::Value* v) override {
Vec2KeyframeAnimator::SpatialValue val;
- if (!Parse(jv, &val.v2)) {
+ if (!::skottie::Parse(jv, &val.v2)) {
return false;
}
diff --git a/modules/skottie/src/animator/VectorKeyframeAnimator.cpp b/modules/skottie/src/animator/VectorKeyframeAnimator.cpp
index b42a82a..cfe7fd0 100644
--- a/modules/skottie/src/animator/VectorKeyframeAnimator.cpp
+++ b/modules/skottie/src/animator/VectorKeyframeAnimator.cpp
@@ -7,17 +7,29 @@
#include "modules/skottie/src/animator/VectorKeyframeAnimator.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkCubicMap.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkString.h"
#include "include/core/SkTypes.h"
+#include "include/private/base/SkTFitsIn.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "src/base/SkSafeMath.h"
#include "src/base/SkVx.h"
+#include "src/utils/SkJSON.h"
#include <algorithm>
+#include <cstdint>
#include <cstring>
+#include <utility>
namespace skottie {
diff --git a/modules/skottie/src/animator/VectorKeyframeAnimator.h b/modules/skottie/src/animator/VectorKeyframeAnimator.h
index 65868e1..fb1c38e 100644
--- a/modules/skottie/src/animator/VectorKeyframeAnimator.h
+++ b/modules/skottie/src/animator/VectorKeyframeAnimator.h
@@ -8,11 +8,25 @@
#ifndef SkottieVectorKeyframeAnimator_DEFINED
#define SkottieVectorKeyframeAnimator_DEFINED
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/animator/KeyframeAnimator.h"
+#include <cstddef>
#include <vector>
+namespace skjson {
+class ArrayValue;
+class ObjectValue;
+class Value;
+} // namespace skjson
+
+namespace skottie {
+class ExpressionManager;
+}
+
namespace skottie::internal {
+class AnimationBuilder;
+class Animator;
class VectorAnimatorBuilder final : public AnimatorBuilder {
public:
diff --git a/modules/skottie/src/effects/BlackAndWhiteEffect.cpp b/modules/skottie/src/effects/BlackAndWhiteEffect.cpp
index 3ff364e..d7a00c7 100644
--- a/modules/skottie/src/effects/BlackAndWhiteEffect.cpp
+++ b/modules/skottie/src/effects/BlackAndWhiteEffect.cpp
@@ -5,14 +5,24 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkData.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
-#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkAssert.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/BrightnessContrastEffect.cpp b/modules/skottie/src/effects/BrightnessContrastEffect.cpp
index 41fc2c7..571caea 100644
--- a/modules/skottie/src/effects/BrightnessContrastEffect.cpp
+++ b/modules/skottie/src/effects/BrightnessContrastEffect.cpp
@@ -5,17 +5,29 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
#include "include/core/SkColorFilter.h"
+#include "include/core/SkData.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include <algorithm>
#include <cmath>
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/BulgeEffect.cpp b/modules/skottie/src/effects/BulgeEffect.cpp
index 6b2ee0b..2652254 100644
--- a/modules/skottie/src/effects/BulgeEffect.cpp
+++ b/modules/skottie/src/effects/BulgeEffect.cpp
@@ -5,18 +5,40 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
#include "include/core/SkPicture.h"
#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkString.h"
#include "include/core/SkTileMode.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
-#include "src/utils/SkJSON.h"
+
+#include <cmath>
+#include <cstddef>
+#include <utility>
+#include <vector>
+
+namespace skjson {
+class ArrayValue;
+}
+namespace sksg {
+class InvalidationController;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/CCTonerEffect.cpp b/modules/skottie/src/effects/CCTonerEffect.cpp
index a0945be..e71c241 100644
--- a/modules/skottie/src/effects/CCTonerEffect.cpp
+++ b/modules/skottie/src/effects/CCTonerEffect.cpp
@@ -5,16 +5,26 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
-#include "include/private/SkColorData.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "src/base/SkVx.h"
#include "src/core/SkSwizzlePriv.h"
-#include "src/utils/SkJSON.h"
+
+#include <cstddef>
+#include <utility>
+#include <vector>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
diff --git a/modules/skottie/src/effects/CornerPinEffect.cpp b/modules/skottie/src/effects/CornerPinEffect.cpp
index 0719e45..3f21ba9 100644
--- a/modules/skottie/src/effects/CornerPinEffect.cpp
+++ b/modules/skottie/src/effects/CornerPinEffect.cpp
@@ -5,12 +5,25 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
-#include "modules/skottie/src/SkottieJson.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSize.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include <array>
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
+
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/DirectionalBlur.cpp b/modules/skottie/src/effects/DirectionalBlur.cpp
index 6cfc5b9..71a0943 100644
--- a/modules/skottie/src/effects/DirectionalBlur.cpp
+++ b/modules/skottie/src/effects/DirectionalBlur.cpp
@@ -5,13 +5,24 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkImageFilter.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "include/effects/SkImageFilters.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
diff --git a/modules/skottie/src/effects/DisplacementMapEffect.cpp b/modules/skottie/src/effects/DisplacementMapEffect.cpp
index c9a6701..3460691 100644
--- a/modules/skottie/src/effects/DisplacementMapEffect.cpp
+++ b/modules/skottie/src/effects/DisplacementMapEffect.cpp
@@ -5,22 +5,45 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
#include "include/core/SkCanvas.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPicture.h"
#include "include/core/SkPictureRecorder.h"
-#include "include/effects/SkColorMatrix.h"
-#include "include/effects/SkImageFilters.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTileMode.h"
#include "include/effects/SkRuntimeEffect.h"
#include "include/private/SkColorData.h"
+#include "include/private/base/SkAssert.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/Layer.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <cmath>
+#include <cstdio>
#include <tuple>
+#include <utility>
+#include <vector>
+
+struct SkPoint;
+
+namespace sksg {
+class InvalidationController;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/DropShadowEffect.cpp b/modules/skottie/src/effects/DropShadowEffect.cpp
index f254763..f189d6a 100644
--- a/modules/skottie/src/effects/DropShadowEffect.cpp
+++ b/modules/skottie/src/effects/DropShadowEffect.cpp
@@ -5,12 +5,25 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/Effects.cpp b/modules/skottie/src/effects/Effects.cpp
index 434e151..19a86fe 100644
--- a/modules/skottie/src/effects/Effects.cpp
+++ b/modules/skottie/src/effects/Effects.cpp
@@ -7,14 +7,19 @@
#include "modules/skottie/src/effects/Effects.h"
-#include "modules/skottie/src/Composition.h"
-#include "modules/skottie/src/Layer.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include <algorithm>
+#include <cstdint>
+#include <cstring>
#include <iterator>
+#include <limits>
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/Effects.h b/modules/skottie/src/effects/Effects.h
index 39ed57e..8dc34c4 100644
--- a/modules/skottie/src/effects/Effects.h
+++ b/modules/skottie/src/effects/Effects.h
@@ -8,18 +8,25 @@
#ifndef SkottieEffects_DEFINED
#define SkottieEffects_DEFINED
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/private/base/SkNoncopyable.h"
#include "modules/skottie/src/Composition.h"
-#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/animator/Animator.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "src/utils/SkJSON.h" // IWYU pragma: keep
-class SkMaskFilter;
+#include <cstddef>
namespace sksg {
-class MaskShaderEffect;
+class RenderNode;
} // namespace sksg
namespace skottie {
namespace internal {
+class AnimationBuilder;
+class LayerBuilder;
class EffectBuilder final : public SkNoncopyable {
public:
diff --git a/modules/skottie/src/effects/FillEffect.cpp b/modules/skottie/src/effects/FillEffect.cpp
index 63de32f..cbdf133 100644
--- a/modules/skottie/src/effects/FillEffect.cpp
+++ b/modules/skottie/src/effects/FillEffect.cpp
@@ -5,14 +5,24 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
#include "include/private/base/SkTPin.h"
-#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
#include "modules/sksg/include/SkSGPaint.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/FractalNoiseEffect.cpp b/modules/skottie/src/effects/FractalNoiseEffect.cpp
index 007fcfa..770a3aa 100644
--- a/modules/skottie/src/effects/FractalNoiseEffect.cpp
+++ b/modules/skottie/src/effects/FractalNoiseEffect.cpp
@@ -5,17 +5,45 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
#include "src/base/SkRandom.h"
+#include <algorithm>
+#include <array>
#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <tuple>
+#include <utility>
+#include <vector>
+
+struct SkPoint;
+
+namespace skjson {
+class ArrayValue;
+}
+namespace sksg {
+class InvalidationController;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/GaussianBlurEffect.cpp b/modules/skottie/src/effects/GaussianBlurEffect.cpp
index 8b8ea5a..c728467 100644
--- a/modules/skottie/src/effects/GaussianBlurEffect.cpp
+++ b/modules/skottie/src/effects/GaussianBlurEffect.cpp
@@ -5,13 +5,24 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkTileMode.h"
+#include "include/private/base/SkTPin.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
#include "modules/sksg/include/SkSGRenderNode.h"
-#include "include/private/base/SkTPin.h"
-#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include <array>
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/GlowStyles.cpp b/modules/skottie/src/effects/GlowStyles.cpp
index 81cd893..72c1b24 100644
--- a/modules/skottie/src/effects/GlowStyles.cpp
+++ b/modules/skottie/src/effects/GlowStyles.cpp
@@ -5,18 +5,27 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkColor.h"
#include "include/core/SkColorFilter.h"
+#include "include/core/SkImageFilter.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/effects/SkColorMatrix.h"
#include "include/effects/SkImageFilters.h"
+#include "include/private/base/SkFloatingPoint.h"
#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <cmath>
+#include <utility>
namespace skottie::internal {
diff --git a/modules/skottie/src/effects/GradientEffect.cpp b/modules/skottie/src/effects/GradientEffect.cpp
index ee002c2..6d9f482 100644
--- a/modules/skottie/src/effects/GradientEffect.cpp
+++ b/modules/skottie/src/effects/GradientEffect.cpp
@@ -5,12 +5,24 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGGradient.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/HueSaturationEffect.cpp b/modules/skottie/src/effects/HueSaturationEffect.cpp
index 1bfd639..932fd11 100644
--- a/modules/skottie/src/effects/HueSaturationEffect.cpp
+++ b/modules/skottie/src/effects/HueSaturationEffect.cpp
@@ -5,14 +5,29 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkData.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTPin.h"
-#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <algorithm>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/InvertEffect.cpp b/modules/skottie/src/effects/InvertEffect.cpp
index 526913f..41d0906 100644
--- a/modules/skottie/src/effects/InvertEffect.cpp
+++ b/modules/skottie/src/effects/InvertEffect.cpp
@@ -5,12 +5,24 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkRefCnt.h"
#include "include/effects/SkColorMatrix.h"
-#include "modules/skottie/src/SkottieValue.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <array>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/LevelsEffect.cpp b/modules/skottie/src/effects/LevelsEffect.cpp
index a1fcf1c..57f3d90 100644
--- a/modules/skottie/src/effects/LevelsEffect.cpp
+++ b/modules/skottie/src/effects/LevelsEffect.cpp
@@ -5,16 +5,29 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkFloatingPoint.h"
#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include <algorithm>
#include <array>
#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/LinearWipeEffect.cpp b/modules/skottie/src/effects/LinearWipeEffect.cpp
index e82f6ae..55fe59b 100644
--- a/modules/skottie/src/effects/LinearWipeEffect.cpp
+++ b/modules/skottie/src/effects/LinearWipeEffect.cpp
@@ -5,18 +5,29 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkTileMode.h"
#include "include/effects/SkGradientShader.h"
-#include "include/effects/SkShaderMaskFilter.h"
#include "include/private/base/SkTPin.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include <algorithm>
#include <cmath>
+#include <cstddef>
#include <utility>
+namespace skjson {
+class ArrayValue;
+}
+
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/MotionTileEffect.cpp b/modules/skottie/src/effects/MotionTileEffect.cpp
index 29534c2..514cc13 100644
--- a/modules/skottie/src/effects/MotionTileEffect.cpp
+++ b/modules/skottie/src/effects/MotionTileEffect.cpp
@@ -5,20 +5,44 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
#include "include/core/SkPicture.h"
#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "include/core/SkScalar.h"
#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkTileMode.h"
#include "include/effects/SkGradientShader.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
-#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <cmath>
+#include <cstddef>
+#include <utility>
+#include <vector>
+
+namespace skjson {
+class ArrayValue;
+}
+namespace sksg {
+class InvalidationController;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/RadialWipeEffect.cpp b/modules/skottie/src/effects/RadialWipeEffect.cpp
index 5002571..7007632 100644
--- a/modules/skottie/src/effects/RadialWipeEffect.cpp
+++ b/modules/skottie/src/effects/RadialWipeEffect.cpp
@@ -5,16 +5,37 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkTileMode.h"
#include "include/effects/SkGradientShader.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
-#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <cmath>
+#include <cstddef>
+#include <utility>
+#include <vector>
+
+class SkMatrix;
+
+namespace skjson {
+class ArrayValue;
+}
+namespace sksg {
+class InvalidationController;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/ShadowStyles.cpp b/modules/skottie/src/effects/ShadowStyles.cpp
index 0dc6063..14dc2e2 100644
--- a/modules/skottie/src/effects/ShadowStyles.cpp
+++ b/modules/skottie/src/effects/ShadowStyles.cpp
@@ -5,17 +5,26 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkColor.h"
#include "include/core/SkColorFilter.h"
+#include "include/core/SkImageFilter.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/effects/SkColorMatrix.h"
#include "include/effects/SkImageFilters.h"
#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "src/utils/SkJSON.h"
+#include <utility>
+
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/SharpenEffect.cpp b/modules/skottie/src/effects/SharpenEffect.cpp
index 00cc120..d08ce50 100644
--- a/modules/skottie/src/effects/SharpenEffect.cpp
+++ b/modules/skottie/src/effects/SharpenEffect.cpp
@@ -5,13 +5,26 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkImageFilter.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkTileMode.h"
+#include "include/effects/SkImageFilters.h"
+#include "include/private/base/SkPoint_impl.h"
#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
diff --git a/modules/skottie/src/effects/ShiftChannelsEffect.cpp b/modules/skottie/src/effects/ShiftChannelsEffect.cpp
index 8e9ed47..70be2c2 100644
--- a/modules/skottie/src/effects/ShiftChannelsEffect.cpp
+++ b/modules/skottie/src/effects/ShiftChannelsEffect.cpp
@@ -5,13 +5,25 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkRefCnt.h"
#include "include/private/SkColorData.h"
#include "include/private/base/SkTPin.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <array>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/SkSLEffect.cpp b/modules/skottie/src/effects/SkSLEffect.cpp
index e5ca1d9..d650fc1 100644
--- a/modules/skottie/src/effects/SkSLEffect.cpp
+++ b/modules/skottie/src/effects/SkSLEffect.cpp
@@ -5,15 +5,42 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkData.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkDebug.h"
#include "include/private/base/SkMalloc.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+
+#include <cstdint>
+#include <cstring>
+#include <memory>
+#include <tuple>
+#include <utility>
+#include <vector>
+
+class SkMatrix;
+struct SkPoint;
+
+namespace sksg {
+class InvalidationController;
+}
namespace skottie::internal {
diff --git a/modules/skottie/src/effects/SphereEffect.cpp b/modules/skottie/src/effects/SphereEffect.cpp
index c3e6394..acda468 100644
--- a/modules/skottie/src/effects/SphereEffect.cpp
+++ b/modules/skottie/src/effects/SphereEffect.cpp
@@ -5,20 +5,45 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
#include "include/core/SkPicture.h"
#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkString.h"
#include "include/core/SkTileMode.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
+#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
#include <array>
+#include <cmath>
+#include <cstdio>
+#include <utility>
+#include <vector>
+
+namespace skjson {
+class ArrayValue;
+}
+namespace sksg {
+class InvalidationController;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/ThresholdEffect.cpp b/modules/skottie/src/effects/ThresholdEffect.cpp
index 9e95a00..6c6447b 100644
--- a/modules/skottie/src/effects/ThresholdEffect.cpp
+++ b/modules/skottie/src/effects/ThresholdEffect.cpp
@@ -5,13 +5,24 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkData.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
+#include "include/private/base/SkAssert.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie::internal {
namespace {
diff --git a/modules/skottie/src/effects/TintEffect.cpp b/modules/skottie/src/effects/TintEffect.cpp
index cedd024..062f1c1 100644
--- a/modules/skottie/src/effects/TintEffect.cpp
+++ b/modules/skottie/src/effects/TintEffect.cpp
@@ -5,12 +5,22 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
#include "modules/sksg/include/SkSGPaint.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/TransformEffect.cpp b/modules/skottie/src/effects/TransformEffect.cpp
index 485b1f5..ed0d7fa 100644
--- a/modules/skottie/src/effects/TransformEffect.cpp
+++ b/modules/skottie/src/effects/TransformEffect.cpp
@@ -5,13 +5,27 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
-#include "modules/skottie/src/SkottieJson.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "modules/skottie/src/Adapter.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/Transform.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGOpacityEffect.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+class ObjectValue;
+} // namespace skjson
+
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/effects/TritoneEffect.cpp b/modules/skottie/src/effects/TritoneEffect.cpp
index de05ed8..adec109 100644
--- a/modules/skottie/src/effects/TritoneEffect.cpp
+++ b/modules/skottie/src/effects/TritoneEffect.cpp
@@ -5,18 +5,27 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
-#include "modules/skottie/src/Adapter.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skottie/src/effects/Effects.h"
#include "modules/sksg/include/SkSGColorFilter.h"
#include "modules/sksg/include/SkSGPaint.h"
-#include "src/utils/SkJSON.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
-namespace {
+namespace {
class TritoneAdapter final : public AnimatablePropertyContainer {
public:
@@ -71,7 +80,7 @@
ScalarValue fWeight = 0;
};
-} // namespace
+} // namespace
sk_sp<sksg::RenderNode> EffectBuilder::attachTritoneEffect(const skjson::ArrayValue& jprops,
sk_sp<sksg::RenderNode> layer) const {
diff --git a/modules/skottie/src/effects/VenetianBlindsEffect.cpp b/modules/skottie/src/effects/VenetianBlindsEffect.cpp
index 6e0269f..17433f0 100644
--- a/modules/skottie/src/effects/VenetianBlindsEffect.cpp
+++ b/modules/skottie/src/effects/VenetianBlindsEffect.cpp
@@ -5,15 +5,30 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/effects/Effects.h"
-
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkTileMode.h"
#include "include/effects/SkGradientShader.h"
-#include "include/effects/SkShaderMaskFilter.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include "modules/sksg/include/SkSGRenderEffect.h"
-#include "src/utils/SkJSON.h"
+#include "modules/skottie/src/effects/Effects.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include <algorithm>
+#include <array>
#include <cmath>
+#include <cstddef>
+#include <utility>
+
+namespace skjson {
+class ArrayValue;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/AudioLayer.cpp b/modules/skottie/src/layers/AudioLayer.cpp
index 253f12b..d0ee2c6 100644
--- a/modules/skottie/src/layers/AudioLayer.cpp
+++ b/modules/skottie/src/layers/AudioLayer.cpp
@@ -5,12 +5,15 @@
* found in the LICENSE file.
*/
+#include "include/core/SkRefCnt.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/SkottiePriv.h"
-
-#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skresources/include/SkResources.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
namespace skottie::internal {
diff --git a/modules/skottie/src/layers/FootageLayer.cpp b/modules/skottie/src/layers/FootageLayer.cpp
index f9fb30f..4c48e48 100644
--- a/modules/skottie/src/layers/FootageLayer.cpp
+++ b/modules/skottie/src/layers/FootageLayer.cpp
@@ -5,13 +5,27 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/include/Skottie.h"
-#include "modules/skottie/src/SkottiePriv.h"
-
#include "include/core/SkImage.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkString.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/animator/Animator.h"
+#include "modules/skresources/include/SkResources.h"
#include "modules/sksg/include/SkSGImage.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include "src/core/SkTHash.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/NullLayer.cpp b/modules/skottie/src/layers/NullLayer.cpp
index cb93ce6..7415d4c 100644
--- a/modules/skottie/src/layers/NullLayer.cpp
+++ b/modules/skottie/src/layers/NullLayer.cpp
@@ -5,10 +5,14 @@
* found in the LICENSE file.
*/
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/SkottiePriv.h"
-
#include "modules/sksg/include/SkSGRenderNode.h"
+namespace skjson {
+class ObjectValue;
+}
+
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/PrecompLayer.cpp b/modules/skottie/src/layers/PrecompLayer.cpp
index c8c0877..0436ebe 100644
--- a/modules/skottie/src/layers/PrecompLayer.cpp
+++ b/modules/skottie/src/layers/PrecompLayer.cpp
@@ -5,18 +5,34 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/SkottiePriv.h"
-
#include "include/core/SkCanvas.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkSize.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "include/private/base/SkPoint_impl.h"
#include "modules/skottie/include/ExternalLayer.h"
+#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/src/Composition.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
#include "src/base/SkTLazy.h"
#include "src/utils/SkJSON.h"
+#include <utility>
+
+class SkMatrix;
+
+namespace sksg {
+class InvalidationController;
+}
+
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/SolidLayer.cpp b/modules/skottie/src/layers/SolidLayer.cpp
index c931016..a09d3a6 100644
--- a/modules/skottie/src/layers/SolidLayer.cpp
+++ b/modules/skottie/src/layers/SolidLayer.cpp
@@ -5,14 +5,23 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/SkottiePriv.h"
-
+#include "include/core/SkColor.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSize.h"
#include "include/utils/SkParse.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
#include "modules/sksg/include/SkSGPaint.h"
#include "modules/sksg/include/SkSGRect.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+
+#include <cstdint>
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/TextLayer.cpp b/modules/skottie/src/layers/TextLayer.cpp
index 2a4e9a8..bcfbd9a 100644
--- a/modules/skottie/src/layers/TextLayer.cpp
+++ b/modules/skottie/src/layers/TextLayer.cpp
@@ -5,23 +5,29 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/SkottiePriv.h"
-
-#include "include/core/SkData.h"
#include "include/core/SkFontMgr.h"
+#include "include/core/SkFontStyle.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypeface.h"
#include "include/core/SkTypes.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/text/Font.h"
#include "modules/skottie/src/text/TextAdapter.h"
-#include "modules/skottie/src/text/TextAnimator.h"
-#include "modules/skottie/src/text/TextValue.h"
-#include "modules/sksg/include/SkSGDraw.h"
-#include "modules/sksg/include/SkSGGroup.h"
-#include "modules/sksg/include/SkSGPaint.h"
-#include "modules/sksg/include/SkSGPath.h"
-#include "modules/sksg/include/SkSGText.h"
+#include "modules/skresources/include/SkResources.h"
+#include "modules/sksg/include/SkSGGroup.h" // IWYU pragma: keep
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "src/base/SkTSearch.h"
+#include "src/core/SkTHash.h"
+#include "src/utils/SkJSON.h"
#include <string.h>
+#include <memory>
+#include <tuple>
+#include <utility>
+#include <vector>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/Ellipse.cpp b/modules/skottie/src/layers/shapelayer/Ellipse.cpp
index 0b7faeb..70fe213 100644
--- a/modules/skottie/src/layers/shapelayer/Ellipse.cpp
+++ b/modules/skottie/src/layers/shapelayer/Ellipse.cpp
@@ -5,13 +5,21 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPathTypes.h"
#include "include/core/SkRRect.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGRect.h"
+#include "src/utils/SkJSON.h"
+
+namespace sksg {
+class GeometryNode;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/FillStroke.cpp b/modules/skottie/src/layers/shapelayer/FillStroke.cpp
index e6bc25d..e53d342 100644
--- a/modules/skottie/src/layers/shapelayer/FillStroke.cpp
+++ b/modules/skottie/src/layers/shapelayer/FillStroke.cpp
@@ -5,13 +5,26 @@
* found in the LICENSE file.
*/
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkAssert.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGGeometryEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
#include "modules/sksg/include/SkSGPaint.h"
+#include "src/utils/SkJSON.h"
+
+#include <algorithm>
+#include <cstddef>
+#include <utility>
+#include <vector>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/Gradient.cpp b/modules/skottie/src/layers/shapelayer/Gradient.cpp
index f83a138..4254cbc 100644
--- a/modules/skottie/src/layers/shapelayer/Gradient.cpp
+++ b/modules/skottie/src/layers/shapelayer/Gradient.cpp
@@ -5,17 +5,31 @@
* found in the LICENSE file.
*/
+#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkDebug.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "include/private/base/SkPoint_impl.h"
#include "include/private/base/SkTPin.h"
-#include "modules/skottie/src/Adapter.h"
+#include "include/private/base/SkTo.h"
#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGGradient.h"
#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "src/utils/SkJSON.h"
+
+#include <algorithm>
+#include <cstddef>
+#include <utility>
+#include <vector>
namespace skottie {
namespace internal {
+class AnimationBuilder;
namespace {
diff --git a/modules/skottie/src/layers/shapelayer/MergePaths.cpp b/modules/skottie/src/layers/shapelayer/MergePaths.cpp
index b2bcd9c..464a36c 100644
--- a/modules/skottie/src/layers/shapelayer/MergePaths.cpp
+++ b/modules/skottie/src/layers/shapelayer/MergePaths.cpp
@@ -5,14 +5,21 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/Adapter.h"
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/SkottiePriv.h"
-#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGMerge.h"
+#include "src/utils/SkJSON.h"
+
+#include <algorithm>
+#include <cstddef>
+#include <utility>
+#include <vector>
namespace skottie {
namespace internal {
+class AnimationBuilder;
sk_sp<sksg::Merge> ShapeBuilder::MergeGeometry(std::vector<sk_sp<sksg::GeometryNode>>&& geos,
sksg::Merge::Mode mode) {
diff --git a/modules/skottie/src/layers/shapelayer/OffsetPaths.cpp b/modules/skottie/src/layers/shapelayer/OffsetPaths.cpp
index 9e5e49a..6c0059f 100644
--- a/modules/skottie/src/layers/shapelayer/OffsetPaths.cpp
+++ b/modules/skottie/src/layers/shapelayer/OffsetPaths.cpp
@@ -5,6 +5,8 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPaint.h"
+#include "include/core/SkRefCnt.h"
#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
@@ -12,6 +14,11 @@
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGGeometryEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
+#include <vector>
namespace skottie::internal {
diff --git a/modules/skottie/src/layers/shapelayer/Polystar.cpp b/modules/skottie/src/layers/shapelayer/Polystar.cpp
index dd31e0e..96a7a08 100644
--- a/modules/skottie/src/layers/shapelayer/Polystar.cpp
+++ b/modules/skottie/src/layers/shapelayer/Polystar.cpp
@@ -5,14 +5,30 @@
* found in the LICENSE file.
*/
+#include "include/core/SkM44.h"
#include "include/core/SkPathBuilder.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "include/private/base/SkPoint_impl.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGPath.h"
+#include "src/utils/SkJSON.h"
+
+#include <array>
+#include <cmath>
+#include <cstddef>
+
+namespace sksg {
+class GeometryNode;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/PuckerBloat.cpp b/modules/skottie/src/layers/shapelayer/PuckerBloat.cpp
index 3691a03..7b15550 100644
--- a/modules/skottie/src/layers/shapelayer/PuckerBloat.cpp
+++ b/modules/skottie/src/layers/shapelayer/PuckerBloat.cpp
@@ -5,15 +5,23 @@
* found in the LICENSE file.
*/
-#include "include/core/SkM44.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGGeometryEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "src/core/SkGeometry.h"
+#include "src/utils/SkJSON.h"
+#include <utility>
#include <vector>
namespace skottie::internal {
diff --git a/modules/skottie/src/layers/shapelayer/Rectangle.cpp b/modules/skottie/src/layers/shapelayer/Rectangle.cpp
index 3a5c328..0c6cb2c 100644
--- a/modules/skottie/src/layers/shapelayer/Rectangle.cpp
+++ b/modules/skottie/src/layers/shapelayer/Rectangle.cpp
@@ -5,13 +5,21 @@
* found in the LICENSE file.
*/
+#include "include/core/SkPathTypes.h"
#include "include/core/SkRRect.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGRect.h"
+#include "src/utils/SkJSON.h"
+
+namespace sksg {
+class GeometryNode;
+}
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/Repeater.cpp b/modules/skottie/src/layers/shapelayer/Repeater.cpp
index 5536632..4c7b0e7 100644
--- a/modules/skottie/src/layers/shapelayer/Repeater.cpp
+++ b/modules/skottie/src/layers/shapelayer/Repeater.cpp
@@ -6,16 +6,33 @@
*/
#include "include/core/SkCanvas.h"
+#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/private/base/SkTPin.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include "src/utils/SkJSON.h"
+#include <algorithm>
+#include <cmath>
+#include <cstddef>
+#include <utility>
#include <vector>
+struct SkPoint;
+
+namespace sksg {
+class InvalidationController;
+}
+
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/RoundCorners.cpp b/modules/skottie/src/layers/shapelayer/RoundCorners.cpp
index cf5f1b6..7ecf1a5 100644
--- a/modules/skottie/src/layers/shapelayer/RoundCorners.cpp
+++ b/modules/skottie/src/layers/shapelayer/RoundCorners.cpp
@@ -5,12 +5,17 @@
* found in the LICENSE file.
*/
+#include "include/core/SkRefCnt.h"
#include "modules/skottie/src/Adapter.h"
-#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGGeometryEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "src/utils/SkJSON.h"
+
+#include <utility>
+#include <vector>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/ShapeLayer.cpp b/modules/skottie/src/layers/shapelayer/ShapeLayer.cpp
index f1584f5..cf324597 100644
--- a/modules/skottie/src/layers/shapelayer/ShapeLayer.cpp
+++ b/modules/skottie/src/layers/shapelayer/ShapeLayer.cpp
@@ -7,23 +7,30 @@
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
-#include "include/core/SkPath.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkDebug.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
-#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/animator/Animator.h"
#include "modules/sksg/include/SkSGDraw.h"
#include "modules/sksg/include/SkSGGeometryEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
#include "modules/sksg/include/SkSGGroup.h"
#include "modules/sksg/include/SkSGMerge.h"
#include "modules/sksg/include/SkSGPaint.h"
-#include "modules/sksg/include/SkSGPath.h"
-#include "modules/sksg/include/SkSGRect.h"
-#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGPath.h" // IWYU pragma: keep
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGTransform.h"
#include "src/utils/SkJSON.h"
+#include <string.h>
#include <algorithm>
+#include <cstdint>
+#include <cstdlib>
#include <iterator>
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/layers/shapelayer/ShapeLayer.h b/modules/skottie/src/layers/shapelayer/ShapeLayer.h
index 790318a..93b62b0 100644
--- a/modules/skottie/src/layers/shapelayer/ShapeLayer.h
+++ b/modules/skottie/src/layers/shapelayer/ShapeLayer.h
@@ -8,8 +8,8 @@
#ifndef SkottieShapeLayer_DEFINED
#define SkottieShapeLayer_DEFINED
+#include "include/core/SkRefCnt.h"
#include "include/private/base/SkNoncopyable.h"
-#include "modules/skottie/src/animator/Animator.h"
#include "modules/sksg/include/SkSGMerge.h"
#include <vector>
@@ -30,7 +30,7 @@
namespace skottie {
namespace internal {
-
+class AnimatablePropertyContainer;
class AnimationBuilder;
// TODO/TRANSITIONAL: not much state here yet, but will eventually hold ShapeLayer-related stuff.
diff --git a/modules/skottie/src/layers/shapelayer/TrimPaths.cpp b/modules/skottie/src/layers/shapelayer/TrimPaths.cpp
index cdf814b..a65fff7 100644
--- a/modules/skottie/src/layers/shapelayer/TrimPaths.cpp
+++ b/modules/skottie/src/layers/shapelayer/TrimPaths.cpp
@@ -5,14 +5,22 @@
* found in the LICENSE file.
*/
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/effects/SkTrimPathEffect.h"
#include "modules/skottie/src/Adapter.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/layers/shapelayer/ShapeLayer.h"
#include "modules/sksg/include/SkSGGeometryEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
#include "modules/sksg/include/SkSGMerge.h"
+#include "src/utils/SkJSON.h"
+#include <algorithm>
+#include <cstddef>
+#include <utility>
#include <vector>
namespace skottie {
diff --git a/modules/skottie/src/text/Font.cpp b/modules/skottie/src/text/Font.cpp
index f958105..b2aae86 100644
--- a/modules/skottie/src/text/Font.cpp
+++ b/modules/skottie/src/text/Font.cpp
@@ -7,11 +7,19 @@
#include "modules/skottie/src/text/Font.h"
+#include "include/core/SkMatrix.h"
#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkTypeface.h"
+#include "include/private/base/SkTFitsIn.h"
+#include "include/private/base/SkTo.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGPath.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include "src/base/SkUTF.h"
+#include "src/utils/SkJSON.h"
namespace skottie::internal {
diff --git a/modules/skottie/src/text/Font.h b/modules/skottie/src/text/Font.h
index 374daaab9..f9b7b7c 100644
--- a/modules/skottie/src/text/Font.h
+++ b/modules/skottie/src/text/Font.h
@@ -8,16 +8,20 @@
#ifndef SkottieFont_DEFINED
#define SkottieFont_DEFINED
-#include "include/core/SkTypeface.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkTypes.h"
#include "include/private/base/SkNoncopyable.h"
#include "include/utils/SkCustomTypeface.h"
#include "modules/sksg/include/SkSGRenderNode.h"
#include "src/core/SkTHash.h"
#include <memory>
+#include <utility>
#include <vector>
class SkPath;
+class SkTypeface;
+struct SkSize;
namespace skjson { class ObjectValue; }
diff --git a/modules/skottie/src/text/RangeSelector.cpp b/modules/skottie/src/text/RangeSelector.cpp
index 2128035..62fd1c8 100644
--- a/modules/skottie/src/text/RangeSelector.cpp
+++ b/modules/skottie/src/text/RangeSelector.cpp
@@ -4,17 +4,23 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
#include "modules/skottie/src/text/RangeSelector.h"
#include "include/core/SkCubicMap.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "include/private/base/SkPoint_impl.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/SkottieValue.h"
+#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/animator/Animator.h"
+#include "src/utils/SkJSON.h"
#include <algorithm>
-#include <cmath>
+#include <limits>
+#include <vector>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/text/RangeSelector.h b/modules/skottie/src/text/RangeSelector.h
index a2ef6ae..fe803e2 100644
--- a/modules/skottie/src/text/RangeSelector.h
+++ b/modules/skottie/src/text/RangeSelector.h
@@ -9,14 +9,19 @@
#define SkottieRangeSelector_DEFINED
#include "include/core/SkRefCnt.h"
-#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/text/TextAnimator.h"
+#include <cstddef>
+#include <cstdint>
#include <tuple>
-#include <vector>
+namespace skjson {
+class ObjectValue;
+}
namespace skottie {
namespace internal {
+class AnimatablePropertyContainer;
+class AnimationBuilder;
class RangeSelector final : public SkNVRefCnt<RangeSelector> {
public:
diff --git a/modules/skottie/src/text/TextAdapter.cpp b/modules/skottie/src/text/TextAdapter.cpp
index 64ee2d2..e35ca9f 100644
--- a/modules/skottie/src/text/TextAdapter.cpp
+++ b/modules/skottie/src/text/TextAdapter.cpp
@@ -4,16 +4,30 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
#include "modules/skottie/src/text/TextAdapter.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
#include "include/core/SkContourMeasure.h"
+#include "include/core/SkFont.h"
#include "include/core/SkFontMgr.h"
#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkSpan.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypes.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
+#include "include/utils/SkTextUtils.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
#include "modules/skottie/src/SkottieJson.h"
-#include "modules/skottie/src/text/RangeSelector.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/text/RangeSelector.h" // IWYU pragma: keep
#include "modules/skottie/src/text/TextAnimator.h"
#include "modules/sksg/include/SkSGDraw.h"
#include "modules/sksg/include/SkSGGeometryNode.h"
@@ -25,6 +39,18 @@
#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGTransform.h"
#include "modules/sksg/src/SkSGTransformPriv.h"
+#include "src/utils/SkJSON.h"
+
+#include <algorithm>
+#include <cmath>
+#include <cstddef>
+#include <limits>
+#include <tuple>
+#include <utility>
+
+namespace sksg {
+class InvalidationController;
+}
// Enable for text layout debugging.
#define SHOW_LAYOUT_BOXES 0
diff --git a/modules/skottie/src/text/TextAdapter.h b/modules/skottie/src/text/TextAdapter.h
index 66b54fb..b1a8ba5 100644
--- a/modules/skottie/src/text/TextAdapter.h
+++ b/modules/skottie/src/text/TextAdapter.h
@@ -8,25 +8,39 @@
#ifndef SkottieTextAdapter_DEFINED
#define SkottieTextAdapter_DEFINED
+#include "include/core/SkM44.h"
+#include "include/core/SkRefCnt.h"
+#include "include/private/base/SkPoint_impl.h"
#include "modules/skottie/include/TextShaper.h"
+#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/text/Font.h"
#include "modules/skottie/src/text/TextAnimator.h"
#include "modules/skottie/src/text/TextValue.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include <cstdint>
+#include <memory>
#include <vector>
class SkFontMgr;
+namespace skjson {
+class ObjectValue;
+}
+namespace skottie {
+class Logger;
+}
namespace sksg {
-class BlurImageFilter;
class Group;
-template <typename T>
-class Matrix;
-} // namespace sksg
+class RenderNode;
+} // namespace sksg
namespace skottie {
namespace internal {
+class AnimationBuilder;
class TextAdapter final : public AnimatablePropertyContainer {
public:
diff --git a/modules/skottie/src/text/TextAnimator.cpp b/modules/skottie/src/text/TextAnimator.cpp
index 57185d5..5aeb16d 100644
--- a/modules/skottie/src/text/TextAnimator.cpp
+++ b/modules/skottie/src/text/TextAnimator.cpp
@@ -8,8 +8,7 @@
#include "modules/skottie/src/text/TextAnimator.h"
#include "include/core/SkColor.h"
-#include "include/core/SkPoint.h"
-#include "include/private/SkColorData.h"
+#include "include/private/base/SkCPUTypes.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/text/RangeSelector.h"
@@ -17,7 +16,10 @@
#include "src/core/SkSwizzlePriv.h"
#include "src/utils/SkJSON.h"
+#include <algorithm>
#include <cmath>
+#include <cstdint>
+#include <utility>
namespace skottie {
namespace internal {
diff --git a/modules/skottie/src/text/TextAnimator.h b/modules/skottie/src/text/TextAnimator.h
index 122f5e7..7cb8b19 100644
--- a/modules/skottie/src/text/TextAnimator.h
+++ b/modules/skottie/src/text/TextAnimator.h
@@ -8,17 +8,20 @@
#ifndef SkottieTextAnimator_DEFINED
#define SkottieTextAnimator_DEFINED
+#include "include/core/SkColor.h"
#include "include/core/SkM44.h"
#include "include/core/SkRefCnt.h"
-#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
-#include <memory>
+#include <cstddef>
#include <vector>
+namespace skjson {
+class ObjectValue;
+}
+
namespace skottie {
namespace internal {
-
class AnimatablePropertyContainer;
class AnimationBuilder;
class RangeSelector;
diff --git a/modules/skottie/src/text/TextShaper.cpp b/modules/skottie/src/text/TextShaper.cpp
index 46b8ce3..db3f19c 100644
--- a/modules/skottie/src/text/TextShaper.cpp
+++ b/modules/skottie/src/text/TextShaper.cpp
@@ -10,6 +10,11 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkFontMetrics.h"
#include "include/core/SkFontMgr.h"
+#include "include/core/SkFontTypes.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypeface.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTArray.h"
#include "include/private/base/SkTPin.h"
@@ -25,8 +30,11 @@
#endif
#include <algorithm>
-#include <limits.h>
+#include <memory>
#include <numeric>
+#include <utility>
+
+class SkPaint;
using namespace skia_private;
diff --git a/modules/skottie/src/text/TextValue.cpp b/modules/skottie/src/text/TextValue.cpp
index aef5f3e..fbd447d 100644
--- a/modules/skottie/src/text/TextValue.cpp
+++ b/modules/skottie/src/text/TextValue.cpp
@@ -7,9 +7,25 @@
#include "modules/skottie/src/text/TextValue.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypeface.h"
+#include "include/utils/SkTextUtils.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/TextShaper.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
+#include "src/utils/SkJSON.h"
+
+#include <algorithm>
+#include <array>
+#include <cstddef>
+#include <limits>
namespace skottie::internal {
diff --git a/modules/skottie/tests/Expression.cpp b/modules/skottie/tests/Expression.cpp
index ae954dd..04f26b1 100644
--- a/modules/skottie/tests/Expression.cpp
+++ b/modules/skottie/tests/Expression.cpp
@@ -6,6 +6,7 @@
*/
#include <iostream>
+#include "include/core/SkFontMgr.h"
#include "include/core/SkStream.h"
#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/include/SkottieProperty.h"
diff --git a/modules/skottie/tests/PropertyObserver.cpp b/modules/skottie/tests/PropertyObserver.cpp
index 01dd95c..3feaf58 100644
--- a/modules/skottie/tests/PropertyObserver.cpp
+++ b/modules/skottie/tests/PropertyObserver.cpp
@@ -6,6 +6,7 @@
*/
#include "include/core/SkColor.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkPictureRecorder.h"
#include "include/core/SkStream.h"
#include "modules/skottie/include/Skottie.h"
diff --git a/modules/skottie/utils/SkottieUtils.cpp b/modules/skottie/utils/SkottieUtils.cpp
index 8453c16..70f30a7 100644
--- a/modules/skottie/utils/SkottieUtils.cpp
+++ b/modules/skottie/utils/SkottieUtils.cpp
@@ -5,11 +5,19 @@
* found in the LICENSE file.
*/
-#include "modules/skottie/src/SkottieJson.h"
-
#include "modules/skottie/utils/SkottieUtils.h"
-#include "include/core/SkImage.h"
+#include "include/core/SkData.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkSize.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skresources/include/SkResources.h"
+
+#include <cstring>
+#include <utility>
+
+class SkCanvas;
namespace skottie_utils {
diff --git a/modules/skottie/utils/SkottieUtils.h b/modules/skottie/utils/SkottieUtils.h
index d536f41..2ced192 100644
--- a/modules/skottie/utils/SkottieUtils.h
+++ b/modules/skottie/utils/SkottieUtils.h
@@ -8,15 +8,27 @@
#ifndef SkottieUtils_DEFINED
#define SkottieUtils_DEFINED
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkString.h"
#include "modules/skottie/include/ExternalLayer.h"
-#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/include/SkottieProperty.h"
+#include <cstddef>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
+struct SkSize;
+
+namespace skottie {
+class MarkerObserver;
+}
+
+namespace skresources {
+class ResourceProvider;
+}
+
namespace skottie_utils {
/**
diff --git a/modules/skottie/utils/TextEditor.cpp b/modules/skottie/utils/TextEditor.cpp
index d753803..f6d03ee 100644
--- a/modules/skottie/utils/TextEditor.cpp
+++ b/modules/skottie/utils/TextEditor.cpp
@@ -10,10 +10,19 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkColor.h"
#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
#include "include/core/SkPath.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSpan.h"
#include "include/core/SkString.h"
-#include "include/private/base/SkAssert.h"
#include "src/base/SkUTF.h"
+#include "tools/skui/InputState.h"
+
+#include <algorithm>
+#include <limits>
+#include <utility>
namespace skottie_utils {
diff --git a/modules/skottie/utils/TextEditor.h b/modules/skottie/utils/TextEditor.h
index 1e924f1..2e279ce 100644
--- a/modules/skottie/utils/TextEditor.h
+++ b/modules/skottie/utils/TextEditor.h
@@ -9,11 +9,25 @@
#define SkottieTextEditor_DEFINED
#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkTypes.h"
#include "modules/skottie/include/SkottieProperty.h"
-#include "tools/skui/InputState.h"
-#include "tools/skui/ModifierKey.h"
#include <chrono>
+#include <cstddef>
+#include <memory>
+#include <tuple>
+#include <vector>
+
+class SkCanvas;
+class SkString;
+struct SkPoint;
+
+namespace skui {
+enum class InputState;
+enum class ModifierKey;
+} // namespace skui
namespace skottie_utils {
diff --git a/modules/sksg/include/SkSGClipEffect.h b/modules/sksg/include/SkSGClipEffect.h
index f157130..5d2b835 100644
--- a/modules/sksg/include/SkSGClipEffect.h
+++ b/modules/sksg/include/SkSGClipEffect.h
@@ -8,11 +8,20 @@
#ifndef SkSGClipEffect_DEFINED
#define SkSGClipEffect_DEFINED
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <utility>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
namespace sksg {
-
-class GeometryNode;
+class InvalidationController;
/**
* Concrete Effect node, applying a clip to its descendants.
@@ -47,6 +56,6 @@
using INHERITED = EffectNode;
};
-} // namespace sksg
+} // namespace sksg
#endif // SkSGClipEffect_DEFINED
diff --git a/modules/sksg/include/SkSGColorFilter.h b/modules/sksg/include/SkSGColorFilter.h
index c7befe9..2b5472a 100644
--- a/modules/sksg/include/SkSGColorFilter.h
+++ b/modules/sksg/include/SkSGColorFilter.h
@@ -8,17 +8,24 @@
#ifndef SkSGColorFilter_DEFINED
#define SkSGColorFilter_DEFINED
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGEffectNode.h"
-
-#include "include/core/SkBlendMode.h"
+#include "modules/sksg/include/SkSGNode.h"
#include <vector>
-class SkColorFilter;
+class SkCanvas;
+class SkMatrix;
+enum class SkBlendMode;
+struct SkPoint;
namespace sksg {
class Color;
+class InvalidationController;
+class RenderNode;
/**
* Base class for nodes which apply a color filter when rendering their descendants.
diff --git a/modules/sksg/include/SkSGDraw.h b/modules/sksg/include/SkSGDraw.h
index 1672836..583d0ee 100644
--- a/modules/sksg/include/SkSGDraw.h
+++ b/modules/sksg/include/SkSGDraw.h
@@ -8,11 +8,20 @@
#ifndef SkSGDraw_DEFINED
#define SkSGDraw_DEFINED
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGGeometryNode.h"
#include "modules/sksg/include/SkSGPaint.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include <utility>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
/**
* Concrete rendering node.
diff --git a/modules/sksg/include/SkSGEffectNode.h b/modules/sksg/include/SkSGEffectNode.h
index 31daaa4..42dc4d9 100644
--- a/modules/sksg/include/SkSGEffectNode.h
+++ b/modules/sksg/include/SkSGEffectNode.h
@@ -8,9 +8,18 @@
#ifndef SkSGEffectNode_DEFINED
#define SkSGEffectNode_DEFINED
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include <cstdint>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
/**
* Base class for nodes which apply some transformation when rendering
diff --git a/modules/sksg/include/SkSGGeometryEffect.h b/modules/sksg/include/SkSGGeometryEffect.h
index 838684f..bc01ecc 100644
--- a/modules/sksg/include/SkSGGeometryEffect.h
+++ b/modules/sksg/include/SkSGGeometryEffect.h
@@ -8,14 +8,25 @@
#ifndef SkSGGeometryEffect_DEFINED
#define SkSGGeometryEffect_DEFINED
-#include "modules/sksg/include/SkSGGeometryNode.h"
-
#include "include/core/SkPaint.h"
#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/effects/SkTrimPathEffect.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGTransform.h"
+#include <utility>
+#include <vector>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
/**
* Base class for geometry effects.
diff --git a/modules/sksg/include/SkSGGeometryNode.h b/modules/sksg/include/SkSGGeometryNode.h
index 6b5bf0b..b6dd9dc 100644
--- a/modules/sksg/include/SkSGGeometryNode.h
+++ b/modules/sksg/include/SkSGGeometryNode.h
@@ -13,6 +13,7 @@
class SkCanvas;
class SkPaint;
class SkPath;
+struct SkPoint;
namespace sksg {
diff --git a/modules/sksg/include/SkSGGradient.h b/modules/sksg/include/SkSGGradient.h
index f76c7b8..73df6e5 100644
--- a/modules/sksg/include/SkSGGradient.h
+++ b/modules/sksg/include/SkSGGradient.h
@@ -8,15 +8,18 @@
#ifndef SkSGGradient_DEFINED
#define SkSGGradient_DEFINED
-#include "modules/sksg/include/SkSGRenderEffect.h"
-
#include "include/core/SkColor.h"
#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
#include "include/core/SkScalar.h"
-#include "include/core/SkShader.h"
+#include "include/core/SkTileMode.h"
+#include "modules/sksg/include/SkSGNode.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
#include <vector>
+class SkShader;
+
namespace sksg {
/**
diff --git a/modules/sksg/include/SkSGGroup.h b/modules/sksg/include/SkSGGroup.h
index fed28eb..8563b60 100644
--- a/modules/sksg/include/SkSGGroup.h
+++ b/modules/sksg/include/SkSGGroup.h
@@ -8,11 +8,20 @@
#ifndef SkSGGroup_DEFINED
#define SkSGGroup_DEFINED
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGRenderNode.h"
+#include <cstddef>
+#include <utility>
#include <vector>
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
/**
* Concrete node, grouping together multiple descendants.
diff --git a/modules/sksg/include/SkSGImage.h b/modules/sksg/include/SkSGImage.h
index 3f64f9d..6adbbfc 100644
--- a/modules/sksg/include/SkSGImage.h
+++ b/modules/sksg/include/SkSGImage.h
@@ -8,13 +8,21 @@
#ifndef SkSGImage_DEFINED
#define SkSGImage_DEFINED
+#include "include/core/SkImage.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSamplingOptions.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGRenderNode.h"
-#include "include/core/SkSamplingOptions.h"
+#include <utility>
-class SkImage;
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete rendering node, wrapping an SkImage.
diff --git a/modules/sksg/include/SkSGInvalidationController.h b/modules/sksg/include/SkSGInvalidationController.h
index df496ba..4d39501 100644
--- a/modules/sksg/include/SkSGInvalidationController.h
+++ b/modules/sksg/include/SkSGInvalidationController.h
@@ -9,12 +9,11 @@
#define SkSGInvalidationController_DEFINED
#include "include/core/SkMatrix.h"
+#include "include/core/SkRect.h"
#include "include/core/SkTypes.h"
#include <vector>
-struct SkRect;
-
namespace sksg {
/**
diff --git a/modules/sksg/include/SkSGMaskEffect.h b/modules/sksg/include/SkSGMaskEffect.h
index 2d7572a..1969283 100644
--- a/modules/sksg/include/SkSGMaskEffect.h
+++ b/modules/sksg/include/SkSGMaskEffect.h
@@ -8,9 +8,20 @@
#ifndef SkSGMaskEffect_DEFINED
#define SkSGMaskEffect_DEFINED
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <cstdint>
+#include <utility>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete Effect node, applying a mask to its descendants.
diff --git a/modules/sksg/include/SkSGMerge.h b/modules/sksg/include/SkSGMerge.h
index 9599360..8987a3f 100644
--- a/modules/sksg/include/SkSGMerge.h
+++ b/modules/sksg/include/SkSGMerge.h
@@ -8,16 +8,21 @@
#ifndef SkSGMerge_DEFINED
#define SkSGMerge_DEFINED
+#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGGeometryNode.h"
-#include "include/core/SkPath.h"
-
+#include <utility>
#include <vector>
class SkCanvas;
+class SkMatrix;
class SkPaint;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete Geometry node, combining other geometries based on Mode.
diff --git a/modules/sksg/include/SkSGNode.h b/modules/sksg/include/SkSGNode.h
index dcad5a8..75491a5 100644
--- a/modules/sksg/include/SkSGNode.h
+++ b/modules/sksg/include/SkSGNode.h
@@ -10,10 +10,11 @@
#include "include/core/SkRect.h"
#include "include/core/SkRefCnt.h"
+#include "include/private/base/SkAssert.h"
+#include <cstdint>
#include <vector>
-class SkCanvas;
class SkMatrix;
namespace sksg {
diff --git a/modules/sksg/include/SkSGOpacityEffect.h b/modules/sksg/include/SkSGOpacityEffect.h
index 90d7481..75f0808 100644
--- a/modules/sksg/include/SkSGOpacityEffect.h
+++ b/modules/sksg/include/SkSGOpacityEffect.h
@@ -8,9 +8,20 @@
#ifndef SkSGOpacityEffect_DEFINED
#define SkSGOpacityEffect_DEFINED
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <utility>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete Effect node, applying opacity to its descendants.
diff --git a/modules/sksg/include/SkSGPaint.h b/modules/sksg/include/SkSGPaint.h
index 55b25c6..94c4093 100644
--- a/modules/sksg/include/SkSGPaint.h
+++ b/modules/sksg/include/SkSGPaint.h
@@ -8,17 +8,22 @@
#ifndef SkSGPaint_DEFINED
#define SkSGPaint_DEFINED
-#include "modules/sksg/include/SkSGNode.h"
-
#include "include/core/SkBlendMode.h"
#include "include/core/SkColor.h"
#include "include/core/SkPaint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "modules/sksg/include/SkSGNode.h"
+
+class SkMatrix;
namespace skottie::internal {
class AnimationBuilder;
} // namespace skottie::internal
-namespace sksg {
+namespace sksg {
+class InvalidationController;
class Shader;
/**
@@ -102,6 +107,6 @@
using INHERITED = PaintNode;
};
-} // namespace sksg
+} // namespace sksg
#endif // SkSGPaint_DEFINED
diff --git a/modules/sksg/include/SkSGPath.h b/modules/sksg/include/SkSGPath.h
index 167fea1..8a6fe34 100644
--- a/modules/sksg/include/SkSGPath.h
+++ b/modules/sksg/include/SkSGPath.h
@@ -8,14 +8,20 @@
#ifndef SkSGPath_DEFINED
#define SkSGPath_DEFINED
-#include "modules/sksg/include/SkSGGeometryNode.h"
-
#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGNode.h"
class SkCanvas;
+class SkMatrix;
class SkPaint;
+enum class SkPathFillType;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete Geometry node, wrapping an SkPath.
diff --git a/modules/sksg/include/SkSGPlane.h b/modules/sksg/include/SkSGPlane.h
index 994ed6b..cd7154a 100644
--- a/modules/sksg/include/SkSGPlane.h
+++ b/modules/sksg/include/SkSGPlane.h
@@ -8,12 +8,18 @@
#ifndef SkSGPlane_DEFINED
#define SkSGPlane_DEFINED
+#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGGeometryNode.h"
class SkCanvas;
+class SkMatrix;
class SkPaint;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete Geometry node, representing the whole canvas.
diff --git a/modules/sksg/include/SkSGRect.h b/modules/sksg/include/SkSGRect.h
index fa39a8f..6bdc6ce 100644
--- a/modules/sksg/include/SkSGRect.h
+++ b/modules/sksg/include/SkSGRect.h
@@ -8,16 +8,25 @@
#ifndef SkSGRect_DEFINED
#define SkSGRect_DEFINED
-#include "modules/sksg/include/SkSGGeometryNode.h"
-
#include "include/core/SkPath.h"
+#include "include/core/SkPathTypes.h"
#include "include/core/SkRRect.h"
#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkTo.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGNode.h"
+
+#include <cstdint>
class SkCanvas;
+class SkMatrix;
class SkPaint;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Concrete Geometry node, wrapping an SkRect.
diff --git a/modules/sksg/include/SkSGRenderEffect.h b/modules/sksg/include/SkSGRenderEffect.h
index 74154ad..0306436 100644
--- a/modules/sksg/include/SkSGRenderEffect.h
+++ b/modules/sksg/include/SkSGRenderEffect.h
@@ -8,24 +8,30 @@
#ifndef SkSGRenderEffect_DEFINED
#define SkSGRenderEffect_DEFINED
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkBlender.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkImageFilter.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkTileMode.h"
+#include "include/effects/SkImageFilters.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
#include "modules/sksg/include/SkSGEffectNode.h"
#include "modules/sksg/include/SkSGNode.h"
-#include "include/core/SkBlendMode.h"
-#include "include/core/SkColor.h"
-#include "include/effects/SkImageFilters.h"
+#include <optional>
-#include <memory>
-#include <vector>
+class SkCanvas;
+class SkMatrix;
// TODO: merge EffectNode.h with this header
-class SkBlender;
-class SkImageFilter;
-class SkMaskFilter;
-class SkShader;
-
namespace sksg {
+class InvalidationController;
+class RenderNode;
/**
* Shader base class.
diff --git a/modules/sksg/include/SkSGRenderNode.h b/modules/sksg/include/SkSGRenderNode.h
index 4f103ad..64fbc4b 100644
--- a/modules/sksg/include/SkSGRenderNode.h
+++ b/modules/sksg/include/SkSGRenderNode.h
@@ -8,16 +8,23 @@
#ifndef SkSGRenderNode_DEFINED
#define SkSGRenderNode_DEFINED
-#include "modules/sksg/include/SkSGNode.h"
-
#include "include/core/SkBlender.h"
#include "include/core/SkColorFilter.h"
#include "include/core/SkMatrix.h"
+#include "include/core/SkRefCnt.h"
#include "include/core/SkShader.h"
+#include "modules/sksg/include/SkSGNode.h"
+
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+#include <vector>
class SkCanvas;
class SkImageFilter;
class SkPaint;
+struct SkPoint;
+struct SkRect;
namespace sksg {
diff --git a/modules/sksg/include/SkSGScene.h b/modules/sksg/include/SkSGScene.h
index 8ad19a2..c59dd21 100644
--- a/modules/sksg/include/SkSGScene.h
+++ b/modules/sksg/include/SkSGScene.h
@@ -12,7 +12,6 @@
#include "include/core/SkTypes.h"
#include <memory>
-#include <vector>
class SkCanvas;
struct SkPoint;
diff --git a/modules/sksg/include/SkSGText.h b/modules/sksg/include/SkSGText.h
index 77056b2..de4444c 100644
--- a/modules/sksg/include/SkSGText.h
+++ b/modules/sksg/include/SkSGText.h
@@ -8,19 +8,26 @@
#ifndef SkSGText_DEFINED
#define SkSGText_DEFINED
-#include "modules/sksg/include/SkSGGeometryNode.h"
-
#include "include/core/SkFont.h"
+#include "include/core/SkFontTypes.h"
+#include "include/core/SkPath.h"
#include "include/core/SkPoint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
#include "include/core/SkString.h"
-#include "include/core/SkTextBlob.h"
#include "include/utils/SkTextUtils.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGNode.h"
class SkCanvas;
+class SkMatrix;
class SkPaint;
+class SkTextBlob;
class SkTypeface;
namespace sksg {
+class InvalidationController;
/**
* Concrete Geometry node, wrapping a (shaped) SkTextBlob.
diff --git a/modules/sksg/include/SkSGTransform.h b/modules/sksg/include/SkSGTransform.h
index 65f0851..8dc1646 100644
--- a/modules/sksg/include/SkSGTransform.h
+++ b/modules/sksg/include/SkSGTransform.h
@@ -8,12 +8,22 @@
#ifndef SkSGTransform_DEFINED
#define SkSGTransform_DEFINED
+#include "include/core/SkM44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
#include "modules/sksg/include/SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
-class SkM44;
-class SkMatrix;
+#include <type_traits>
+#include <utility>
+
+class SkCanvas;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
/**
* Transformations base class.
diff --git a/modules/sksg/src/SkSGClipEffect.cpp b/modules/sksg/src/SkSGClipEffect.cpp
index da25ab4..cccaf5d 100644
--- a/modules/sksg/src/SkSGClipEffect.cpp
+++ b/modules/sksg/src/SkSGClipEffect.cpp
@@ -9,9 +9,15 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkPath.h"
+#include "include/private/base/SkAssert.h"
#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGNode.h"
+
+class SkMatrix;
+struct SkPoint;
namespace sksg {
+class InvalidationController;
ClipEffect::ClipEffect(sk_sp<RenderNode> child, sk_sp<GeometryNode> clip, bool aa, bool force_clip)
: INHERITED(std::move(child))
diff --git a/modules/sksg/src/SkSGColorFilter.cpp b/modules/sksg/src/SkSGColorFilter.cpp
index f9897d2..b194edc 100644
--- a/modules/sksg/src/SkSGColorFilter.cpp
+++ b/modules/sksg/src/SkSGColorFilter.cpp
@@ -7,11 +7,22 @@
#include "modules/sksg/include/SkSGColorFilter.h"
+#include "include/core/SkColor.h"
#include "include/core/SkColorFilter.h"
+#include "include/core/SkMatrix.h"
#include "include/private/SkColorData.h"
+#include "include/private/base/SkAssert.h"
#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+
+class SkCanvas;
+enum class SkBlendMode;
+struct SkPoint;
namespace sksg {
diff --git a/modules/sksg/src/SkSGDraw.cpp b/modules/sksg/src/SkSGDraw.cpp
index 8baf27a..459398f 100644
--- a/modules/sksg/src/SkSGDraw.cpp
+++ b/modules/sksg/src/SkSGDraw.cpp
@@ -5,15 +5,18 @@
* found in the LICENSE file.
*/
-#include "modules/sksg/include/SkSGDraw.h"
-
#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
#include "include/core/SkPath.h"
#include "include/core/SkPathUtils.h"
+#include "include/core/SkPoint.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/sksg/include/SkSGDraw.h"
#include "modules/sksg/include/SkSGGeometryNode.h"
-#include "modules/sksg/include/SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "modules/sksg/include/SkSGPaint.h"
-#include "src/base/SkTLazy.h"
+
+class SkMatrix;
namespace sksg {
diff --git a/modules/sksg/src/SkSGEffectNode.cpp b/modules/sksg/src/SkSGEffectNode.cpp
index a17c705..de61182 100644
--- a/modules/sksg/src/SkSGEffectNode.cpp
+++ b/modules/sksg/src/SkSGEffectNode.cpp
@@ -4,10 +4,19 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
#include "modules/sksg/include/SkSGEffectNode.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/sksg/include/SkSGNode.h"
+
+#include <utility>
+
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
EffectNode::EffectNode(sk_sp<RenderNode> child, uint32_t inval_traits)
: INHERITED(inval_traits)
diff --git a/modules/sksg/src/SkSGGeometryEffect.cpp b/modules/sksg/src/SkSGGeometryEffect.cpp
index 2d57c8f..eb9c6c3 100644
--- a/modules/sksg/src/SkSGGeometryEffect.cpp
+++ b/modules/sksg/src/SkSGGeometryEffect.cpp
@@ -8,17 +8,24 @@
#include "modules/sksg/include/SkSGGeometryEffect.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkClipOp.h"
+#include "include/core/SkMatrix.h"
#include "include/core/SkPath.h"
+#include "include/core/SkPathEffect.h"
#include "include/core/SkPathUtils.h"
#include "include/core/SkStrokeRec.h"
#include "include/effects/SkCornerPathEffect.h"
#include "include/effects/SkDashPathEffect.h"
#include "include/effects/SkTrimPathEffect.h"
#include "include/pathops/SkPathOps.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkPoint_impl.h"
+#include "include/private/base/SkTArray.h"
+#include "include/private/base/SkTo.h"
#include "modules/sksg/src/SkSGTransformPriv.h"
-#include "src/core/SkPathEffectBase.h"
#include "src/core/SkPathPriv.h"
+#include <algorithm>
#include <cmath>
using namespace skia_private;
diff --git a/modules/sksg/src/SkSGGeometryNode.cpp b/modules/sksg/src/SkSGGeometryNode.cpp
index 653866e..7d855d2 100644
--- a/modules/sksg/src/SkSGGeometryNode.cpp
+++ b/modules/sksg/src/SkSGGeometryNode.cpp
@@ -8,6 +8,9 @@
#include "modules/sksg/include/SkSGGeometryNode.h"
#include "include/core/SkPath.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRect.h"
+#include "include/private/base/SkAssert.h"
namespace sksg {
diff --git a/modules/sksg/src/SkSGGradient.cpp b/modules/sksg/src/SkSGGradient.cpp
index 3745bbc..3baf5f2 100644
--- a/modules/sksg/src/SkSGGradient.cpp
+++ b/modules/sksg/src/SkSGGradient.cpp
@@ -8,9 +8,11 @@
#include "modules/sksg/include/SkSGGradient.h"
#include "include/core/SkColorSpace.h"
-#include "include/core/SkPaint.h"
+#include "include/core/SkShader.h"
#include "include/effects/SkGradientShader.h"
+#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTo.h"
namespace sksg {
diff --git a/modules/sksg/src/SkSGGroup.cpp b/modules/sksg/src/SkSGGroup.cpp
index f60c6ff..5afef0a 100644
--- a/modules/sksg/src/SkSGGroup.cpp
+++ b/modules/sksg/src/SkSGGroup.cpp
@@ -8,10 +8,17 @@
#include "modules/sksg/include/SkSGGroup.h"
#include "include/core/SkCanvas.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkDebug.h"
+#include "modules/sksg/include/SkSGNode.h"
#include <algorithm>
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
Group::Group() = default;
diff --git a/modules/sksg/src/SkSGImage.cpp b/modules/sksg/src/SkSGImage.cpp
index 103f313..0bef108 100644
--- a/modules/sksg/src/SkSGImage.cpp
+++ b/modules/sksg/src/SkSGImage.cpp
@@ -9,7 +9,9 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkImage.h"
-#include "src/core/SkPaintPriv.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPoint.h"
+#include "include/private/base/SkAssert.h"
namespace sksg {
diff --git a/modules/sksg/src/SkSGMaskEffect.cpp b/modules/sksg/src/SkSGMaskEffect.cpp
index 08547a4..866ecb0 100644
--- a/modules/sksg/src/SkSGMaskEffect.cpp
+++ b/modules/sksg/src/SkSGMaskEffect.cpp
@@ -7,8 +7,17 @@
#include "modules/sksg/include/SkSGMaskEffect.h"
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkPaint.h"
#include "include/effects/SkLumaColorFilter.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkTo.h"
+#include "modules/sksg/include/SkSGNode.h"
+
+class SkMatrix;
+struct SkPoint;
namespace sksg {
diff --git a/modules/sksg/src/SkSGMerge.cpp b/modules/sksg/src/SkSGMerge.cpp
index d7f8607..a814351 100644
--- a/modules/sksg/src/SkSGMerge.cpp
+++ b/modules/sksg/src/SkSGMerge.cpp
@@ -8,9 +8,15 @@
#include "modules/sksg/include/SkSGMerge.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkClipOp.h"
+#include "include/core/SkPoint.h"
#include "include/pathops/SkPathOps.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/sksg/include/SkSGNode.h"
#include "src/core/SkPathPriv.h"
+class SkMatrix;
+
namespace sksg {
Merge::Merge(std::vector<Rec>&& recs)
diff --git a/modules/sksg/src/SkSGNode.cpp b/modules/sksg/src/SkSGNode.cpp
index 0b2818f..cdd5b67 100644
--- a/modules/sksg/src/SkSGNode.cpp
+++ b/modules/sksg/src/SkSGNode.cpp
@@ -5,8 +5,10 @@
* found in the LICENSE file.
*/
-#include "modules/sksg/include/SkSGInvalidationController.h"
#include "modules/sksg/include/SkSGNode.h"
+
+#include "include/private/base/SkDebug.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
#include "src/core/SkRectPriv.h"
#include <algorithm>
diff --git a/modules/sksg/src/SkSGOpacityEffect.cpp b/modules/sksg/src/SkSGOpacityEffect.cpp
index 513909f6..bc46de0 100644
--- a/modules/sksg/src/SkSGOpacityEffect.cpp
+++ b/modules/sksg/src/SkSGOpacityEffect.cpp
@@ -5,9 +5,15 @@
* found in the LICENSE file.
*/
+#include "include/private/base/SkAssert.h"
#include "modules/sksg/include/SkSGOpacityEffect.h"
+class SkCanvas;
+class SkMatrix;
+struct SkPoint;
+
namespace sksg {
+class InvalidationController;
OpacityEffect::OpacityEffect(sk_sp<RenderNode> child, float opacity)
: INHERITED(std::move(child))
diff --git a/modules/sksg/src/SkSGPaint.cpp b/modules/sksg/src/SkSGPaint.cpp
index 7910d9a..a053fa2 100644
--- a/modules/sksg/src/SkSGPaint.cpp
+++ b/modules/sksg/src/SkSGPaint.cpp
@@ -5,11 +5,16 @@
* found in the LICENSE file.
*/
-#include "modules/sksg/include/SkSGPaint.h"
-
+#include "include/core/SkShader.h"
+#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTPin.h"
+#include "modules/sksg/include/SkSGPaint.h"
#include "modules/sksg/include/SkSGRenderEffect.h"
+#include <utility>
+
+class SkMatrix;
+
namespace sksg {
// Paint nodes don't generate damage on their own, but via their aggregation ancestor Draw nodes.
diff --git a/modules/sksg/src/SkSGPath.cpp b/modules/sksg/src/SkSGPath.cpp
index a67eed8..1e35e8c 100644
--- a/modules/sksg/src/SkSGPath.cpp
+++ b/modules/sksg/src/SkSGPath.cpp
@@ -8,9 +8,14 @@
#include "modules/sksg/include/SkSGPath.h"
#include "include/core/SkCanvas.h"
-#include "include/core/SkPaint.h"
+#include "include/core/SkClipOp.h"
+#include "include/core/SkPathTypes.h"
+#include "include/core/SkPoint.h"
+#include "include/private/base/SkAssert.h"
#include "src/core/SkRectPriv.h"
+class SkMatrix;
+
namespace sksg {
Path::Path(const SkPath& path) : fPath(path) {}
diff --git a/modules/sksg/src/SkSGPlane.cpp b/modules/sksg/src/SkSGPlane.cpp
index c207289..bb30aba 100644
--- a/modules/sksg/src/SkSGPlane.cpp
+++ b/modules/sksg/src/SkSGPlane.cpp
@@ -9,9 +9,14 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkPath.h"
+#include "include/core/SkPathTypes.h"
+#include "include/core/SkScalar.h"
+#include "include/private/base/SkAssert.h"
+
+class SkMatrix;
+struct SkPoint;
namespace sksg {
-
Plane::Plane() = default;
void Plane::onClip(SkCanvas*, bool) const {}
@@ -35,4 +40,4 @@
return path;
}
-} // namespace sksg
+} // namespace sksg
diff --git a/modules/sksg/src/SkSGRect.cpp b/modules/sksg/src/SkSGRect.cpp
index ece6331..1b01aad 100644
--- a/modules/sksg/src/SkSGRect.cpp
+++ b/modules/sksg/src/SkSGRect.cpp
@@ -8,8 +8,12 @@
#include "modules/sksg/include/SkSGRect.h"
#include "include/core/SkCanvas.h"
-#include "include/core/SkPaint.h"
+#include "include/core/SkClipOp.h"
#include "include/core/SkPath.h"
+#include "include/core/SkPoint.h"
+#include "include/private/base/SkAssert.h"
+
+class SkMatrix;
namespace sksg {
diff --git a/modules/sksg/src/SkSGRenderEffect.cpp b/modules/sksg/src/SkSGRenderEffect.cpp
index 2f82977..de77b9d 100644
--- a/modules/sksg/src/SkSGRenderEffect.cpp
+++ b/modules/sksg/src/SkSGRenderEffect.cpp
@@ -9,11 +9,15 @@
#include "include/core/SkBlender.h"
#include "include/core/SkCanvas.h"
-#include "include/core/SkMaskFilter.h"
+#include "include/core/SkPaint.h"
#include "include/core/SkShader.h"
#include "include/core/SkTileMode.h"
#include "include/effects/SkImageFilters.h"
-#include "src/core/SkMaskFilterBase.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+
+#include <utility>
+
+class SkMatrix;
namespace sksg {
diff --git a/modules/sksg/src/SkSGRenderNode.cpp b/modules/sksg/src/SkSGRenderNode.cpp
index 3bc123b..6d4a53b 100644
--- a/modules/sksg/src/SkSGRenderNode.cpp
+++ b/modules/sksg/src/SkSGRenderNode.cpp
@@ -7,9 +7,16 @@
#include "modules/sksg/include/SkSGRenderNode.h"
+#include "include/core/SkBlendMode.h"
#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
#include "include/core/SkImageFilter.h"
#include "include/core/SkPaint.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRect.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkFloatingPoint.h"
+#include "include/private/base/SkTo.h"
#include "modules/sksg/src/SkSGNodePriv.h"
namespace sksg {
diff --git a/modules/sksg/src/SkSGScene.cpp b/modules/sksg/src/SkSGScene.cpp
index 2a84ce6..2f52a42 100644
--- a/modules/sksg/src/SkSGScene.cpp
+++ b/modules/sksg/src/SkSGScene.cpp
@@ -5,13 +5,11 @@
* found in the LICENSE file.
*/
+#include "include/core/SkMatrix.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
#include "modules/sksg/include/SkSGScene.h"
-#include "include/core/SkCanvas.h"
-#include "include/core/SkMatrix.h"
-#include "include/core/SkPaint.h"
-#include "modules/sksg/include/SkSGInvalidationController.h"
-#include "modules/sksg/include/SkSGRenderNode.h"
+#include <utility>
namespace sksg {
diff --git a/modules/sksg/src/SkSGText.cpp b/modules/sksg/src/SkSGText.cpp
index 1eca22b..98faeaa 100644
--- a/modules/sksg/src/SkSGText.cpp
+++ b/modules/sksg/src/SkSGText.cpp
@@ -8,10 +8,13 @@
#include "modules/sksg/include/SkSGText.h"
#include "include/core/SkCanvas.h"
-#include "include/core/SkPaint.h"
#include "include/core/SkPath.h"
+#include "include/core/SkTextBlob.h"
#include "include/core/SkTypeface.h"
-#include "include/private/base/SkTArray.h"
+
+#include <utility>
+
+class SkMatrix;
namespace sksg {
diff --git a/modules/sksg/src/SkSGTransform.cpp b/modules/sksg/src/SkSGTransform.cpp
index 7f31752..b774275 100644
--- a/modules/sksg/src/SkSGTransform.cpp
+++ b/modules/sksg/src/SkSGTransform.cpp
@@ -5,13 +5,13 @@
* found in the LICENSE file.
*/
-#include "modules/sksg/include/SkSGTransform.h"
-
#include "include/core/SkCanvas.h"
+#include "include/core/SkPoint.h"
+#include "include/private/base/SkAssert.h"
+#include "modules/sksg/include/SkSGTransform.h"
#include "modules/sksg/src/SkSGTransformPriv.h"
namespace sksg {
-
namespace {
template <typename T>
diff --git a/platform_tools/android/apps/skottie/skottielib/src/main/cpp/native-lib.cpp b/platform_tools/android/apps/skottie/skottielib/src/main/cpp/native-lib.cpp
index 792199f..5839b8a 100644
--- a/platform_tools/android/apps/skottie/skottielib/src/main/cpp/native-lib.cpp
+++ b/platform_tools/android/apps/skottie/skottielib/src/main/cpp/native-lib.cpp
@@ -14,10 +14,10 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkColor.h"
#include "include/core/SkColorSpace.h"
+#include "include/core/SkFontMgr.h"
#include "include/core/SkStream.h"
#include "include/core/SkSurface.h"
#include "include/ports/SkFontMgr_empty.h"
-#include "modules/skresources/include/SkResources.h"
#include <jni.h>
#include <math.h>
@@ -32,8 +32,10 @@
#include "include/gpu/ganesh/gl/GrGLDirectContext.h"
#include "include/gpu/gl/GrGLInterface.h"
#include "include/gpu/gl/GrGLTypes.h"
+#include "include/gpu/gl/egl/GrGLMakeEGLInterface.h"
#include "modules/skottie/include/Skottie.h"
+#include "modules/skresources/include/SkResources.h"
#include "modules/sksg/include/SkSGInvalidationController.h"
#include <GLES2/gl2.h>
@@ -83,7 +85,7 @@
extern "C" JNIEXPORT jlong
JNICALL
Java_org_skia_skottie_SkottieRunner_nCreateProxy(JNIEnv *env, jclass clazz) {
- sk_sp<const GrGLInterface> glInterface = GrGLMakeNativeInterface();
+ sk_sp<const GrGLInterface> glInterface = GrGLInterfaces::MakeEGL();
if (!glInterface.get()) {
return 0;
}
diff --git a/src/gpu/ganesh/GrDataUtils.cpp b/src/gpu/ganesh/GrDataUtils.cpp
index 340baf2..516d190 100644
--- a/src/gpu/ganesh/GrDataUtils.cpp
+++ b/src/gpu/ganesh/GrDataUtils.cpp
@@ -7,26 +7,39 @@
#include "src/gpu/ganesh/GrDataUtils.h"
+#include "include/core/SkAlphaType.h"
#include "include/core/SkColorSpace.h"
+#include "include/core/SkColorType.h"
+#include "include/core/SkPixmap.h"
#include "include/core/SkTextureCompressionType.h"
+#include "include/gpu/GpuTypes.h"
+#include "include/private/base/SkAssert.h"
+#include "include/private/base/SkMath.h"
#include "include/private/base/SkTPin.h"
+#include "include/private/base/SkTemplates.h"
+#include "include/private/base/SkTo.h"
+#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "modules/skcms/skcms.h"
+#include "src/base/SkArenaAlloc.h"
#include "src/base/SkMathPriv.h"
#include "src/base/SkRectMemcpy.h"
#include "src/base/SkTLazy.h"
-#include "src/base/SkUtils.h"
#include "src/core/SkColorSpaceXformSteps.h"
#include "src/core/SkCompressedDataUtils.h"
#include "src/core/SkMipmap.h"
#include "src/core/SkRasterPipeline.h"
+#include "src/core/SkRasterPipelineOpContexts.h"
#include "src/core/SkRasterPipelineOpList.h"
#include "src/core/SkTraceEvent.h"
#include "src/gpu/Swizzle.h"
-#include "src/gpu/ganesh/GrCaps.h"
-#include "src/gpu/ganesh/GrColor.h"
#include "src/gpu/ganesh/GrImageInfo.h"
#include "src/gpu/ganesh/GrPixmap.h"
+#include <algorithm>
+#include <cstdint>
+#include <cstring>
+#include <functional>
+
using namespace skia_private;
struct ETC1Block {
diff --git a/src/gpu/ganesh/GrDataUtils.h b/src/gpu/ganesh/GrDataUtils.h
index e96063d..7805e9e 100644
--- a/src/gpu/ganesh/GrDataUtils.h
+++ b/src/gpu/ganesh/GrDataUtils.h
@@ -9,16 +9,20 @@
#define GrDataUtils_DEFINED
#include "include/core/SkColor.h"
+#include "include/core/SkSize.h"
#include "include/private/base/SkTArray.h"
-#include "include/private/gpu/ganesh/GrTypesPriv.h"
+#include <array>
#include <cstddef>
-class GrImageInfo;
class GrCPixmap;
+class GrImageInfo;
class GrPixmap;
class SkPixmap;
enum class SkTextureCompressionType;
+namespace skgpu {
+enum class Mipmapped : bool;
+}
size_t GrNumBlocks(SkTextureCompressionType, SkISize baseDimensions);
diff --git a/src/gpu/ganesh/GrStencilSettings.cpp b/src/gpu/ganesh/GrStencilSettings.cpp
index 0b5fcfc..8ac5757 100644
--- a/src/gpu/ganesh/GrStencilSettings.cpp
+++ b/src/gpu/ganesh/GrStencilSettings.cpp
@@ -4,12 +4,14 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
-
#include "src/gpu/ganesh/GrStencilSettings.h"
+#include "include/private/base/SkDebug.h"
#include "src/gpu/KeyBuilder.h"
-#include "src/gpu/ganesh/GrProcessor.h"
+
+#include <algorithm>
+#include <cstddef>
+#include <cstring>
constexpr const GrUserStencilSettings gUnused(
GrUserStencilSettings::StaticInit<
diff --git a/src/gpu/ganesh/GrStencilSettings.h b/src/gpu/ganesh/GrStencilSettings.h
index a0b6038..814c940 100644
--- a/src/gpu/ganesh/GrStencilSettings.h
+++ b/src/gpu/ganesh/GrStencilSettings.h
@@ -4,14 +4,15 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
-
#ifndef GrStencilSettings_DEFINED
#define GrStencilSettings_DEFINED
-#include "include/core/SkRegion.h"
+#include "include/gpu/GrTypes.h"
+#include "include/private/base/SkAssert.h"
#include "src/gpu/ganesh/GrUserStencilSettings.h"
+#include <cstdint>
+
namespace skgpu {
class KeyBuilder;
}
diff --git a/src/gpu/ganesh/vk/GrVkUtil.h b/src/gpu/ganesh/vk/GrVkUtil.h
index 3b23bf2..4f7cb27 100644
--- a/src/gpu/ganesh/vk/GrVkUtil.h
+++ b/src/gpu/ganesh/vk/GrVkUtil.h
@@ -11,6 +11,7 @@
#include "include/gpu/GrTypes.h"
#include "include/gpu/vk/GrVkTypes.h"
#include "include/private/base/SkMacros.h"
+#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "src/gpu/ganesh/GrColor.h"
#include "src/gpu/ganesh/GrDataUtils.h"
#include "src/gpu/vk/VulkanInterface.h"
diff --git a/src/ports/SkImageGeneratorCG.cpp b/src/ports/SkImageGeneratorCG.cpp
index bda7d7f..dda500e 100644
--- a/src/ports/SkImageGeneratorCG.cpp
+++ b/src/ports/SkImageGeneratorCG.cpp
@@ -4,9 +4,9 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
+#include "include/ports/SkImageGeneratorCG.h"
#include "include/codec/SkEncodedOrigin.h"
-#include "include/ports/SkImageGeneratorCG.h"
#include "include/private/base/SkTemplates.h"
#include "include/utils/mac/SkCGUtils.h"
#include "src/codec/SkPixmapUtilsPriv.h"
diff --git a/toolchain/linux_trampolines/IWYU_mapping.imp b/toolchain/linux_trampolines/IWYU_mapping.imp
index 0c28db7..2857aad 100644
--- a/toolchain/linux_trampolines/IWYU_mapping.imp
+++ b/toolchain/linux_trampolines/IWYU_mapping.imp
@@ -25,6 +25,7 @@
{ include: ["<__algorithm/search.h>", "private", "<algorithm>", "public"] },
{ include: ["<__algorithm/sort.h>", "private", "<algorithm>", "public"] },
{ include: ["<__algorithm/stable_sort.h>", "private", "<algorithm>", "public"] },
+ { include: ["<__algorithm/transform.h>", "private", "<algorithm>", "public"] },
{ include: ["<__algorithm/unique.h>", "private", "<algorithm>", "public"] },
{ include: ["<__algorithm/upper_bound.h>", "private", "<algorithm>", "public"] },
diff --git a/toolchain/linux_trampolines/clang_trampoline_linux.sh b/toolchain/linux_trampolines/clang_trampoline_linux.sh
index 4e5e5ef..7439ceb 100755
--- a/toolchain/linux_trampolines/clang_trampoline_linux.sh
+++ b/toolchain/linux_trampolines/clang_trampoline_linux.sh
@@ -27,6 +27,8 @@
"gm/"
"include/private/base/"
"modules/bentleyottmann/"
+ "modules/skottie/"
+ "modules/sksg/"
"modules/skshaper/"
"modules/skunicode/"
"src/base/"
@@ -90,6 +92,8 @@
"src/gpu/ganesh/tessellate/StrokeTessellator.cpp"
"src/gpu/ganesh/vk/GrVkDirectContext.cpp"
"src/gpu/ganesh/ops/DrawAtlasPathOp.cpp"
+ "src/gpu/ganesh/GrStencilSettings.cpp"
+ "src/gpu/ganesh/GrDataUtils.cpp"
"src/gpu/vk/VulkanMutableTextureState.cpp"
"src/pdf/SkJpeg"
"tools/DecodeUtils.cpp"
@@ -115,6 +119,7 @@
"src/core/SkMaskBlurFilter.cpp"
"src/core/SkM44.cpp"
"src/core/SkPixmap.cpp"
+ "modules/skottie/src/effects/MotionBlurEffect.cpp"
)
function opted_in_to_IWYU_checks() {
diff --git a/tools/viewer/SkottieSlide.cpp b/tools/viewer/SkottieSlide.cpp
index afdb5a7..cb283f7 100644
--- a/tools/viewer/SkottieSlide.cpp
+++ b/tools/viewer/SkottieSlide.cpp
@@ -11,6 +11,7 @@
#include "include/core/SkCanvas.h"
#include "include/core/SkFont.h"
+#include "include/core/SkFontMgr.h"
#include "include/private/base/SkNoncopyable.h"
#include "include/private/base/SkTPin.h"
#include "modules/audioplayer/SkAudioPlayer.h"