Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
shaders
SkCoordClampShader.h
Go to the documentation of this file.
1
/*
2
* Copyright 2023 Google LLC
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
#ifndef SkCoordClampShader_DEFINED
9
#define SkCoordClampShader_DEFINED
10
11
#include "
include/core/SkFlattenable.h
"
12
#include "
include/core/SkRect.h
"
13
#include "
include/core/SkRefCnt.h
"
14
#include "
include/core/SkShader.h
"
15
#include "
src/shaders/SkShaderBase.h
"
16
17
#include <utility>
18
19
class
SkReadBuffer
;
20
class
SkWriteBuffer
;
21
struct
SkStageRec
;
22
23
class
SkCoordClampShader
final :
public
SkShaderBase
{
24
public
:
25
SkCoordClampShader
(
sk_sp<SkShader>
shader
,
const
SkRect
&
subset
)
26
: fShader(
std
::move(
shader
)), fSubset(
subset
) {}
27
28
ShaderType
type
()
const override
{
return
ShaderType::kCoordClamp; }
29
30
sk_sp<SkShader>
shader
()
const
{
return
fShader; }
31
SkRect
subset
()
const
{
return
fSubset; }
32
33
protected
:
34
SkCoordClampShader
(
SkReadBuffer
&);
35
void
flatten
(
SkWriteBuffer
&)
const override
;
36
bool
appendStages
(
const
SkStageRec
&,
const
SkShaders::MatrixRec
&)
const override
;
37
38
private
:
39
friend
void ::SkRegisterCoordClampShaderFlattenable();
40
SK_FLATTENABLE_HOOKS
(
SkCoordClampShader
)
41
42
sk_sp<SkShader>
fShader;
43
SkRect
fSubset;
44
};
45
46
#endif
SkFlattenable.h
SK_FLATTENABLE_HOOKS
#define SK_FLATTENABLE_HOOKS(type)
Definition
SkFlattenable.h:108
SkRect.h
SkRefCnt.h
SkShaderBase.h
SkShader.h
SkCoordClampShader
Definition
SkCoordClampShader.h:23
SkCoordClampShader::subset
SkRect subset() const
Definition
SkCoordClampShader.h:31
SkCoordClampShader::SkCoordClampShader
SkCoordClampShader(sk_sp< SkShader > shader, const SkRect &subset)
Definition
SkCoordClampShader.h:25
SkCoordClampShader::appendStages
bool appendStages(const SkStageRec &, const SkShaders::MatrixRec &) const override
Definition
SkCoordClampShader.cpp:37
SkCoordClampShader::SkCoordClampShader
SkCoordClampShader(SkReadBuffer &)
SkCoordClampShader::shader
sk_sp< SkShader > shader() const
Definition
SkCoordClampShader.h:30
SkCoordClampShader::flatten
void flatten(SkWriteBuffer &) const override
Definition
SkCoordClampShader.cpp:32
SkCoordClampShader::type
ShaderType type() const override
Definition
SkCoordClampShader.h:28
SkReadBuffer
Definition
SkReadBuffer.h:52
SkShaderBase
Definition
SkShaderBase.h:186
SkShaderBase::ShaderType
ShaderType
Definition
SkShaderBase.h:199
SkShaders::MatrixRec
Definition
SkShaderBase.h:57
SkWriteBuffer
Definition
SkWriteBuffer.h:41
sk_sp
Definition
SkRefCnt.h:220
std
Definition
ref_ptr.h:256
SkRect
Definition
extension.cpp:13
SkStageRec
Definition
SkEffectPriv.h:20
Generated on Fri Apr 26 2024 06:17:28 for Flutter Engine by
1.9.8