[go: nahoru, domu]

cc: Support dynamic coloration of Lottie assets

This CL adds dynamic coloration functionality to cc and exposes it in
gfx::Canvas and then lottie::Animation. The plan is to develop dark mode
functionality for Lottie assets.

Bug: 1128684
Test: cc_unittests P/PaintOpSerializationTest.*/17
Change-Id: I1dd243eeda76547e2f5664fb21a5e9e13369f4f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3322066
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Avery Musbach <amusbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#958306}
diff --git a/cc/paint/paint_canvas.h b/cc/paint/paint_canvas.h
index 0ae9e777..3e05b74 100644
--- a/cc/paint/paint_canvas.h
+++ b/cc/paint/paint_canvas.h
@@ -12,6 +12,7 @@
 #include "cc/paint/node_id.h"
 #include "cc/paint/paint_export.h"
 #include "cc/paint/paint_image.h"
+#include "cc/paint/skottie_color_map.h"
 #include "cc/paint/skottie_frame_data.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 
@@ -190,7 +191,8 @@
   virtual void drawSkottie(scoped_refptr<SkottieWrapper> skottie,
                            const SkRect& dst,
                            float t,
-                           SkottieFrameDataMap images) = 0;
+                           SkottieFrameDataMap images,
+                           const SkottieColorMap& color_map) = 0;
 
   virtual void drawTextBlob(sk_sp<SkTextBlob> blob,
                             SkScalar x,