Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
shaders
SkWorkingColorSpaceShader.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
#ifndef SkWorkingColorSpaceShader_DEFINED
8
#define SkWorkingColorSpaceShader_DEFINED
9
10
#include "
include/core/SkColorSpace.h
"
11
#include "
include/core/SkFlattenable.h
"
12
#include "
include/core/SkRefCnt.h
"
13
#include "
include/core/SkShader.h
"
14
#include "
include/private/base/SkAssert.h
"
15
#include "
src/shaders/SkShaderBase.h
"
16
17
#include <utility>
18
19
class
SkReadBuffer
;
20
class
SkWriteBuffer
;
21
struct
SkStageRec
;
22
23
class
SkWorkingColorSpaceShader
final :
public
SkShaderBase
{
24
public
:
25
SkWorkingColorSpaceShader
(
sk_sp<SkShader>
shader
,
sk_sp<SkColorSpace>
workingSpace
)
26
: fShader(
std
::move(
shader
)), fWorkingSpace(
std
::move(
workingSpace
)) {
27
SkASSERT
(fWorkingSpace);
28
}
29
30
ShaderType
type
()
const override
{
return
ShaderType::kWorkingColorSpace; }
31
32
sk_sp<SkShader>
shader
()
const
{
return
fShader; }
33
sk_sp<SkColorSpace>
workingSpace
()
const
{
return
fWorkingSpace; }
34
35
private
:
36
bool
appendStages
(
const
SkStageRec
& rec,
const
SkShaders::MatrixRec
&)
const override
;
37
38
friend
void ::SkRegisterWorkingColorSpaceShaderFlattenable();
39
SK_FLATTENABLE_HOOKS
(
SkWorkingColorSpaceShader
)
40
41
void
flatten
(
SkWriteBuffer
&
buffer
)
const override
;
42
43
sk_sp<SkShader>
fShader;
44
sk_sp<SkColorSpace>
fWorkingSpace;
45
};
46
47
#endif
SkAssert.h
SkASSERT
#define SkASSERT(cond)
Definition
SkAssert.h:116
SkColorSpace.h
SkFlattenable.h
SK_FLATTENABLE_HOOKS
#define SK_FLATTENABLE_HOOKS(type)
Definition
SkFlattenable.h:108
SkRefCnt.h
SkShaderBase.h
SkShader.h
SkReadBuffer
Definition
SkReadBuffer.h:52
SkShaderBase
Definition
SkShaderBase.h:186
SkShaderBase::ShaderType
ShaderType
Definition
SkShaderBase.h:199
SkShaders::MatrixRec
Definition
SkShaderBase.h:57
SkWorkingColorSpaceShader
Definition
SkWorkingColorSpaceShader.h:23
SkWorkingColorSpaceShader::flatten
void flatten(SkWriteBuffer &buffer) const override
Definition
SkWorkingColorSpaceShader.cpp:57
SkWorkingColorSpaceShader::shader
sk_sp< SkShader > shader() const
Definition
SkWorkingColorSpaceShader.h:32
SkWorkingColorSpaceShader::type
ShaderType type() const override
Definition
SkWorkingColorSpaceShader.h:30
SkWorkingColorSpaceShader::workingSpace
sk_sp< SkColorSpace > workingSpace() const
Definition
SkWorkingColorSpaceShader.h:33
SkWorkingColorSpaceShader::SkWorkingColorSpaceShader
SkWorkingColorSpaceShader(sk_sp< SkShader > shader, sk_sp< SkColorSpace > workingSpace)
Definition
SkWorkingColorSpaceShader.h:25
SkWorkingColorSpaceShader::appendStages
bool appendStages(const SkStageRec &rec, const SkShaders::MatrixRec &) const override
Definition
SkWorkingColorSpaceShader.cpp:24
SkWriteBuffer
Definition
SkWriteBuffer.h:41
sk_sp
Definition
SkRefCnt.h:220
buffer
static const uint8_t buffer[]
Definition
fl_pixel_buffer_texture_test.cc:44
std
Definition
ref_ptr.h:256
SkStageRec
Definition
SkEffectPriv.h:20
Generated on Fri Apr 26 2024 06:17:28 for Flutter Engine by
1.9.8