Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
SkBlendModeBlender.h
Go to the documentation of this file.
1/*
2 * Copyright 2021 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
8#ifndef SkBlendModeBlender_DEFINED
9#define SkBlendModeBlender_DEFINED
10
13
14#include <optional>
15
16class SkReadBuffer;
17class SkWriteBuffer;
18enum class SkBlendMode;
19struct SkStageRec;
20
22public:
24
25 BlenderType type() const override { return BlenderType::kBlendMode; }
26 SkBlendMode mode() const { return fMode; }
27
29
30private:
31 using INHERITED = SkBlenderBase;
32
33 std::optional<SkBlendMode> asBlendMode() const final { return fMode; }
34
35 void flatten(SkWriteBuffer& buffer) const override;
36
37 bool onAppendStages(const SkStageRec& rec) const override;
38
39 SkBlendMode fMode;
40};
41
42#endif
SkBlendMode
Definition SkBlendMode.h:38
#define SK_FLATTENABLE_HOOKS(type)
std::optional< SkBlendMode > asBlendMode() const final
void flatten(SkWriteBuffer &buffer) const override
bool onAppendStages(const SkStageRec &rec) const override
SkBlendModeBlender(SkBlendMode mode)
SkBlendMode mode() const
BlenderType type() const override
friend class SkBlenderBase
Definition SkBlender.h:28
static const uint8_t buffer[]