Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
core
SkRuntimeBlender.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 SkRuntimeBlender_DEFINED
8
#define SkRuntimeBlender_DEFINED
9
10
#include "
include/core/SkData.h
"
11
#include "
include/core/SkFlattenable.h
"
12
#include "
include/core/SkRefCnt.h
"
13
#include "
include/effects/SkRuntimeEffect.h
"
14
#include "
include/private/base/SkSpan_impl.h
"
15
#include "
src/core/SkBlenderBase.h
"
16
17
#include <utility>
18
#include <vector>
19
20
class
SkReadBuffer
;
21
class
SkWriteBuffer
;
22
struct
SkStageRec
;
23
24
class
SkRuntimeBlender
:
public
SkBlenderBase
{
25
public
:
26
SkRuntimeBlender
(
sk_sp<SkRuntimeEffect>
effect
,
27
sk_sp<const SkData>
uniforms
,
28
SkSpan<const SkRuntimeEffect::ChildPtr>
children
)
29
: fEffect(
std
::move(
effect
))
30
, fUniforms(
std
::move(
uniforms
))
31
, fChildren(
children
.
begin
(),
children
.
end
()) {}
32
33
SkRuntimeEffect
*
asRuntimeEffect
()
const override
{
return
fEffect.
get
(); }
34
35
BlenderType
type
()
const override
{
return
BlenderType::kRuntime; }
36
37
bool
onAppendStages
(
const
SkStageRec
& rec)
const override
;
38
39
void
flatten
(
SkWriteBuffer
&
buffer
)
const override
;
40
41
SK_FLATTENABLE_HOOKS
(
SkRuntimeBlender
)
42
43
sk_sp
<
SkRuntimeEffect
>
effect
()
const
{
return
fEffect; }
44
sk_sp<const SkData>
uniforms
()
const
{
return
fUniforms; }
45
SkSpan<const SkRuntimeEffect::ChildPtr>
children
()
const
{
return
fChildren; }
46
47
private
:
48
sk_sp<SkRuntimeEffect>
fEffect;
49
sk_sp<const SkData>
fUniforms;
50
std::vector<SkRuntimeEffect::ChildPtr> fChildren;
51
};
52
53
#endif
SkBlenderBase.h
SkData.h
SkFlattenable.h
SK_FLATTENABLE_HOOKS
#define SK_FLATTENABLE_HOOKS(type)
Definition
SkFlattenable.h:108
SkRefCnt.h
SkRuntimeEffect.h
SkSpan_impl.h
SkBlenderBase
Definition
SkBlenderBase.h:39
SkBlenderBase::BlenderType
BlenderType
Definition
SkBlenderBase.h:60
SkReadBuffer
Definition
SkReadBuffer.h:52
SkRuntimeBlender
Definition
SkRuntimeBlender.h:24
SkRuntimeBlender::effect
sk_sp< SkRuntimeEffect > effect() const
Definition
SkRuntimeBlender.h:43
SkRuntimeBlender::SkRuntimeBlender
SkRuntimeBlender(sk_sp< SkRuntimeEffect > effect, sk_sp< const SkData > uniforms, SkSpan< const SkRuntimeEffect::ChildPtr > children)
Definition
SkRuntimeBlender.h:26
SkRuntimeBlender::onAppendStages
bool onAppendStages(const SkStageRec &rec) const override
Definition
SkRuntimeBlender.cpp:65
SkRuntimeBlender::type
BlenderType type() const override
Definition
SkRuntimeBlender.h:35
SkRuntimeBlender::flatten
void flatten(SkWriteBuffer &buffer) const override
Definition
SkRuntimeBlender.cpp:87
SkRuntimeBlender::asRuntimeEffect
SkRuntimeEffect * asRuntimeEffect() const override
Definition
SkRuntimeBlender.h:33
SkRuntimeBlender::children
SkSpan< const SkRuntimeEffect::ChildPtr > children() const
Definition
SkRuntimeBlender.h:45
SkRuntimeBlender::uniforms
sk_sp< const SkData > uniforms() const
Definition
SkRuntimeBlender.h:44
SkRuntimeEffect
Definition
SkRuntimeEffect.h:59
SkSpan
Definition
SkSpan_impl.h:65
SkWriteBuffer
Definition
SkWriteBuffer.h:41
sk_sp
Definition
SkRefCnt.h:220
sk_sp::get
T * get() const
Definition
SkRefCnt.h:303
begin
static const char * begin(const StringSlice &s)
Definition
editor.cpp:252
end
glong glong end
Definition
fl_accessible_text_field.cc:40
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:16:48 for Flutter Engine by
1.9.8