| 1171 | |
| 1172 | template <typename TRenderGroup> |
| 1173 | void FrontendRenderer::AddToRenderGroup(dp::RenderState const & state, drape_ptr<dp::RenderBucket> && renderBucket, |
| 1174 | TileKey const & newTile) |
| 1175 | { |
| 1176 | RenderLayer & layer = m_layers[static_cast<size_t>(GetDepthLayer(state))]; |
| 1177 | for (auto const & g : layer.m_renderGroups) |
| 1178 | { |
| 1179 | if (!g->IsPendingOnDelete() && g->GetState() == state && g->GetTileKey().EqualStrict(newTile)) |
| 1180 | { |
| 1181 | g->AddBucket(std::move(renderBucket)); |
| 1182 | layer.m_isDirty = true; |
| 1183 | return; |
| 1184 | } |
| 1185 | } |
| 1186 | |
| 1187 | drape_ptr<TRenderGroup> group = make_unique_dp<TRenderGroup>(state, newTile); |
| 1188 | group->AddBucket(std::move(renderBucket)); |
| 1189 | |
| 1190 | layer.m_renderGroups.push_back(std::move(group)); |
| 1191 | layer.m_isDirty = true; |
| 1192 | } |
| 1193 | |
| 1194 | void FrontendRenderer::RemoveRenderGroupsLater(TRenderGroupRemovePredicate const & predicate) |
| 1195 | { |
nothing calls this directly
no test coverage detected