26static constexpr char kWebFontResource[] =
"fonts/Roboto-Regular.ttf";
27static constexpr char kSkottieResource[] =
"skottie/skottie_sample_webfont.json";
55 fPropManager = std::make_unique<skottie_utils::CustomPropertyManager>();
67 *errorMsg =
"No animation";
68 return DrawResult::kFail;
71 for (
size_t i = 0; i < 4; ++i) {
72 this->update_props(i);
75 fAnimation->
render(canvas, &dest);
77 return DrawResult::kOk;
91 void update_props(
size_t i) {
98 static constexpr struct {
99 const char* txt_string;
102 float transform_scale;
110 const auto& tst =
gTests[i - 1];
112 for (
const auto&
prop : fPropManager->getColorProps()) {
116 for (
const auto&
prop : fPropManager->getTransformProps()) {
117 auto t = fPropManager->getTransform(
prop);
118 t.fScale = {tst.transform_scale, tst.transform_scale};
122 for (
const auto&
prop : fPropManager->getTextProps()) {
123 auto txt = fPropManager->getText(
prop);
124 txt.fText.
set(tst.txt_string);
125 txt.fFillColor = tst.txt_color;
130 inline static constexpr SkScalar kSize = 800;
133 std::unique_ptr<skottie_utils::CustomPropertyManager> fPropManager;
static const TestCase gTests[]
std::unique_ptr< SkStreamAsset > GetResourceAsStream(const char *resource, bool useFileStream)
#define SkAssertResult(cond)
constexpr SkColor SK_ColorYELLOW
constexpr SkColor SK_ColorMAGENTA
constexpr SkColor SK_ColorCYAN
constexpr SkColor SK_ColorBLUE
constexpr SkColor SK_ColorRED
constexpr SkColor SK_ColorGREEN
#define INHERITED(method,...)
DrawResult onDraw(SkCanvas *canvas, SkString *errorMsg) override
bool onAnimate(double nanos) override
SkString getName() const override
void onOnceBeforeDraw() override
SkISize getISize() override
Builder & setPropertyObserver(sk_sp< PropertyObserver >)
Builder & setResourceProvider(sk_sp< ResourceProvider >)
Builder & setFontManager(sk_sp< SkFontMgr >)
sk_sp< Animation > make(SkStream *)
Builder & setTextShapingFactory(sk_sp< SkShapers::Factory >)
void render(SkCanvas *canvas, const SkRect *dst=nullptr) const
void seek(SkScalar t, sksg::InvalidationController *ic=nullptr)
virtual sk_sp< SkTypeface > loadTypeface(const char[], const char[]) const
sk_sp< Factory > BestAvailable()
static SkScalar prop(SkScalar radius, SkScalar newSize, SkScalar oldSize)
static constexpr SkISize Make(int32_t w, int32_t h)
constexpr SkRect makeOffset(float dx, float dy) const
static constexpr SkRect MakeWH(float w, float h)