pub struct PdfMatrix {
    pub a: PdfMatrixValue,
    pub b: PdfMatrixValue,
    pub c: PdfMatrixValue,
    pub d: PdfMatrixValue,
    pub e: PdfMatrixValue,
    pub f: PdfMatrixValue,
}
Expand description

Six floating-point values that represent the six configurable elements of a nine-element 3x3 PDF transformation matrix.

Applying the matrix to a page, individual page object, or page object group effects a transformation to that object. Depending on the values specified in the matrix, the object can be moved, scaled, rotated, or skewed.

It is rare that a matrix needs to be used directly. The functions in the Transformable trait provide convenient and expressive access to the most commonly used transformation operations without requiring a matrix.

An overview of PDF transformation matrices can be found in the PDF Reference Manual version 1.7 on page 204; a detailed description can be founded in section 4.2.3 on page 207.

Fields§

§a: PdfMatrixValue§b: PdfMatrixValue§c: PdfMatrixValue§d: PdfMatrixValue§e: PdfMatrixValue§f: PdfMatrixValue

Implementations§

source§

impl PdfMatrix

source

pub const ZERO: PdfMatrix = _

A PdfMatrix object with all matrix values set to 0.0.

source

pub const IDENTITY: PdfMatrix = _

A PdfMatrix object with matrix values a and d set to 1.0 and all other values set to 0.0.

source

pub const fn new(
    a: PdfMatrixValue,
    b: PdfMatrixValue,
    c: PdfMatrixValue,
    d: PdfMatrixValue,
    e: PdfMatrixValue,
    f: PdfMatrixValue
) -> Self

Creates a new PdfMatrix with the given matrix values.

source

pub const fn zero() -> Self

Creates a new PdfMatrix object with all matrix values set to 0.0.

Consider using the compile-time constant value PdfMatrix::ZERO rather than calling this function directly.

source

pub const fn identity() -> Self

Creates a new PdfMatrix object with all matrix values set to 0.0.

Consider using the compile-time constant value PdfMatrix::ZERO rather than calling this function directly.

source

pub fn apply(
    &self,
    transformable: &mut impl Transformable
) -> Result<(), PdfiumError>

Applies the values in this PdfMatrix to the given transformable object.

Trait Implementations§

source§

impl Clone for PdfMatrix

source§

fn clone(&self) -> PdfMatrix

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PdfMatrix

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for PdfMatrix

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where
    H: Hasher,
    Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<PdfMatrix> for PdfMatrix

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for PdfMatrix

source§

impl Eq for PdfMatrix

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for Twhere
    T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.