|
| SkPerlinNoiseShader (SkPerlinNoiseShaderType type, SkScalar baseFrequencyX, SkScalar baseFrequencyY, int numOctaves, SkScalar seed, const SkISize *tileSize) |
|
ShaderType | type () const override |
|
SkPerlinNoiseShaderType | noiseType () const |
|
int | numOctaves () const |
|
bool | stitchTiles () const |
|
SkISize | tileSize () const |
|
std::unique_ptr< PaintingData > | getPaintingData () const |
|
bool | appendStages (const SkStageRec &rec, const SkShaders::MatrixRec &mRec) const override |
|
| ~SkShaderBase () override |
|
sk_sp< SkShader > | makeInvertAlpha () const |
|
sk_sp< SkShader > | makeWithCTM (const SkMatrix &) const |
|
virtual bool | isConstant () const |
|
virtual ShaderType | type () const =0 |
|
virtual GradientType | asGradient (GradientInfo *info=nullptr, SkMatrix *localMatrix=nullptr) const |
|
Context * | makeContext (const ContextRec &, SkArenaAlloc *) const |
|
bool | asLuminanceColor (SkColor4f *) const |
|
bool | appendRootStages (const SkStageRec &rec, const SkMatrix &ctm) const |
|
virtual bool | appendStages (const SkStageRec &, const SkShaders::MatrixRec &) const =0 |
|
virtual SkImage * | onIsAImage (SkMatrix *, SkTileMode[2]) const |
|
virtual SkRuntimeEffect * | asRuntimeEffect () const |
|
Type | getFlattenableType () const override |
|
virtual sk_sp< SkShader > | makeAsALocalMatrixShader (SkMatrix *localMatrix) const |
|
virtual bool | isOpaque () const |
|
SkImage * | isAImage (SkMatrix *localMatrix, SkTileMode xy[2]) const |
|
bool | isAImage () const |
|
sk_sp< SkShader > | makeWithLocalMatrix (const SkMatrix &) const |
|
sk_sp< SkShader > | makeWithColorFilter (sk_sp< SkColorFilter >) const |
|
sk_sp< SkShader > | makeWithWorkingColorSpace (sk_sp< SkColorSpace >) const |
|
| SkFlattenable () |
|
virtual Factory | getFactory () const =0 |
|
virtual const char * | getTypeName () const =0 |
|
virtual void | flatten (SkWriteBuffer &) const |
|
virtual Type | getFlattenableType () const =0 |
|
sk_sp< SkData > | serialize (const SkSerialProcs *=nullptr) const |
|
size_t | serialize (void *memory, size_t memory_size, const SkSerialProcs *=nullptr) const |
|
| SkRefCntBase () |
|
virtual | ~SkRefCntBase () |
|
bool | unique () const |
|
void | ref () const |
|
void | unref () const |
|
|
enum class | ShaderType { M
} |
|
enum class | GradientType { kNone
, M
} |
|
enum | Flags { kOpaqueAlpha_Flag = 1 << 0
} |
|
enum | Type {
kSkColorFilter_Type
, kSkBlender_Type
, kSkDrawable_Type
, kSkDrawLooper_Type
,
kSkImageFilter_Type
, kSkMaskFilter_Type
, kSkPathEffect_Type
, kSkShader_Type
} |
|
typedef sk_sp< SkFlattenable >(* | Factory) (SkReadBuffer &) |
|
static Type | GetFlattenableType () |
|
static sk_sp< SkShaderBase > | Deserialize (const void *data, size_t size, const SkDeserialProcs *procs=nullptr) |
|
static void | RegisterFlattenables () |
|
static SkMatrix | ConcatLocalMatrices (const SkMatrix &parentLM, const SkMatrix &childLM) |
|
static Factory | NameToFactory (const char name[]) |
|
static const char * | FactoryToName (Factory) |
|
static void | Register (const char name[], Factory) |
|
static sk_sp< SkFlattenable > | Deserialize (Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr) |
|
SkPerlinNoiseShader creates an image using the Perlin turbulence function.
It can produce tileable noise if asked to stitch tiles and provided a tile size. In order to fill a large area with repeating noise, set the stitchTiles flag to true, and render exactly a single tile of noise. Without this flag, the result will contain visible seams between tiles.
The algorithm used is described here : http://www.w3.org/TR/SVG/filters.html#feTurbulenceElement
Definition at line 34 of file SkPerlinNoiseShaderImpl.h.