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_CLIP_RECT_LAYER_H_ 6 #define FLUTTER_FLOW_LAYERS_CLIP_RECT_LAYER_H_ 7 8 #include "flutter/flow/layers/container_layer.h" 9 10 namespace flutter { 11 12 class ClipRectLayer : public ContainerLayer { 13 public: 14 ClipRectLayer(const SkRect& clip_rect, Clip clip_behavior); 15 ~ClipRectLayer() override; 16 17 void Preroll(PrerollContext* context, const SkMatrix& matrix) override; 18 void Paint(PaintContext& context) const override; 19 20 #if defined(OS_FUCHSIA) 21 void UpdateScene(SceneUpdateContext& context) override; 22 #endif // defined(OS_FUCHSIA) 23 24 private: 25 SkRect clip_rect_; 26 Clip clip_behavior_; 27 28 FML_DISALLOW_COPY_AND_ASSIGN(ClipRectLayer); 29 }; 30 31 } // namespace flutter 32 33 #endif // FLUTTER_FLOW_LAYERS_CLIP_RECT_LAYER_H_ 34