mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Additionally create "_next" permutations for all of the test binaries on Fuchsia, in order to test both code-paths. Using the #define follow-up CLs can also create a flutter_runner_next binary that does not contain any legacy integration code. BUG: 53847
38 lines
993 B
C++
38 lines
993 B
C++
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef FLUTTER_FLOW_LAYERS_CLIP_RECT_LAYER_H_
|
|
#define FLUTTER_FLOW_LAYERS_CLIP_RECT_LAYER_H_
|
|
|
|
#include "flutter/flow/layers/container_layer.h"
|
|
|
|
namespace flutter {
|
|
|
|
class ClipRectLayer : public ContainerLayer {
|
|
public:
|
|
ClipRectLayer(const SkRect& clip_rect, Clip clip_behavior);
|
|
|
|
void Preroll(PrerollContext* context, const SkMatrix& matrix) override;
|
|
void Paint(PaintContext& context) const override;
|
|
|
|
bool UsesSaveLayer() const {
|
|
return clip_behavior_ == Clip::antiAliasWithSaveLayer;
|
|
}
|
|
|
|
#if defined(LEGACY_FUCHSIA_EMBEDDER)
|
|
void UpdateScene(SceneUpdateContext& context) override;
|
|
#endif
|
|
|
|
private:
|
|
SkRect clip_rect_;
|
|
Clip clip_behavior_;
|
|
bool children_inside_clip_ = false;
|
|
|
|
FML_DISALLOW_COPY_AND_ASSIGN(ClipRectLayer);
|
|
};
|
|
|
|
} // namespace flutter
|
|
|
|
#endif // FLUTTER_FLOW_LAYERS_CLIP_RECT_LAYER_H_
|