void CoordinatedGraphicsScene::commitSceneState(const CoordinatedGraphicsState& state) { m_renderedContentsScrollPosition = state.scrollPosition; createLayers(state.layersToCreate); deleteLayers(state.layersToRemove); if (state.rootCompositingLayer != m_rootLayerID) setRootLayerID(state.rootCompositingLayer); syncImageBackings(state); syncUpdateAtlases(state); for (size_t i = 0; i < state.layersToUpdate.size(); ++i) setLayerState(state.layersToUpdate[i].first, state.layersToUpdate[i].second); commitPendingBackingStoreOperations(); removeReleasedImageBackingsIfNeeded(); // The pending tiles state is on its way for the screen, tell the web process to render the next one. RefPtr<CoordinatedGraphicsScene> protector(this); dispatchOnMainThread([=] { protector->renderNextFrame(); }); }
void CoordinatedGraphicsScene::commitSceneState(const CoordinatedGraphicsState& state) { m_renderedContentsScrollPosition = state.scrollPosition; createLayers(state.layersToCreate); deleteLayers(state.layersToRemove); if (state.rootCompositingLayer != m_rootLayerID) setRootLayerID(state.rootCompositingLayer); syncImageBackings(state); syncUpdateAtlases(state); #if ENABLE(CSS_SHADERS) syncCustomFilterPrograms(state); #endif for (size_t i = 0; i < state.layersToUpdate.size(); ++i) setLayerState(state.layersToUpdate[i].first, state.layersToUpdate[i].second); commitPendingBackingStoreOperations(); removeReleasedImageBackingsIfNeeded(); // The pending tiles state is on its way for the screen, tell the web process to render the next one. dispatchOnMainThread(bind(&CoordinatedGraphicsScene::renderNextFrame, this)); }
Map::~Map() { // remove all cameras std::vector<Camera*>::iterator iter = m_cameras.begin(); for ( ; iter != m_cameras.end(); ++iter) { delete *iter; } m_cameras.clear(); deleteLayers(); }
void CoordinatedGraphicsScene::commitSceneState(const CoordinatedGraphicsState& state) { m_renderedContentsScrollPosition = state.scrollPosition; createLayers(state.layersToCreate); deleteLayers(state.layersToRemove); if (state.rootCompositingLayer != m_rootLayerID) setRootLayerID(state.rootCompositingLayer); syncImageBackings(state); syncUpdateAtlases(state); for (auto& layer : state.layersToUpdate) setLayerState(layer.first, layer.second); commitPendingBackingStoreOperations(); removeReleasedImageBackingsIfNeeded(); }