Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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"
16
17#include <utility>
18#include <vector>
19
20class SkReadBuffer;
21class SkWriteBuffer;
22struct SkStageRec;
23
25public:
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
42
43 sk_sp<SkRuntimeEffect> effect() const { return fEffect; }
44 sk_sp<const SkData> uniforms() const { return fUniforms; }
46
47private:
49 sk_sp<const SkData> fUniforms;
50 std::vector<SkRuntimeEffect::ChildPtr> fChildren;
51};
52
53#endif
#define SK_FLATTENABLE_HOOKS(type)
sk_sp< SkRuntimeEffect > effect() const
SkRuntimeBlender(sk_sp< SkRuntimeEffect > effect, sk_sp< const SkData > uniforms, SkSpan< const SkRuntimeEffect::ChildPtr > children)
bool onAppendStages(const SkStageRec &rec) const override
BlenderType type() const override
void flatten(SkWriteBuffer &buffer) const override
SkRuntimeEffect * asRuntimeEffect() const override
SkSpan< const SkRuntimeEffect::ChildPtr > children() const
sk_sp< const SkData > uniforms() const
T * get() const
Definition SkRefCnt.h:303
static const char * begin(const StringSlice &s)
Definition editor.cpp:252
glong glong end
static const uint8_t buffer[]
Definition ref_ptr.h:256