mirror of
https://github.com/typst/typst
synced 2025-05-13 20:46:23 +08:00
Add missing functions to the gradient object. (#5528)
Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com> Co-authored-by: Laurenz <laurmaedje@gmail.com>
This commit is contained in:
parent
62567fc91e
commit
d04cc61eee
@ -697,6 +697,8 @@ impl Gradient {
|
||||
}
|
||||
|
||||
/// Returns the angle of this gradient.
|
||||
///
|
||||
/// Returns `{none}` if the gradient is neither linear nor conic.
|
||||
#[func]
|
||||
pub fn angle(&self) -> Option<Angle> {
|
||||
match self {
|
||||
@ -706,6 +708,54 @@ impl Gradient {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the center of this gradient.
|
||||
///
|
||||
/// Returns `{none}` if the gradient is neither radial nor conic.
|
||||
#[func]
|
||||
pub fn center(&self) -> Option<Axes<Ratio>> {
|
||||
match self {
|
||||
Self::Linear(_) => None,
|
||||
Self::Radial(radial) => Some(radial.center),
|
||||
Self::Conic(conic) => Some(conic.center),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the radius of this gradient.
|
||||
///
|
||||
/// Returns `{none}` if the gradient is not radial.
|
||||
#[func]
|
||||
pub fn radius(&self) -> Option<Ratio> {
|
||||
match self {
|
||||
Self::Linear(_) => None,
|
||||
Self::Radial(radial) => Some(radial.radius),
|
||||
Self::Conic(_) => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the focal-center of this gradient.
|
||||
///
|
||||
/// Returns `{none}` if the gradient is not radial.
|
||||
#[func]
|
||||
pub fn focal_center(&self) -> Option<Axes<Ratio>> {
|
||||
match self {
|
||||
Self::Linear(_) => None,
|
||||
Self::Radial(radial) => Some(radial.focal_center),
|
||||
Self::Conic(_) => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the focal-radius of this gradient.
|
||||
///
|
||||
/// Returns `{none}` if the gradient is not radial.
|
||||
#[func]
|
||||
pub fn focal_radius(&self) -> Option<Ratio> {
|
||||
match self {
|
||||
Self::Linear(_) => None,
|
||||
Self::Radial(radial) => Some(radial.focal_radius),
|
||||
Self::Conic(_) => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Sample the gradient at a given position.
|
||||
///
|
||||
/// The position is either a position along the gradient (a [ratio] between
|
||||
|
Loading…
x
Reference in New Issue
Block a user