Struct planar::AxisAlignedMatrixTransform
[−]
[src]
pub struct AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo>(_, _, _, _, _);
Methods
impl<T, V, W, Y, Z, UnitFrom, UnitTo> AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo>
[src]
fn new(scale_x: V, scale_y: V, translate_x: Y, translate_y: Y) -> Self
[src]
fn from_rects(from: Rect<T, UnitFrom>, to: Rect<Z, UnitTo>) -> Self where
Z: Div<T, Output = V> + Sub<W, Output = Y>,
V: Clone,
T: Mul<V, Output = W>,
[src]
Z: Div<T, Output = V> + Sub<W, Output = Y>,
V: Clone,
T: Mul<V, Output = W>,
Trait Implementations
impl<T, V, W, Y, Z, UnitFrom, UnitTo> AxisAlignedTransform<T, UnitFrom> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type OutT = Z
type OutUnit = UnitTo
fn transform_position_x(&self, x: PosX<T, UnitFrom>) -> PosX<Z, UnitTo>
[src]
fn transform_position_y(&self, y: PosY<T, UnitFrom>) -> PosY<Z, UnitTo>
[src]
fn transform_width(&self, w: Width<T, UnitFrom>) -> Width<Z, UnitTo>
[src]
fn transform_height(&self, h: Height<T, UnitFrom>) -> Height<Z, UnitTo>
[src]
fn transform_point(&self, p: Point<T, UnitFrom>) -> Point<Z, UnitTo>
[src]
fn transform_size(
&self,
s: Size<T, UnitFrom>
) -> Size<Self::OutT, Self::OutUnit>
[src]
&self,
s: Size<T, UnitFrom>
) -> Size<Self::OutT, Self::OutUnit>
fn transform_rect(
&self,
r: Rect<T, UnitFrom>
) -> Rect<Self::OutT, Self::OutUnit>
[src]
&self,
r: Rect<T, UnitFrom>
) -> Rect<Self::OutT, Self::OutUnit>
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<PosX<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type Output = PosX<Z, UnitTo>
The resulting type after applying the *
operator.
fn mul(self, p: PosX<T, UnitFrom>) -> Self::Output
[src]
Performs the *
operation.
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<PosY<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type Output = PosY<Z, UnitTo>
The resulting type after applying the *
operator.
fn mul(self, p: PosY<T, UnitFrom>) -> Self::Output
[src]
Performs the *
operation.
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<Width<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type Output = Width<Z, UnitTo>
The resulting type after applying the *
operator.
fn mul(self, p: Width<T, UnitFrom>) -> Self::Output
[src]
Performs the *
operation.
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<Height<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type Output = Height<Z, UnitTo>
The resulting type after applying the *
operator.
fn mul(self, p: Height<T, UnitFrom>) -> Self::Output
[src]
Performs the *
operation.
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<Point<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type Output = Point<Z, UnitTo>
The resulting type after applying the *
operator.
fn mul(self, p: Point<T, UnitFrom>) -> Self::Output
[src]
Performs the *
operation.
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<Size<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
type Output = Size<Z, UnitTo>
The resulting type after applying the *
operator.
fn mul(self, p: Size<T, UnitFrom>) -> Self::Output
[src]
Performs the *
operation.
impl<T, V, W, Y, Z, UnitFrom, UnitTo> Mul<Rect<T, UnitFrom>> for AxisAlignedMatrixTransform<T, V, W, Y, Z, UnitFrom, UnitTo> where
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,
[src]
T: Mul<V, Output = W>,
V: Clone,
W: Add<Y, Output = Z> + Into<Z>,
Y: Clone,