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

Function GetTransform2D

exporter/src/export/data/Transform2D.cpp:24–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22namespace exporter {
23
24pag::Transform2D* GetTransform2D(const AEGP_LayerH& layerHandle, float frameRate) {
25 const A_long PluginID = GetPluginID();
26 const auto Suites = GetSuites();
27 auto transform = new pag::Transform2D();
28
29 AEGP_StreamRefH streamHandle = nullptr;
30 Suites->StreamSuite4()->AEGP_GetNewLayerStream(PluginID, layerHandle, AEGP_LayerStream_POSITION,
31 &streamHandle);
32 A_Boolean dimensionSeparated = 0;
33 Suites->DynamicStreamSuite4()->AEGP_AreDimensionsSeparated(streamHandle, &dimensionSeparated);
34 if (dimensionSeparated != 0) {
35 AEGP_StreamRefH xPosition = nullptr;
36 Suites->DynamicStreamSuite4()->AEGP_GetSeparationFollower(streamHandle, 0, &xPosition);
37 transform->xPosition = GetProperty(xPosition, AEStreamParser::FloatParser);
38 Suites->StreamSuite4()->AEGP_DisposeStream(xPosition);
39 AEGP_StreamRefH yPosition = nullptr;
40 Suites->DynamicStreamSuite4()->AEGP_GetSeparationFollower(streamHandle, 1, &yPosition);
41 transform->yPosition = GetProperty(yPosition, AEStreamParser::FloatParser);
42 Suites->StreamSuite4()->AEGP_DisposeStream(yPosition);
43 } else {
44 transform->position = GetProperty(streamHandle, AEStreamParser::PointParser);
45 }
46 Suites->StreamSuite4()->AEGP_DisposeStream(streamHandle);
47 transform->anchorPoint =
48 GetProperty(layerHandle, AEGP_LayerStream_ANCHORPOINT, AEStreamParser::PointParser);
49 QVariantMap map;
50 map["frameRate"] = frameRate;
51 transform->scale =
52 GetProperty(layerHandle, AEGP_LayerStream_SCALE, AEStreamParser::ScaleParser, map, 2);
53 transform->rotation =
54 GetProperty(layerHandle, AEGP_LayerStream_ROTATION, AEStreamParser::FloatParser, map);
55 transform->opacity =
56 GetProperty(layerHandle, AEGP_LayerStream_OPACITY, AEStreamParser::Opacity0_100Parser);
57 return transform;
58}
59
60} // namespace exporter

Callers 1

InitLayerFunction · 0.85

Calls 3

GetPluginIDFunction · 0.85
GetSuitesFunction · 0.85
GetPropertyFunction · 0.85

Tested by

no test coverage detected