|
static void | Draw (const skif::Context &ctx, SkDevice *device, const skif::FilterResult &image, bool preserveDeviceState) |
|
static sk_sp< SkShader > | AsShader (const skif::Context &ctx, const skif::FilterResult &image, const skif::LayerSpace< SkIRect > &sampleBounds) |
|
static sk_sp< SkShader > | StrictShader (const skif::Context &ctx, const skif::FilterResult &image) |
|
static skif::FilterResult | Rescale (const skif::Context &ctx, const skif::FilterResult &image, const skif::LayerSpace< SkSize > scale) |
|
static void | TrackStats (skif::Context *ctx, skif::Stats *stats) |
|
static bool | IsIntegerTransform (const skif::FilterResult &image) |
|
static bool | IsShaderTilingExpected (const skif::Context &ctx, const skif::FilterResult &image, bool rescaling) |
|
static bool | IsShaderClampingExpected (const skif::Context &ctx, const skif::FilterResult &image, bool rescaling) |
|
Definition at line 78 of file FilterResultTest.cpp.
◆ AsShader()
Definition at line 88 of file FilterResultTest.cpp.
90 {
92 FilterResult::ShaderFlags::kNone, sampleBounds);
93 }
static constexpr SkSamplingOptions kDefaultSampling
◆ Draw()
◆ IsIntegerTransform()
static bool FilterResultTestAccess::IsIntegerTransform |
( |
const skif::FilterResult & |
image | ) |
|
|
inlinestatic |
Definition at line 123 of file FilterResultTest.cpp.
123 {
125 return m.isTranslate() &&
128 }
static bool SkScalarIsInt(SkScalar x)
◆ IsShaderClampingExpected()
Definition at line 156 of file FilterResultTest.cpp.
158 {
160 if (analysis & BoundsAnalysis::kHasLayerFillingEffect ||
162
163
164
165
168 image.fBoundary == FilterResult::PixelBoundary::kTransparent)) {
169 return true;
170 } else {
171
172
174 return rescaling;
175 }
176 }
177
178
179 return image.fBoundary == FilterResult::PixelBoundary::kUnknown;
180 }
static bool IsShaderTilingExpected(const skif::Context &ctx, const skif::FilterResult &image, bool rescaling)
const LayerSpace< SkIRect > & desiredOutput() const
◆ IsShaderTilingExpected()
Definition at line 130 of file FilterResultTest.cpp.
132 {
134 return false;
135 }
137 image.fBoundary == FilterResult::PixelBoundary::kTransparent) {
138 return false;
139 }
141 if (!(analysis & BoundsAnalysis::kHasLayerFillingEffect) &&
144 return false;
145 }
146
147
148
149
150
151
152
153 return true;
154 }
◆ Rescale()
◆ StrictShader()
Definition at line 95 of file FilterResultTest.cpp.
96 {
98 if (analysis & FilterResult::BoundsAnalysis::kRequiresLayerCrop) {
99
100
101 return nullptr;
102 } else {
103
104 analysis |= BoundsAnalysis::kDstBoundsNotCovered;
105 analysis |= BoundsAnalysis::kRequiresShaderTiling;
107 analysis |= BoundsAnalysis::kRequiresDecalInLayerSpace;
108 }
109 return image.getAnalyzedShaderView(ctx,
image.sampling(), analysis);
110 }
111 }
◆ TrackStats()
The documentation for this class was generated from the following file: