[−][src]Enum printpdf::types::plugins::graphics::extgstate::SpotFunction
Spot functions, Table 6.1, Page 489 in Pdf Reference v1.7 The code is pseudo code, returning the grey component at (x, y).
Variants
SimpleDot
1 - (pow(x, 2) + pow(y, 2))
InvertedSimpleDot
pow(x, 2) + pow(y, 2) - 1
DoubleDot
(sin(360 * x) / 2) + (sin(360 * y) / 2)
InvertedDoubleDot
- ((sin(360 * x) / 2) + (sin(360 * y) / 2))
CosineDot
(cos(180 * x) / 2) + (cos(180 * y) / 2)
Double
(sin(360 x (x / 2)) / 2) + (sin(360 * y) / 2)
InvertedDouble
- ((sin(360 x (x / 2)) / 2) + (sin(360 * y) / 2))
Line
- abs(y)
LineX
x
LineY
y
Round
if (abs(x) + abs(y) <= 1 { 1 - (pow(x, 2) + pow(y, 2)) } else { pow((abs(x) - 1), 2) + pow((abs(y) - 1), 2) - 1 }
Ellipse
let w = (3 * abs(x)) + (4 * abs(y)) - 3; if w < 0 { 1 - ((pow(x, 2) + pow((abs(y) / 0.75), 2)) / 4) } else if w > 1 { pow((pow((1 - abs(x), 2) + (1 - abs(y)) / 0.75), 2) / 4) - 1 } else { 0.5 - w }
EllipseA
1 - (pow(x, 2) + 0.9 * pow(y, 2))
InvertedEllipseA
pow(x, 2) + 0.9 * pow(y, 2) - 1
EllipseB
1 - sqrt(pow(x, 2) + (5 / 8) * pow(y, 2))
EllipseC
1 - (0.9 * pow(x, 2) + pow(y, 2))
InvertedEllipseC
0.9 * pow(x, 2) + pow(y, 2) - 1
Square
- max(abs(x), abs(y))
Cross
- min(abs(x), abs(y))
Rhomboid
(0.9 * abs(x) + abs(y)) / 2
Diamond
let t = abs(x) + abs(y); if t <= 0.75 { 1 - (pow(x, 2) + pow(y, 2)) } else if t < 1.23 { 1 - (0.85 * abs(x) + abs(y)) } else { pow((abs(x) - 1), 2) + pow((abs(y) - 1), 2) - 1 }
Trait Implementations
impl Clone for SpotFunction
[src]
fn clone(&self) -> SpotFunction
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<SpotFunction> for SpotFunction
[src]
fn eq(&self, other: &SpotFunction) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Copy for SpotFunction
[src]
impl Debug for SpotFunction
[src]
Auto Trait Implementations
impl Sync for SpotFunction
impl Send for SpotFunction
impl Unpin for SpotFunction
impl RefUnwindSafe for SpotFunction
impl UnwindSafe for SpotFunction
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.