transform_layer.h 913 字节
Newer Older
1 2 3 4
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5 6
#ifndef FLUTTER_FLOW_LAYERS_TRANSFORM_LAYER_H_
#define FLUTTER_FLOW_LAYERS_TRANSFORM_LAYER_H_
7

8
#include "flutter/flow/layers/container_layer.h"
9

A
Adam Barth 已提交
10
namespace flow {
11 12 13 14 15 16 17 18

class TransformLayer : public ContainerLayer {
 public:
  TransformLayer();
  ~TransformLayer() override;

  void set_transform(const SkMatrix& transform) { transform_ = transform; }

19
  void Preroll(PrerollContext* context, const SkMatrix& matrix) override;
20 21

  void Paint(PaintContext& context) const override;
22

23
#if defined(OS_FUCHSIA)
24
  void UpdateScene(SceneUpdateContext& context) override;
25 26
#endif  // defined(OS_FUCHSIA)

27 28 29
 private:
  SkMatrix transform_;

30
  FXL_DISALLOW_COPY_AND_ASSIGN(TransformLayer);
31 32
};

A
Adam Barth 已提交
33
}  // namespace flow
34

35
#endif  // FLUTTER_FLOW_LAYERS_TRANSFORM_LAYER_H_