Particle cleanup: IWYU

Bug: skia:
Change-Id: If9d8a22a770e4125391d0fbd263521f6bdb7725d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198246
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/modules/particles/include/SkCurve.h b/modules/particles/include/SkCurve.h
index 044c0f4..b77bb2e 100644
--- a/modules/particles/include/SkCurve.h
+++ b/modules/particles/include/SkCurve.h
@@ -14,7 +14,6 @@
 #include "SkTArray.h"
 
 class SkFieldVisitor;
-class SkRandom;
 
 /**
  * SkCurve implements a keyframed 1D function, useful for animating values over time. This pattern
@@ -37,10 +36,9 @@
  *
  * Each segment has two additional features for creating interesting (and varied) animation:
  *   - A segment can be ranged. Ranged segments have two sets of coefficients, and a random value
- *     taken from the SkRandom will be used to lerp betwen them. Typically, the SkRandom passed to
- *     eval will be in the same state at each call, so this value will be stable. That causes a
- *     ranged SkCurve to produce a single smooth cubic function somewhere within the range defined
- *     by fMin and fMax.
+ *     taken from the particle's SkRandom is used to lerp betwen them. Typically, the SkRandom is
+ *     in the same state at each call, so this value is stable. That causes a ranged SkCurve to
+ *     produce a single smooth cubic function somewhere within the range defined by fMin and fMax.
  *   - A segment can be bidirectional. In that case, after a value is computed, it will be negated
  *     50% of the time.
  */
diff --git a/modules/particles/include/SkParticleEffect.h b/modules/particles/include/SkParticleEffect.h
index 4dedd0b..1af9c68 100644
--- a/modules/particles/include/SkParticleEffect.h
+++ b/modules/particles/include/SkParticleEffect.h
@@ -9,9 +9,7 @@
 #define SkParticleEffect_DEFINED
 
 #include "SkAutoMalloc.h"
-#include "SkColor.h"
 #include "SkCurve.h"
-#include "SkParticleData.h"
 #include "SkRandom.h"
 #include "SkRefCnt.h"
 #include "SkTArray.h"
@@ -20,6 +18,7 @@
 class SkFieldVisitor;
 class SkParticleAffector;
 class SkParticleDrawable;
+struct SkParticleState;
 
 class SkParticleEffectParams : public SkRefCnt {
 public:
diff --git a/modules/particles/include/SkReflected.h b/modules/particles/include/SkReflected.h
index ec66631..1a0d43b 100644
--- a/modules/particles/include/SkReflected.h
+++ b/modules/particles/include/SkReflected.h
@@ -10,14 +10,14 @@
 
 #include "SkColor.h"
 #include "SkRefCnt.h"
-#include "SkString.h"
 #include "SkTArray.h"
 
 #include <string.h>
 
 struct SkCurve;
 class SkFieldVisitor;
-class SkRandom;
+struct SkPoint;
+class SkString;
 
 /**
  * Classes and macros for a lightweight reflection system.
@@ -123,8 +123,6 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-struct SkPoint;
-
 /**
  * SkFieldVisitor is an interface that can be implemented by any class to visit all fields of
  * SkReflected types, and of types that implement the visitFields() function.