MCPcopy Create free account
hub / github.com/Tencent/libpag / CreatePreComposeLayer

Function CreatePreComposeLayer

exporter/src/export/ExportLayer.cpp:245–267  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

243}
244
245static pag::PreComposeLayer* CreatePreComposeLayer(const AEGP_LayerH& layerHandle,
246 std::shared_ptr<PAGExportSession> session) {
247 const auto& Suites = GetSuites();
248 auto layer = new pag::PreComposeLayer();
249
250 AEGP_ItemH itemHandle = GetLayerItemH(layerHandle);
251 layer->composition = new pag::Composition();
252 layer->composition->id = GetItemID(itemHandle);
253
254 A_Time layerOffset = {};
255 Suites->LayerSuite6()->AEGP_GetLayerOffset(layerHandle, &layerOffset);
256 layer->compositionStartTime = AEDurationToFrame(layerOffset, session->frameRate);
257
258 for (const auto& composition : session->compositions) {
259 if (composition->id == layer->composition->id) {
260 return layer;
261 }
262 }
263
264 ExportComposition(session, itemHandle);
265
266 return layer;
267}
268
269static pag::TextLayer* CreateTextLayer(const AEGP_LayerH& layerHandle,
270 std::shared_ptr<PAGExportSession> session) {

Callers 1

ExportLayerFunction · 0.85

Calls 5

GetSuitesFunction · 0.85
GetLayerItemHFunction · 0.85
GetItemIDFunction · 0.85
AEDurationToFrameFunction · 0.85
ExportCompositionFunction · 0.85

Tested by

no test coverage detected