Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
effects
colorfilters
SkBlendModeColorFilter.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 SkBlendModeColorFilter_DEFINED
8
#define SkBlendModeColorFilter_DEFINED
9
10
#include "
include/core/SkColor.h
"
11
#include "
include/core/SkFlattenable.h
"
12
#include "
src/effects/colorfilters/SkColorFilterBase.h
"
13
14
class
SkReadBuffer
;
15
class
SkWriteBuffer
;
16
enum class
SkBlendMode
;
17
struct
SkStageRec
;
18
19
class
SkBlendModeColorFilter
final :
public
SkColorFilterBase
{
20
public
:
21
SkBlendModeColorFilter
(
const
SkColor4f
&
color
,
SkBlendMode
mode
);
22
23
bool
appendStages
(
const
SkStageRec
& rec,
bool
shaderIsOpaque)
const override
;
24
25
bool
onIsAlphaUnchanged
()
const override
;
26
27
SkColorFilterBase::Type
type
()
const override
{
return
SkColorFilterBase::Type::kBlendMode; }
28
29
SkColor4f
color
()
const
{
return
fColor; }
30
SkBlendMode
mode
()
const
{
return
fMode; }
31
32
private
:
33
friend
void ::SkRegisterModeColorFilterFlattenable();
34
SK_FLATTENABLE_HOOKS
(
SkBlendModeColorFilter
)
35
36
void
flatten
(
SkWriteBuffer
&)
const override
;
37
bool
onAsAColorMode
(
SkColor
*,
SkBlendMode
*)
const override
;
38
39
SkColor4f
fColor;
// always stored in sRGB
40
SkBlendMode
fMode;
41
};
42
43
#endif
SkBlendMode
SkBlendMode
Definition
SkBlendMode.h:38
SkColorFilterBase.h
SkColor.h
SkColor
uint32_t SkColor
Definition
SkColor.h:37
SkFlattenable.h
SK_FLATTENABLE_HOOKS
#define SK_FLATTENABLE_HOOKS(type)
Definition
SkFlattenable.h:108
SkBlendModeColorFilter
Definition
SkBlendModeColorFilter.h:19
SkBlendModeColorFilter::mode
SkBlendMode mode() const
Definition
SkBlendModeColorFilter.h:30
SkBlendModeColorFilter::appendStages
bool appendStages(const SkStageRec &rec, bool shaderIsOpaque) const override
Definition
SkBlendModeColorFilter.cpp:79
SkBlendModeColorFilter::onAsAColorMode
bool onAsAColorMode(SkColor *, SkBlendMode *) const override
Definition
SkBlendModeColorFilter.cpp:38
SkBlendModeColorFilter::color
SkColor4f color() const
Definition
SkBlendModeColorFilter.h:29
SkBlendModeColorFilter::type
SkColorFilterBase::Type type() const override
Definition
SkBlendModeColorFilter.h:27
SkBlendModeColorFilter::onIsAlphaUnchanged
bool onIsAlphaUnchanged() const override
Definition
SkBlendModeColorFilter.cpp:48
SkBlendModeColorFilter::flatten
void flatten(SkWriteBuffer &) const override
Definition
SkBlendModeColorFilter.cpp:59
SkColorFilterBase
Definition
SkColorFilterBase.h:35
SkColorFilterBase::Type
Type
Definition
SkColorFilterBase.h:43
SkReadBuffer
Definition
SkReadBuffer.h:52
SkWriteBuffer
Definition
SkWriteBuffer.h:41
SkColor4f
SkStageRec
Definition
SkEffectPriv.h:20
Generated on Fri Apr 26 2024 06:16:53 for Flutter Engine by
1.9.8