Skip to main content

ScreenParams

Struct ScreenParams 

Source
pub struct ScreenParams {
    pub kind: ScreenType,
    pub size: i32,
    pub dot_radius: i32,
}
Expand description

Parameters for constructing a halftone screen.

§Valid values

  • kind: any ScreenType variant.
  • size: must be a power of two and ≥ 2 (e.g. 2, 4, 8, 16 …). The screen matrix is size × size cells. Values that are not powers of two, or values less than 2, produce an undefined screen pattern. Call validate after construction to enforce these constraints.
  • dot_radius: meaningful only for ScreenType::StochasticClustered; must be ≥ 1. Ignored for other screen types but must still be positive.

§Default

{ Dispersed, size: 2, dot_radius: 2 }.

Fields§

§kind: ScreenType

The halftone algorithm to use.

§size: i32

Screen matrix dimension in cells.

Must be a power of two and ≥ 2. Typical values: 2, 4, 8, 16, 32, 64.

§dot_radius: i32

Dot radius for ScreenType::StochasticClustered screens.

Must be ≥ 1. Ignored (but still validated) for other screen types.

Implementations§

Source§

impl ScreenParams

Source

pub const fn validate(&self) -> Result<(), Cow<'static, str>>

Validates that the parameter values are within their documented ranges.

§Constraints checked
  • size must be ≥ 2.
  • size must be a power of two.
  • dot_radius must be ≥ 1.
§Errors

Returns Err with a human-readable Cow<'static, str> message describing the first constraint violated. All current error messages are static string literals (Cow::Borrowed), so no allocation occurs. Future callers that need dynamic messages (e.g. including the offending field value) can return Cow::Owned(format!(...)) without a breaking API change.

§Examples
assert!(ScreenParams::default().validate().is_ok());

let bad = ScreenParams { size: 3, ..ScreenParams::default() };
assert!(bad.validate().is_err());

Trait Implementations§

Source§

impl Clone for ScreenParams

Source§

fn clone(&self) -> ScreenParams

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ScreenParams

Source§

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

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

impl Default for ScreenParams

Source§

fn default() -> Self

Returns the default screen parameters: { Dispersed, size: 2, dot_radius: 2 }.

Source§

impl Copy for ScreenParams

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.