Flutter Engine
transform_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_TRANSFORM_LAYER_H_
6 #define FLUTTER_FLOW_LAYERS_TRANSFORM_LAYER_H_
7 
8 #include "flutter/flow/layers/container_layer.h"
9 
10 namespace flutter {
11 
12 // Be careful that SkMatrix's default constructor doesn't initialize the matrix
13 // at all. Hence |set_transform| must be called with an initialized SkMatrix.
15  public:
16  TransformLayer(const SkMatrix& transform);
17 
18 #ifdef FLUTTER_ENABLE_DIFF_CONTEXT
19 
20  void Diff(DiffContext* context, const Layer* old_layer) override;
21 
22 #endif // FLUTTER_ENABLE_DIFF_CONTEXT
23 
24  void Preroll(PrerollContext* context, const SkMatrix& matrix) override;
25 
26  void Paint(PaintContext& context) const override;
27 
28  private:
29  SkMatrix transform_;
30 
31  FML_DISALLOW_COPY_AND_ASSIGN(TransformLayer);
32 };
33 
34 } // namespace flutter
35 
36 #endif // FLUTTER_FLOW_LAYERS_TRANSFORM_LAYER_H_
void Paint(PaintContext &context) const override
TransformLayer(const SkMatrix &transform)
void Preroll(PrerollContext *context, const SkMatrix &matrix) override