public void SetTransform(Vector2 position, Angle rotation, Vector2 scale)
        {
            CheckDisposed();
            var transform = Godot.Transform2D.Identity.Rotated((float)rotation.Theta).Scaled(scale.Convert());

            SetTransform2DRotationAndScale(ref transform, rotation.Theta, scale);
            transform.o = position.Convert();
            VS.CanvasItemAddSetTransform(Item, transform);
        }
 public void SetTransform(Matrix3 matrix)
 {
     CheckDisposed();
     if (_renderHandle != null)
     {
         _renderHandle.SetModelTransform(ref matrix, _handleId);
     }
     else if (Item != null)
     {
         VS.CanvasItemAddSetTransform(Item, matrix.Convert());
     }
 }
Example #3
0
 public void SetTransform(Vector2 position, Angle rotation, Vector2 scale)
 {
     CheckDisposed();
     if (_renderHandle != null)
     {
         var matrix = Matrix3.Identity;
         (matrix.R0C0, matrix.R1C1) = scale;
         matrix.Rotate(rotation);
         matrix.R0C2 += position.X;
         matrix.R1C2 += position.Y;
         _renderHandle.SetModelTransform(matrix, _handleId);
     }
     else if (Item != null)
     {
         var transform = Godot.Transform2D.Identity.Rotated((float)rotation.Theta).Scaled(scale.Convert());
         SetTransform2DRotationAndScale(ref transform, rotation.Theta, scale);
         transform.origin = position.Convert();
         VS.CanvasItemAddSetTransform(Item, transform);
     }
 }
 public void SetTransform(Matrix3 matrix)
 {
     CheckDisposed();
     VS.CanvasItemAddSetTransform(Item, matrix.Convert());
 }