Beispiel #1
0
        /**
         * TODO: see if we can use this for the main get_Matrix method.
         */
        internal Matrix3X3 GetMatrixForRepeater(float amount)
        {
            var position    = _position.Value;
            var anchorPoint = _anchorPoint.Value;
            var scale       = _scale.Value;
            var rotation    = _rotation.Value.Value;

            _matrix.Reset();
            _matrix = MatrixExt.PreTranslate(_matrix, position.Value.X * amount, position.Value.Y * amount);
            _matrix = MatrixExt.PreScale(_matrix,
                                         (float)Math.Pow(scale.ScaleX, amount),
                                         (float)Math.Pow(scale.ScaleY, amount));
            _matrix = MatrixExt.PreRotate(_matrix, rotation * amount, anchorPoint.Value.X, anchorPoint.Value.Y);

            return(_matrix);
        }