MCPcopy Create free account
hub / github.com/Snapchat/Valdi / removeLayerRoot

Method removeLayerRoot

snap_drawing/src/snap_drawing/cpp/Drawing/DrawLooper.cpp:109–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109void DrawLooper::removeLayerRoot(const Ref<LayerRoot>& layerRoot) {
110 Ref<DrawLooperEntry> entry;
111 auto drawLock = getDrawLock();
112 auto lock = getEntriesLock();
113
114 auto it = _entries.begin();
115 while (it != _entries.end()) {
116 if (it->get()->getLayerRoot() == layerRoot) {
117 layerRoot->setListener(nullptr);
118 entry = *it;
119 _entries.erase(it);
120
121 entry->removeSurfacePresenters();
122
123 if (!_managedGraphicsContexts.empty()) {
124 schedulePerformCleanup(DrawLooper::CleanUpMode::PostDraw);
125 }
126
127 return;
128 }
129 it++;
130 }
131}
132
133void DrawLooper::setDrawableSurfaceOfLayerRootForPresenterId(LayerRoot& layerRoot,
134 SurfacePresenterId surfacePresenterId,

Callers 2

removeFromDrawLooperMethod · 0.80
TESTFunction · 0.80

Calls 7

endMethod · 0.65
getMethod · 0.65
setListenerMethod · 0.65
beginMethod · 0.45
eraseMethod · 0.45
emptyMethod · 0.45

Tested by 1

TESTFunction · 0.64