Line data Source code
1 : /*
2 : * Copyright 2012 Google Inc.
3 : *
4 : * Use of this source code is governed by a BSD-style license that can be
5 : * found in the LICENSE file.
6 : */
7 :
8 : #include "effects/GrSingleTextureEffect.h"
9 :
10 : #include "GrTextureProxy.h"
11 :
12 0 : GrSingleTextureEffect::GrSingleTextureEffect(GrResourceProvider* resourceProvider,
13 : OptimizationFlags optFlags,
14 : sk_sp<GrTextureProxy> proxy,
15 : sk_sp<GrColorSpaceXform> colorSpaceXform,
16 0 : const SkMatrix& m)
17 : : INHERITED(optFlags)
18 : , fCoordTransform(resourceProvider, m, proxy.get())
19 0 : , fTextureSampler(resourceProvider, std::move(proxy))
20 0 : , fColorSpaceXform(std::move(colorSpaceXform)) {
21 0 : this->addCoordTransform(&fCoordTransform);
22 0 : this->addTextureSampler(&fTextureSampler);
23 0 : }
24 :
25 0 : GrSingleTextureEffect::GrSingleTextureEffect(GrResourceProvider* resourceProvider,
26 : OptimizationFlags optFlags,
27 : sk_sp<GrTextureProxy> proxy,
28 : sk_sp<GrColorSpaceXform> colorSpaceXform,
29 : const SkMatrix& m,
30 0 : GrSamplerParams::FilterMode filterMode)
31 : : INHERITED(optFlags)
32 : , fCoordTransform(resourceProvider, m, proxy.get())
33 0 : , fTextureSampler(resourceProvider, std::move(proxy), filterMode)
34 0 : , fColorSpaceXform(std::move(colorSpaceXform)) {
35 0 : this->addCoordTransform(&fCoordTransform);
36 0 : this->addTextureSampler(&fTextureSampler);
37 0 : }
38 :
39 0 : GrSingleTextureEffect::GrSingleTextureEffect(GrResourceProvider* resourceProvider,
40 : OptimizationFlags optFlags,
41 : sk_sp<GrTextureProxy> proxy,
42 : sk_sp<GrColorSpaceXform> colorSpaceXform,
43 0 : const SkMatrix& m, const GrSamplerParams& params)
44 : : INHERITED(optFlags)
45 : , fCoordTransform(resourceProvider, m, proxy.get())
46 0 : , fTextureSampler(resourceProvider, std::move(proxy), params)
47 0 : , fColorSpaceXform(std::move(colorSpaceXform)) {
48 0 : this->addCoordTransform(&fCoordTransform);
49 0 : this->addTextureSampler(&fTextureSampler);
50 0 : }
|