Struct sfml::graphics::Transform [] [src]

#[repr(C)]
pub struct Transform(pub sfTransform);

Define a 3x3 transform matrix.

A Transform specifies how to translate, rotate, scale, shear, project, whatever things.

Methods

impl Transform
[src]

Create a new transform from a 3x3 matrix

Arguments

  • matrix - An array supplying the matrix

    Here is an illustration of how the array elements correspond to the matrix elements:

    [(0, 0), (0, 1), (0, 2),
    (1, 0), (1, 1), (1, 2),
    (2, 0), (2, 1), (2, 2)]
    

Return a new Transform

Return the matrix

The identity transform (does nothing)

Return the inverse of a transform

If the inverse cannot be computed, a new identity transform is returned.

Return the inverse matrix

Combine two transforms

The result is a transform that is equivalent to applying transform followed by other. Mathematically, it is equivalent to a matrix multiplication.

Arguments

  • other - Transform to combine to transform

Combine a transform with a translation

Arguments

  • x - Offset to apply on X axis
  • y - Offset to apply on Y axis

Combine the current transform with a rotation

Arguments

  • angle - Rotation angle, in degrees

Combine the current transform with a rotation

The center of rotation is provided for convenience as a second argument, so that you can build rotations around arbitrary points more easily (and efficiently) than the usual [translate(-center), rotate(angle), translate(center)].

Arguments

  • angle - Rotation angle, in degrees
  • center_x - X coordinate of the center of rotation
  • center_y - Y coordinate of the center of rotation

Combine the current transform with a scaling

Arguments

  • scale_x - Scaling factor on the X axis
  • scale_y - Scaling factor on the Y axis

Combine the current transform with a scaling

The center of scaling is provided for convenience as a second argument, so that you can build scaling around arbitrary points more easily (and efficiently) than the usual [translate(-center), scale(factors), translate(center)]

Arguments

  • scale_x - Scaling factor on X axis
  • scale_y - Scaling factor on Y axis
  • center_x - X coordinate of the center of scaling
  • center_y - Y coordinate of the center of scaling

Apply a transform to a 2D point

Arguments

  • point - Point to transform

Return a transformed point

Apply a transform to a rectangle

Since SFML doesn't provide support for oriented rectangles, the result of this function is always an axis-aligned rectangle. Which means that if the transform contains a rotation, the bounding rectangle of the transformed rectangle is returned.

Arguments

rectangle - Rectangle to transform

Return the transformed rectangle

Trait Implementations

impl Default for Transform
[src]

Returns the "default value" for a type. Read more