public static void DrawFilledCurve(Rect r, AudioCurveAndColorEvaluator eval)
{
if (Event.current.type == EventType.Repaint)
{
Color color;
HandleUtility.ApplyWireMaterial();
GL.Begin(1);
float pixelsPerPoint = EditorGUIUtility.pixelsPerPoint;
float num2 = 1f / pixelsPerPoint;
float num3 = 0.5f * num2;
float num4 = Mathf.Ceil(r.width) * pixelsPerPoint;
float num5 = Mathf.Floor(r.x) + pixelEpsilon;
float num6 = 1f / (num4 - 1f);
float max = r.height * 0.5f;
float num8 = r.y + (0.5f * r.height);
float y = r.y + r.height;
float b = Mathf.Clamp(max * eval(0f, out color), -max, max);
for (int i = 0; i < num4; i++)
{
float x = num5 + (i * num2);
float a = Mathf.Clamp(max * eval(i * num6, out color), -max, max);
float num14 = Mathf.Min(a, b) - num3;
float num15 = Mathf.Max(a, b) + num3;
GL.Color(new Color(color.r, color.g, color.b, 0f));
AudioMixerDrawUtils.Vertex(x, num8 - num15);
GL.Color(color);
AudioMixerDrawUtils.Vertex(x, num8 - num14);
AudioMixerDrawUtils.Vertex(x, num8 - num14);
AudioMixerDrawUtils.Vertex(x, y);
b = a;
}
GL.End();
}
}