#ifndef CC_PAINT_PAINT_FILTER_H_
#define CC_PAINT_PAINT_FILTER_H_
#include <optional>
#include <string>
#include <vector>
#include "base/check_op.h"
#include "base/containers/span.h"
#include "cc/paint/color_filter.h"
#include "cc/paint/paint_export.h"
#include "cc/paint/paint_image.h"
#include "cc/paint/paint_shader.h"
#include "third_party/abseil-cpp/absl/container/inlined_vector.h"
#include "third_party/skia/include/core/SkBlendMode.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkImageFilter.h"
#include "third_party/skia/include/core/SkPoint3.h"
#include "third_party/skia/include/core/SkRefCnt.h"
#include "third_party/skia/include/core/SkRegion.h"
#include "third_party/skia/include/effects/SkImageFilters.h"
#include "ui/gfx/display_color_spaces.h"
namespace viz {
class SkiaRenderer;
class SoftwareRenderer;
}
namespace cc {
class ImageProvider;
class CC_PAINT_EXPORT PaintFilter : public SkRefCnt { … };
class CC_PAINT_EXPORT OneInputPaintFilter : public PaintFilter { … };
class CC_PAINT_EXPORT TwoInputPaintFilter : public PaintFilter { … };
class CC_PAINT_EXPORT ColorFilterPaintFilter final
: public OneInputPaintFilter { … };
class CC_PAINT_EXPORT BlurPaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT DropShadowPaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT MagnifierPaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT ComposePaintFilter final : public TwoInputPaintFilter { … };
class CC_PAINT_EXPORT AlphaThresholdPaintFilter final
: public OneInputPaintFilter { … };
class CC_PAINT_EXPORT XfermodePaintFilter final : public TwoInputPaintFilter { … };
class CC_PAINT_EXPORT ArithmeticPaintFilter final : public TwoInputPaintFilter { … };
class CC_PAINT_EXPORT MatrixConvolutionPaintFilter final
: public OneInputPaintFilter { … };
class CC_PAINT_EXPORT DisplacementMapEffectPaintFilter final
: public TwoInputPaintFilter { … };
class CC_PAINT_EXPORT ImagePaintFilter final : public PaintFilter { … };
class CC_PAINT_EXPORT RecordPaintFilter final : public PaintFilter { … };
class CC_PAINT_EXPORT MergePaintFilter final : public PaintFilter { … };
class CC_PAINT_EXPORT MorphologyPaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT OffsetPaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT TilePaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT TurbulencePaintFilter final : public PaintFilter { … };
class CC_PAINT_EXPORT ShaderPaintFilter final : public PaintFilter { … };
class CC_PAINT_EXPORT MatrixPaintFilter final : public OneInputPaintFilter { … };
class CC_PAINT_EXPORT LightingDistantPaintFilter final
: public OneInputPaintFilter { … };
class CC_PAINT_EXPORT LightingPointPaintFilter final
: public OneInputPaintFilter { … };
class CC_PAINT_EXPORT LightingSpotPaintFilter final
: public OneInputPaintFilter { … };
}
#endif