Flutter Engine
The Flutter Engine
|
#include <GrBicubicEffect.h>
Classes | |
class | Impl |
Public Member Functions | |
const char * | name () const override |
std::unique_ptr< GrFragmentProcessor > | clone () const override |
Public Member Functions inherited from GrFragmentProcessor | |
const GrFragmentProcessor * | parent () const |
std::unique_ptr< ProgramImpl > | makeProgramImpl () const |
void | addToKey (const GrShaderCaps &caps, skgpu::KeyBuilder *b) const |
int | numChildProcessors () const |
int | numNonNullChildProcessors () const |
GrFragmentProcessor * | childProcessor (int index) |
const GrFragmentProcessor * | childProcessor (int index) const |
SkDEBUGCODE (bool isInstantiated() const ;) bool willReadDstColor() const | |
bool | isBlendFunction () const |
bool | usesSampleCoordsDirectly () const |
bool | usesSampleCoords () const |
const SkSL::SampleUsage & | sampleUsage () const |
bool | compatibleWithCoverageAsAlpha () const |
bool | preservesOpaqueInput () const |
bool | hasConstantOutputForConstantInput (SkPMColor4f inputColor, SkPMColor4f *outputColor) const |
bool | hasConstantOutputForConstantInput () const |
void | clearConstantOutputForConstantInputFlag () |
bool | isEqual (const GrFragmentProcessor &that) const |
void | visitProxies (const GrVisitProxyFunc &) const |
void | visitTextureEffects (const std::function< void(const GrTextureEffect &)> &) const |
void | visitWithImpls (const std::function< void(const GrFragmentProcessor &, ProgramImpl &)> &, ProgramImpl &) const |
GrTextureEffect * | asTextureEffect () |
const GrTextureEffect * | asTextureEffect () const |
Public Member Functions inherited from GrProcessor | |
virtual | ~GrProcessor ()=default |
void * | operator new (size_t size) |
void * | operator new (size_t object_size, size_t footer_size) |
void | operator delete (void *target) |
void * | operator new (size_t size, void *placement) |
void | operator delete (void *target, void *placement) |
template<typename T > | |
const T & | cast () const |
ClassID | classID () const |
Static Public Attributes | |
static constexpr SkCubicResampler | gMitchell = { 1.0f/3, 1.0f/3 } |
static constexpr SkCubicResampler | gCatmullRom = { 0, 1.0f/2 } |
Private Member Functions | |
std::unique_ptr< ProgramImpl > | onMakeProgramImpl () const override |
void | onAddToKey (const GrShaderCaps &, skgpu::KeyBuilder *) const override |
bool | onIsEqual (const GrFragmentProcessor &) const override |
SkPMColor4f | constantOutputForConstantInput (const SkPMColor4f &) const override |
Definition at line 28 of file GrBicubicEffect.h.
|
strong |
Enumerator | |
---|---|
kX | Apply bicubic kernel in local coord x, nearest neighbor in y. |
kY | Apply bicubic kernel in local coord y, nearest neighbor in x. |
kXY | Apply bicubic in both x and y. |
Definition at line 33 of file GrBicubicEffect.h.
|
inlineoverridevirtual |
Makes a copy of this fragment processor that draws equivalently to the original. If the processor has child processors they are cloned as well.
Implements GrFragmentProcessor.
Definition at line 44 of file GrBicubicEffect.h.
|
overrideprivatevirtual |
Reimplemented from GrFragmentProcessor.
Definition at line 245 of file GrBicubicEffect.cpp.
|
static |
Create a bicubic filter effect for a texture with arbitrary wrap modes.
Definition at line 137 of file GrBicubicEffect.cpp.
|
static |
Create a bicubic filter effect with specified texture matrix with clamp wrap mode.
Definition at line 126 of file GrBicubicEffect.cpp.
|
static |
Make a bicubic filter of a another fragment processor. The bicubic filter assumes that the discrete samples of the provided processor are at half-integer coords.
Definition at line 200 of file GrBicubicEffect.cpp.
|
static |
Same as above but provides a known 'domain' that bounds the coords at which bicubic sampling occurs. Note that this is a bound on the coords after transformed by the matrix parameter.
Definition at line 172 of file GrBicubicEffect.cpp.
|
static |
Create a bicubic filter effect for a subset of a texture, specified by a texture coordinate rectangle subset. The WrapModes apply to the subset.
Definition at line 153 of file GrBicubicEffect.cpp.
|
inlineoverridevirtual |
Human-meaningful string to identify this processor; may be embedded in generated shader code and must be a legal SkSL identifier prefix.
Implements GrProcessor.
Definition at line 42 of file GrBicubicEffect.h.
|
overrideprivatevirtual |
|
overrideprivatevirtual |
Subclass implements this to support isEqual(). It will only be called if it is known that the two processors are of the same subclass (i.e. have the same ClassID).
Implements GrFragmentProcessor.
Definition at line 237 of file GrBicubicEffect.cpp.
|
overrideprivatevirtual |
Returns a new instance of the appropriate ProgramImpl subclass for the given GrFragmentProcessor. It will emit the appropriate code and live with the cached program to setup uniform data for each draw that uses the program.
Implements GrFragmentProcessor.
Definition at line 233 of file GrBicubicEffect.cpp.
|
inlinestaticconstexpr |
Definition at line 31 of file GrBicubicEffect.h.
|
inlinestaticconstexpr |
Definition at line 30 of file GrBicubicEffect.h.