Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
effects
colorfilters
SkWorkingFormatColorFilter.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 SkWorkingFormatColorFilter_DEFINED
8
#define SkWorkingFormatColorFilter_DEFINED
9
10
#include "
include/core/SkColorFilter.h
"
11
#include "
include/core/SkFlattenable.h
"
12
#include "
include/core/SkRefCnt.h
"
13
#include "
include/private/SkColorData.h
"
14
#include "
modules/skcms/skcms.h
"
15
#include "
src/effects/colorfilters/SkColorFilterBase.h
"
16
17
class
SkColorSpace
;
18
class
SkReadBuffer
;
19
class
SkWriteBuffer
;
20
enum
SkAlphaType
:
int
;
21
struct
SkStageRec
;
22
23
class
SkWorkingFormatColorFilter
final :
public
SkColorFilterBase
{
24
public
:
25
SkWorkingFormatColorFilter
(
sk_sp<SkColorFilter>
child
,
26
const
skcms_TransferFunction
* tf,
27
const
skcms_Matrix3x3
* gamut,
28
const
SkAlphaType
* at);
29
30
sk_sp<SkColorSpace>
workingFormat
(
const
sk_sp<SkColorSpace>
& dstCS,
SkAlphaType
* at)
const
;
31
32
SkColorFilterBase::Type
type
()
const override
{
33
return
SkColorFilterBase::Type::kWorkingFormat;
34
}
35
36
bool
appendStages
(
const
SkStageRec
& rec,
bool
shaderIsOpaque)
const override
;
37
38
SkPMColor4f
onFilterColor4f
(
const
SkPMColor4f
& origColor,
39
SkColorSpace
* rawDstCS)
const override
;
40
41
bool
onIsAlphaUnchanged
()
const override
;
42
43
sk_sp<SkColorFilter>
child
()
const
{
return
fChild; }
44
45
private
:
46
friend
void ::SkRegisterWorkingFormatColorFilterFlattenable();
47
SK_FLATTENABLE_HOOKS
(
SkWorkingFormatColorFilter
)
48
49
void
flatten
(
SkWriteBuffer
&
buffer
)
const override
;
50
51
sk_sp<SkColorFilter>
fChild;
52
skcms_TransferFunction
fTF;
53
bool
fUseDstTF =
true
;
54
skcms_Matrix3x3
fGamut;
55
bool
fUseDstGamut =
true
;
56
SkAlphaType
fAT;
57
bool
fUseDstAT =
true
;
58
};
59
60
#endif
SkAlphaType
SkAlphaType
Definition
SkAlphaType.h:26
SkColorData.h
SkColorFilterBase.h
SkColorFilter.h
SkFlattenable.h
SK_FLATTENABLE_HOOKS
#define SK_FLATTENABLE_HOOKS(type)
Definition
SkFlattenable.h:108
SkRefCnt.h
int
Type::kYUV Type::kRGBA() int(0.7 *637)
SkColorFilterBase
Definition
SkColorFilterBase.h:35
SkColorFilterBase::Type
Type
Definition
SkColorFilterBase.h:43
SkColorSpace
Definition
SkColorSpace.h:107
SkReadBuffer
Definition
SkReadBuffer.h:52
SkWorkingFormatColorFilter
Definition
SkWorkingFormatColorFilter.h:23
SkWorkingFormatColorFilter::flatten
void flatten(SkWriteBuffer &buffer) const override
Definition
SkWorkingFormatColorFilter.cpp:121
SkWorkingFormatColorFilter::onFilterColor4f
SkPMColor4f onFilterColor4f(const SkPMColor4f &origColor, SkColorSpace *rawDstCS) const override
Definition
SkWorkingFormatColorFilter.cpp:99
SkWorkingFormatColorFilter::child
sk_sp< SkColorFilter > child() const
Definition
SkWorkingFormatColorFilter.h:43
SkWorkingFormatColorFilter::type
SkColorFilterBase::Type type() const override
Definition
SkWorkingFormatColorFilter.h:32
SkWorkingFormatColorFilter::appendStages
bool appendStages(const SkStageRec &rec, bool shaderIsOpaque) const override
Definition
SkWorkingFormatColorFilter.cpp:62
SkWorkingFormatColorFilter::workingFormat
sk_sp< SkColorSpace > workingFormat(const sk_sp< SkColorSpace > &dstCS, SkAlphaType *at) const
Definition
SkWorkingFormatColorFilter.cpp:46
SkWorkingFormatColorFilter::onIsAlphaUnchanged
bool onIsAlphaUnchanged() const override
Definition
SkWorkingFormatColorFilter.cpp:119
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
skcms.h
SkRGBA4f< kPremul_SkAlphaType >
SkStageRec
Definition
SkEffectPriv.h:20
skcms_Matrix3x3
Definition
skcms_public.h:26
skcms_TransferFunction
Definition
skcms_public.h:46
Generated on Fri Apr 26 2024 06:16:54 for Flutter Engine by
1.9.8