added a Frame::scale_nonuniform method
This commit is contained in:
parent
a56b25b909
commit
5371fae21a
3 changed files with 20 additions and 2 deletions
|
|
@ -168,12 +168,18 @@ impl Frame {
|
|||
delegate!(self, frame, frame.rotate(angle));
|
||||
}
|
||||
|
||||
/// Applies a scaling to the current transform of the [`Frame`].
|
||||
/// Applies a uniform scaling to the current transform of the [`Frame`].
|
||||
#[inline]
|
||||
pub fn scale(&mut self, scale: f32) {
|
||||
delegate!(self, frame, frame.scale(scale));
|
||||
}
|
||||
|
||||
/// Applies a non-uniform scaling to the current transform of the [`Frame`].
|
||||
#[inline]
|
||||
pub fn scale_nonuniform(&mut self, scale: Vector) {
|
||||
delegate!(self, frame, frame.scale_nonuniform(scale));
|
||||
}
|
||||
|
||||
pub fn into_geometry(self) -> Geometry {
|
||||
match self {
|
||||
Self::TinySkia(frame) => Geometry::TinySkia(frame.into_primitive()),
|
||||
|
|
|
|||
|
|
@ -158,6 +158,10 @@ impl Frame {
|
|||
self.transform = self.transform.pre_scale(scale, scale);
|
||||
}
|
||||
|
||||
pub fn scale_nonuniform(&mut self, scale: Vector) {
|
||||
self.transform = self.transform.pre_scale(scale.x, scale.y);
|
||||
}
|
||||
|
||||
pub fn into_primitive(self) -> Primitive {
|
||||
Primitive::Clip {
|
||||
bounds: Rectangle::new(Point::ORIGIN, self.size),
|
||||
|
|
|
|||
|
|
@ -444,7 +444,7 @@ impl Frame {
|
|||
self.transforms.current.is_identity = false;
|
||||
}
|
||||
|
||||
/// Applies a scaling to the current transform of the [`Frame`].
|
||||
/// Applies a uniform scaling to the current transform of the [`Frame`].
|
||||
#[inline]
|
||||
pub fn scale(&mut self, scale: f32) {
|
||||
self.transforms.current.raw =
|
||||
|
|
@ -452,6 +452,14 @@ impl Frame {
|
|||
self.transforms.current.is_identity = false;
|
||||
}
|
||||
|
||||
/// Applies a non-uniform scaling to the current transform of the [`Frame`].
|
||||
#[inline]
|
||||
pub fn scale_nonuniform(&mut self, scale: Vector) {
|
||||
self.transforms.current.raw =
|
||||
self.transforms.current.raw.pre_scale(scale.x, scale.y);
|
||||
self.transforms.current.is_identity = false;
|
||||
}
|
||||
|
||||
/// Produces the [`Primitive`] representing everything drawn on the [`Frame`].
|
||||
pub fn into_primitive(self) -> Primitive {
|
||||
Primitive::Group {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue