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

Method onLayout

valdi/src/valdi/snap_drawing/Layers/BridgeLayer.cpp:125–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123}
124
125void BridgeLayer::onLayout() {
126 ExternalLayer::onLayout();
127
128 if (shouldRasterizeExternalSurface()) {
129 auto viewNode = valdiViewNodeFromLayer(*this);
130 auto bridgedView = getBridgedView();
131 if (bridgedView != nullptr && viewNode != nullptr) {
132 auto viewTransaction = bridgedView->getViewManager().createViewTransaction(
133 viewNode->getViewNodeTree()->getMainThreadManager(), false);
134 viewTransaction->setViewFrame(
135 bridgedView->getView(), Valdi::Frame(0, 0, getFrame().width(), getFrame().height()), false, nullptr);
136 viewTransaction->flush(/* sync */ false);
137 }
138 }
139}
140
141Valdi::Ref<BridgedView> BridgeLayer::getBridgedView() const {
142 return Valdi::castOrNull<BridgedView>(getExternalSurface());

Callers

nothing calls this directly

Calls 11

valdiViewNodeFromLayerFunction · 0.85
getViewManagerMethod · 0.80
getViewNodeTreeMethod · 0.80
flushMethod · 0.65
FrameClass · 0.50
createViewTransactionMethod · 0.45
getMainThreadManagerMethod · 0.45
setViewFrameMethod · 0.45
getViewMethod · 0.45
widthMethod · 0.45
heightMethod · 0.45

Tested by

no test coverage detected