 |
Flutter Impeller
|
|
Go to the documentation of this file.
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);
78 std::vector<ReplayResult> rendered_clip_entities;
79 std::vector<ClipCoverageLayer> clip_coverage;
82 SubpassState& GetCurrentSubpassState();
84 std::vector<SubpassState> subpass_state_;
85 size_t next_replay_index_ = 0;
90 #endif // FLUTTER_IMPELLER_ENTITY_ENTITY_PASS_CLIP_STACK_H_
void PushSubpass(std::optional< Rect > subpass_coverage, size_t clip_height)
const std::vector< ClipCoverageLayer > GetClipCoverageLayers() const
~EntityPassClipStack()=default
EntityPassClipStack(const Rect &initial_coverage_rect)
Create a new [EntityPassClipStack] with an initialized coverage rect.
const ReplayResult * GetNextReplayResult(size_t current_clip_depth)
Returns the next Entity that should be replayed. If there are no enities to replay,...
std::optional< Rect > coverage
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,...
const std::vector< ReplayResult > & GetReplayEntities() const
void ActivateClipReplay()
std::optional< Rect > CurrentClipCoverage() const
std::optional< Rect > clip_coverage
void RecordEntity(const Entity &entity, Contents::ClipCoverage::Type type, std::optional< Rect > clip_coverage)
A class that tracks all clips that have been recorded in the current entity pass stencil.