5#ifndef FLUTTER_IMPELLER_ENTITY_ENTITY_PASS_CLIP_STACK_H_
6#define FLUTTER_IMPELLER_ENTITY_ENTITY_PASS_CLIP_STACK_H_
47 void PushSubpass(std::optional<Rect> subpass_coverage,
size_t clip_height);
57 size_t clip_height_floor,
58 Point global_pass_position);
63 std::optional<Rect> clip_coverage);
73 std::vector<ReplayResult> rendered_clip_entities;
74 std::vector<ClipCoverageLayer> clip_coverage;
77 SubpassState& GetCurrentSubpassState();
79 std::vector<SubpassState> subpass_state_;
A class that tracks all clips that have been recorded in the current entity pass stencil.
std::optional< Rect > CurrentClipCoverage() const
void PushSubpass(std::optional< Rect > subpass_coverage, size_t clip_height)
~EntityPassClipStack()=default
const std::vector< ReplayResult > & GetReplayEntities() const
ClipStateResult ApplyClipState(Contents::ClipCoverage global_clip_coverage, Entity &entity, size_t clip_height_floor, Point global_pass_position)
Applies the current clip state to an Entity. If the given Entity is a clip operation,...
EntityPassClipStack(const Rect &initial_coverage_rect)
Create a new [EntityPassClipStack] with an initialized coverage rect.
const std::vector< ClipCoverageLayer > GetClipCoverageLayers() const
void RecordEntity(const Entity &entity, Contents::ClipCoverage::Type type, std::optional< Rect > clip_coverage)
std::optional< Rect > coverage
std::optional< Rect > clip_coverage