Flutter Engine
The Flutter Engine
shader_mask_layer.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_
6#define FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_
7
8#include "flutter/display_list/effects/dl_color_source.h"
9#include "flutter/flow/layers/cacheable_layer.h"
10
11namespace flutter {
12
14 public:
15 ShaderMaskLayer(std::shared_ptr<DlColorSource> color_source,
16 const SkRect& mask_rect,
17 DlBlendMode blend_mode);
18
19 void Diff(DiffContext* context, const Layer* old_layer) override;
20
21 void Preroll(PrerollContext* context) override;
22
23 void Paint(PaintContext& context) const override;
24
25 private:
26 std::shared_ptr<DlColorSource> color_source_;
27 SkRect mask_rect_;
28 DlBlendMode blend_mode_;
29
30 FML_DISALLOW_COPY_AND_ASSIGN(ShaderMaskLayer);
31};
32
33} // namespace flutter
34
35#endif // FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_
void Diff(DiffContext *context, const Layer *old_layer) override
void Paint(PaintContext &context) const override
void Preroll(PrerollContext *context) override
ShaderMaskLayer(std::shared_ptr< DlColorSource > color_source, const SkRect &mask_rect, DlBlendMode blend_mode)