5#include "flutter/shell/platform/embedder/embedder_render_target_cache.h"
13std::unique_ptr<EmbedderRenderTarget>
16 auto compatible_target = cached_render_targets_.find(descriptor);
17 if (compatible_target == cached_render_targets_.end()) {
20 auto target = std::move(compatible_target->second);
21 cached_render_targets_.erase(compatible_target);
25std::set<std::unique_ptr<EmbedderRenderTarget>>
27 std::set<std::unique_ptr<EmbedderRenderTarget>> cleared_targets;
28 for (
auto& targets : cached_render_targets_) {
29 cleared_targets.insert(std::move(targets.second));
31 cached_render_targets_.clear();
32 return cleared_targets;
36 std::unique_ptr<EmbedderRenderTarget>
target) {
41 target->GetRenderTargetSize()};
42 cached_render_targets_.insert(std::make_pair(
desc, std::move(
target)));
46 return cached_render_targets_.size();
EmbedderRenderTargetCache()
std::set< std::unique_ptr< EmbedderRenderTarget > > ClearAllRenderTargetsInCache()
std::unique_ptr< EmbedderRenderTarget > GetRenderTarget(const EmbedderExternalView::RenderTargetDescriptor &descriptor)
void CacheRenderTarget(std::unique_ptr< EmbedderRenderTarget > target)
~EmbedderRenderTargetCache()
size_t GetCachedTargetsCount() const