| 129 | } |
| 130 | |
| 131 | void ResetAction::prepareWith(Node* target) { |
| 132 | float xEnd = _xStart + _xDelta; |
| 133 | float yEnd = _yStart + _yDelta; |
| 134 | float scaleXEnd = _scaleXStart + _scaleXDelta; |
| 135 | float scaleYEnd = _scaleYStart + _scaleYDelta; |
| 136 | float skewXEnd = _skewXStart + _skewXDelta; |
| 137 | float skewYEnd = _skewYStart + _skewYDelta; |
| 138 | float rotationEnd = _rotationStart + _rotationDelta; |
| 139 | float opacityEnd = _opacityStart + _opacityDelta; |
| 140 | _xStart = target->getX(); |
| 141 | _xDelta = xEnd - _xStart; |
| 142 | _yStart = target->getY(); |
| 143 | _yDelta = yEnd - _yStart; |
| 144 | _scaleXStart = target->getScaleX(); |
| 145 | _scaleXDelta = scaleXEnd - _scaleXStart; |
| 146 | _scaleYStart = target->getScaleY(); |
| 147 | _scaleYDelta = scaleYEnd - _scaleYStart; |
| 148 | _skewXStart = target->getSkewX(); |
| 149 | _skewXDelta = skewXEnd - _skewXStart; |
| 150 | _skewYStart = target->getSkewY(); |
| 151 | _skewYDelta = skewYEnd - _skewYStart; |
| 152 | _rotationStart = target->getAngle(); |
| 153 | _rotationStart = std::fmod(_rotationStart, _rotationStart > 0.0f ? 360.0f : -360.0f); |
| 154 | _rotationDelta = rotationEnd - _rotationStart; |
| 155 | if (_rotationDelta > 180) { |
| 156 | _rotationDelta -= 360; |
| 157 | } |
| 158 | if (_rotationDelta < -180) { |
| 159 | _rotationDelta += 360; |
| 160 | } |
| 161 | _opacityStart = target->getOpacity(); |
| 162 | _opacityDelta = opacityEnd - _opacityStart; |
| 163 | } |
| 164 | |
| 165 | void ResetAction::updateEndValues(KeyFrameDef* def) { |
| 166 | _xDelta = def->x - _xStart; |