/* * Copyright 2019 Google LLC * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkParticleDrawable_DEFINED #define SkParticleDrawable_DEFINED #include "SkReflected.h" class SkCanvas; struct SkParticleState; class SkPaint; class SkString; class SkParticleDrawable : public SkReflected { public: REFLECTED_ABSTRACT(SkParticleDrawable, SkReflected) virtual void draw(SkCanvas* canvas, const SkParticleState particles[], int count, const SkPaint* paint) = 0; static void RegisterDrawableTypes(); static sk_sp MakeCircle(int radius); static sk_sp MakeImage(const SkString& path, int cols, int rows); }; #endif // SkParticleEffect_DEFINED