MCPcopy
hub / github.com/greensock/GSAP / _align

Function _align

esm/MotionPathPlugin.js:152–199  ·  view source on GitHub ↗
(rawPath, target, _ref)

Source from the content-addressed store, hash-verified

150 return m;
151},
152 _align = function _align(rawPath, target, _ref) {
153 var align = _ref.align,
154 matrix = _ref.matrix,
155 offsetX = _ref.offsetX,
156 offsetY = _ref.offsetY,
157 alignOrigin = _ref.alignOrigin;
158
159 var x = rawPath[0][0],
160 y = rawPath[0][1],
161 curX = _getPropNum(target, "x"),
162 curY = _getPropNum(target, "y"),
163 alignTarget,
164 m,
165 p;
166
167 if (!rawPath || !rawPath.length) {
168 return getRawPath("M0,0L0,0");
169 }
170
171 if (align) {
172 if (align === "self" || (alignTarget = _toArray(align)[0] || target) === target) {
173 transformRawPath(rawPath, 1, 0, 0, 1, curX - x, curY - y);
174 } else {
175 if (alignOrigin && alignOrigin[2] !== false) {
176 gsap.set(target, {
177 transformOrigin: alignOrigin[0] * 100 + "% " + alignOrigin[1] * 100 + "%"
178 });
179 } else {
180 alignOrigin = [_getPropNum(target, "xPercent") / -100, _getPropNum(target, "yPercent") / -100];
181 }
182
183 m = _getAlignMatrix(target, alignTarget, alignOrigin, "auto");
184 p = m.apply({
185 x: x,
186 y: y
187 });
188 transformRawPath(rawPath, m.a, m.b, m.c, m.d, curX + m.e - (p.x - m.e), curY + m.f - (p.y - m.f));
189 }
190 }
191
192 if (matrix) {
193 transformRawPath(rawPath, matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);
194 } else if (offsetX || offsetY) {
195 transformRawPath(rawPath, 1, 0, 0, 1, offsetX || 0, offsetY || 0);
196 }
197
198 return rawPath;
199},
200 _addDimensionalPropTween = function _addDimensionalPropTween(plugin, target, property, rawPath, pathProperty, forceUnit) {
201 var cache = target._gsap,
202 harness = cache.harness,

Callers 2

_segmentToRawPathFunction · 0.70

Calls 7

getRawPathFunction · 0.90
transformRawPathFunction · 0.90
applyMethod · 0.80
_getPropNumFunction · 0.70
_toArrayFunction · 0.70
_getAlignMatrixFunction · 0.70
setMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…