Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
skgpu::graphite::PaintOptions Class Reference

#include <Precompile.h>

Public Types

typedef std::function< void(UniquePaintParamsID id, DrawTypeFlags, bool withPrimitiveBlender, Coverage)> ProcessCombination
 

Public Member Functions

void setShaders (SkSpan< const sk_sp< PrecompileShader > > shaders)
 
void setMaskFilters (SkSpan< const sk_sp< PrecompileMaskFilter > > maskFilters)
 
void setColorFilters (SkSpan< const sk_sp< PrecompileColorFilter > > colorFilters)
 
void setImageFilters (SkEnumBitMask< PrecompileImageFilters > options)
 
void setBlendModes (SkSpan< SkBlendMode > blendModes)
 
void setBlenders (SkSpan< const sk_sp< PrecompileBlender > > blenders)
 
void setClipShaders (SkSpan< const sk_sp< PrecompileShader > > clipShaders)
 
void setDither (bool dither)
 
PaintOptionsPriv priv ()
 
const PaintOptionsPriv priv () const
 

Friends

class PaintOptionsPriv
 

Detailed Description

Definition at line 170 of file Precompile.h.

Member Typedef Documentation

◆ ProcessCombination

typedef std::function<void(UniquePaintParamsID id, DrawTypeFlags, bool withPrimitiveBlender, Coverage)> skgpu::graphite::PaintOptions::ProcessCombination

Definition at line 208 of file Precompile.h.

Member Function Documentation

◆ priv() [1/2]

PaintOptionsPriv skgpu::graphite::PaintOptions::priv ( )
inline

Definition at line 51 of file PaintOptionsPriv.h.

51{ return PaintOptionsPriv(this); }

◆ priv() [2/2]

const PaintOptionsPriv skgpu::graphite::PaintOptions::priv ( ) const
inline

Definition at line 54 of file PaintOptionsPriv.h.

54 {
55 return PaintOptionsPriv(const_cast<PaintOptions *>(this));
56}

◆ setBlenders()

void skgpu::graphite::PaintOptions::setBlenders ( SkSpan< const sk_sp< PrecompileBlender > >  blenders)
inline

Definition at line 191 of file Precompile.h.

191 {
192 for (const sk_sp<PrecompileBlender>& b: blenders) {
193 if (b->asBlendMode().has_value()) {
194 fBlendModeOptions.push_back(b->asBlendMode().value());
195 } else {
196 fBlenderOptions.push_back(b);
197 }
198 }
199 }
void push_back(const T &v)
Definition SkTDArray.h:219
static bool b

◆ setBlendModes()

void skgpu::graphite::PaintOptions::setBlendModes ( SkSpan< SkBlendMode blendModes)
inline

Definition at line 188 of file Precompile.h.

188 {
189 fBlendModeOptions.append(blendModes.size(), blendModes.data());
190 }
constexpr T * data() const
Definition SkSpan_impl.h:94
constexpr size_t size() const
Definition SkSpan_impl.h:95
T * append()
Definition SkTDArray.h:191

◆ setClipShaders()

void skgpu::graphite::PaintOptions::setClipShaders ( SkSpan< const sk_sp< PrecompileShader > >  clipShaders)

Definition at line 66 of file Precompile.cpp.

66 {
67 // In the normal API this modification happens in SkDevice::clipShader()
68 fClipShaderOptions.reserve(2 * clipShaders.size());
69 for (const sk_sp<PrecompileShader>& cs : clipShaders) {
70 // All clipShaders get wrapped in a CTMShader ...
71 sk_sp<PrecompileShader> withCTM = cs ? cs->makeWithCTM() : nullptr;
72 // and, if it is a SkClipOp::kDifference clip, an additional ColorFilterShader
74 withCTM ? withCTM->makeWithColorFilter(PrecompileColorFilters::Blend())
75 : nullptr;
76
77 fClipShaderOptions.emplace_back(std::move(withCTM));
78 fClipShaderOptions.emplace_back(std::move(inverted));
79 }
80}

◆ setColorFilters()

void skgpu::graphite::PaintOptions::setColorFilters ( SkSpan< const sk_sp< PrecompileColorFilter > >  colorFilters)
inline

Definition at line 180 of file Precompile.h.

180 {
181 fColorFilterOptions.assign(colorFilters.begin(), colorFilters.end());
182 }
constexpr T * begin() const
Definition SkSpan_impl.h:90
constexpr T * end() const
Definition SkSpan_impl.h:91

◆ setDither()

void skgpu::graphite::PaintOptions::setDither ( bool  dither)
inline

Definition at line 203 of file Precompile.h.

203{ fDither = dither; }

◆ setImageFilters()

void skgpu::graphite::PaintOptions::setImageFilters ( SkEnumBitMask< PrecompileImageFilters options)
inline

Definition at line 184 of file Precompile.h.

184 {
185 fImageFilterOptions = options;
186 }
const char * options

◆ setMaskFilters()

void skgpu::graphite::PaintOptions::setMaskFilters ( SkSpan< const sk_sp< PrecompileMaskFilter > >  maskFilters)
inline

Definition at line 176 of file Precompile.h.

176 {
177 fMaskFilterOptions.assign(maskFilters.begin(), maskFilters.end());
178 }

◆ setShaders()

void skgpu::graphite::PaintOptions::setShaders ( SkSpan< const sk_sp< PrecompileShader > >  shaders)
inline

Definition at line 172 of file Precompile.h.

172 {
173 fShaderOptions.assign(shaders.begin(), shaders.end());
174 }

Friends And Related Symbol Documentation

◆ PaintOptionsPriv

friend class PaintOptionsPriv
friend

Definition at line 215 of file Precompile.h.


The documentation for this class was generated from the following files: