8#ifndef SkImageFilters_DEFINED
9#define SkImageFilters_DEFINED
47 struct CropRect :
public std::optional<SkRect> {
65 *
this = *optionalCrop;
71 return this->has_value() == o.has_value() &&
72 (!this->has_value() || this->
value() == *o);
89 const CropRect& cropRect = {});
100 const CropRect& cropRect = {});
111 const CropRect& cropRect = {});
138 const CropRect& cropRect = {});
186 const CropRect& cropRect = {});
202 const CropRect& cropRect = {});
218 const CropRect& cropRect = {});
270 const CropRect& cropRect = {});
295 const CropRect& cropRect = {});
318 const CropRect& cropRect = {});
328 return Merge(array, 2, cropRect);
339 const CropRect& cropRect = {});
377 std::string_view childShaderName,
379 return RuntimeShader(
builder, 0.f, childShaderName, std::move(input));
395 std::string_view childShaderName,
416 std::string_view childShaderNames[],
419 return RuntimeShader(
builder, 0.f, childShaderNames,
434 std::string_view childShaderNames[],
457 return Shader(std::move(shader), Dither::kNo, cropRect);
460 const CropRect& cropRect = {});
483 const CropRect& cropRect = {});
495 const CropRect& cropRect = {});
514 const CropRect& cropRect = {});
530 const CropRect& cropRect = {});
551 const CropRect& cropRect = {});
569 const CropRect& cropRect = {});
586 const CropRect& cropRect = {});
609 const CropRect& cropRect = {});
@ kYes
Do pre-clip the geometry before applying the (perspective) matrix.
@ kNo
Don't pre-clip the geometry before applying the (perspective) matrix.
static sk_sp< SkImageFilter > Picture(sk_sp< SkPicture > pic)
static sk_sp< SkImageFilter > Merge(sk_sp< SkImageFilter > first, sk_sp< SkImageFilter > second, const CropRect &cropRect={})
static sk_sp< SkImageFilter > RuntimeShader(const SkRuntimeShaderBuilder &builder, std::string_view childShaderNames[], const sk_sp< SkImageFilter > inputs[], int inputCount)
static sk_sp< SkImageFilter > RuntimeShader(const SkRuntimeShaderBuilder &builder, std::string_view childShaderName, sk_sp< SkImageFilter > input)
static sk_sp< SkImageFilter > Shader(sk_sp< SkShader > shader, const CropRect &cropRect={})
static sk_sp< SkImageFilter > Image(sk_sp< SkImage > image, const SkSamplingOptions &sampling)
static sk_sp< SkImageFilter > Crop(const SkRect &rect, sk_sp< SkImageFilter > input)
static sk_sp< SkImageFilter > Blur(SkScalar sigmaX, SkScalar sigmaY, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
virtual SkRect cullRect() const =0
SK_API sk_sp< SkDocument > Make(SkWStream *dst, const SkSerialProcs *=nullptr, std::function< void(const SkPicture *)> onEndPage=nullptr)
unsigned useCenter Optional< SkMatrix > matrix
sk_sp< const SkImage > image
sk_sp< SkBlender > blender SkRect rect
SkSamplingOptions sampling
skia_private::AutoTArray< sk_sp< SkImageFilter > > filters TypedMatrix matrix TypedMatrix matrix SkScalar dx
SK_API sk_sp< SkShader > Empty()
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
SK_API sk_sp< PrecompileBlender > Arithmetic()
SK_API sk_sp< PrecompileColorFilter > Compose(SkSpan< const sk_sp< PrecompileColorFilter > > outer, SkSpan< const sk_sp< PrecompileColorFilter > > inner)
SK_API sk_sp< PrecompileImageFilter > Blur(sk_sp< PrecompileImageFilter > input)
SK_API sk_sp< PrecompileImageFilter > MatrixConvolution(sk_sp< PrecompileImageFilter > input)
SK_API sk_sp< PrecompileImageFilter > DisplacementMap(sk_sp< PrecompileImageFilter > input)
SK_API sk_sp< PrecompileShader > ColorFilter(SkSpan< const sk_sp< PrecompileShader > > shaders, SkSpan< const sk_sp< PrecompileColorFilter > > colorFilters)
SK_API sk_sp< PrecompileShader > Picture()
static SkRect inset(const SkRect &r)
CropRect(const SkIRect &crop)
CropRect(const std::nullopt_t &)
CropRect(const SkRect *optionalCrop)
CropRect(const SkIRect *optionalCrop)
bool operator==(const CropRect &o) const
CropRect(const std::optional< SkRect > &crop)
CropRect(const SkRect &crop)
static SkRect Make(const SkISize &size)
static constexpr SkRect MakeEmpty()