Flutter Engine
Loading...
Searching...
No Matches
raster_cache_key.cc
Go to the documentation of this file.
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
#if !SLIMPELLER
6
7
#include "
flutter/flow/raster_cache_key.h
"
8
#include <optional>
9
#include "
flutter/flow/layers/container_layer.h
"
10
#include "
flutter/flow/layers/display_list_layer.h
"
11
#include "
flutter/flow/layers/layer.h
"
12
13
namespace
flutter
{
14
15
std::optional<std::vector<RasterCacheKeyID>>
RasterCacheKeyID::LayerChildrenIds
(
16
const
Layer
* layer) {
17
FML_DCHECK
(layer->
as_container_layer
());
18
auto
& children_layers = layer->
as_container_layer
()->
layers
();
19
auto
children_count = children_layers.size();
20
if
(children_count == 0) {
21
return
std::nullopt;
22
}
23
std::vector<RasterCacheKeyID> ids;
24
std::transform(
25
children_layers.begin(), children_layers.end(), std::back_inserter(ids),
26
[](
auto
& layer) ->
RasterCacheKeyID
{ return layer->caching_key_id(); });
27
return
ids;
28
}
29
30
}
// namespace flutter
31
32
#endif
// !SLIMPELLER
flutter::ContainerLayer::layers
const std::vector< std::shared_ptr< Layer > > & layers() const
Definition
container_layer.h:26
flutter::Layer
Definition
layer.h:113
flutter::Layer::as_container_layer
virtual const ContainerLayer * as_container_layer() const
Definition
layer.h:244
flutter::RasterCacheKeyID
Definition
raster_cache_key.h:26
flutter::RasterCacheKeyID::LayerChildrenIds
static std::optional< std::vector< RasterCacheKeyID > > LayerChildrenIds(const Layer *layer)
Definition
raster_cache_key.cc:15
container_layer.h
display_list_layer.h
FML_DCHECK
#define FML_DCHECK(condition)
Definition
logging.h:122
layer.h
flutter
Definition
asset_manager.cc:10
raster_cache_key.h
flow
raster_cache_key.cc
Generated on Wed Nov 5 2025 21:33:11 for Flutter Engine by
1.9.8