# Trait cairo::prelude::MatrixTrait [−] [src]

    pub trait MatrixTrait {
        fn null() -> Matrix;
        fn new(xx: f64, yx: f64, xy: f64, yy: f64, x0: f64, y0: f64) -> Matrix;
        fn multiply(left: &Matrix, right: &Matrix) -> Matrix;
        fn identity() -> Matrix;
        fn init(&mut self, xx: f64, yx: f64, xy: f64, yy: f64, x0: f64, y0: f64);
        fn translate(&mut self, tx: f64, ty: f64);
        fn scale(&mut self, sx: f64, sy: f64);
        fn rotate(&mut self, angle: f64);
        fn invert(&mut self);
        fn try_invert(&self) -> Result<Matrix, Status>;
        fn transform_distance(&self, _dx: f64, _dy: f64) -> (f64, f64);
        fn transform_point(&self, _x: f64, _y: f64) -> (f64, f64);
    }

## Required Methods

### `fn null() -> Matrix`

### `fn new(xx: f64, yx: f64, xy: f64, yy: f64, x0: f64, y0: f64) -> Matrix`

### `fn multiply(left: &Matrix, right: &Matrix) -> Matrix`

### `fn identity() -> Matrix`

### `fn init(&mut self, xx: f64, yx: f64, xy: f64, yy: f64, x0: f64, y0: f64)`

### `fn translate(&mut self, tx: f64, ty: f64)`

### `fn scale(&mut self, sx: f64, sy: f64)`

### `fn rotate(&mut self, angle: f64)`

### `fn invert(&mut self)`

### `fn try_invert(&self) -> Result<Matrix, Status>`

### `fn transform_distance(&self, _dx: f64, _dy: f64) -> (f64, f64)`

### `fn transform_point(&self, _x: f64, _y: f64) -> (f64, f64)`

## Implementors

- `impl MatrixTrait for Matrix`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)