pub struct AvatarBuilder<'a, T> { /* private fields */ }Expand description
Fluent high-level API for common avatar rendering paths.
The builder is additive over the lower-level free functions. It stores validation failures and returns them from render/encode methods, so invalid size or namespace input remains non-panicking.
Implementations§
Source§impl<T> AvatarBuilder<'static, T>
impl<T> AvatarBuilder<'static, T>
Source§impl<'a, T> AvatarBuilder<'a, T>
impl<'a, T> AvatarBuilder<'a, T>
Sourcepub fn spec(self, spec: AvatarSpec) -> Self
pub fn spec(self, spec: AvatarSpec) -> Self
Uses an already validated avatar specification.
Sourcepub fn size(self, width: u32, height: u32) -> Self
pub fn size(self, width: u32, height: u32) -> Self
Sets the avatar dimensions while preserving the current style variant seed when possible.
Sourcepub fn style_variant(self, seed: u64) -> Self
pub fn style_variant(self, seed: u64) -> Self
Sets the caller-controlled style variant seed.
The seed is mixed into the identity-derived renderer RNG. It is useful when an application wants a second deterministic variant for the same identity without changing tenant or namespace style-version values.
Sourcepub fn seed(self, seed: u64) -> Self
pub fn seed(self, seed: u64) -> Self
Alias for AvatarBuilder::style_variant.
Sourcepub fn namespace<'b>(
self,
tenant: &'b str,
style_version: &'b str,
) -> AvatarBuilder<'b, T>
pub fn namespace<'b>( self, tenant: &'b str, style_version: &'b str, ) -> AvatarBuilder<'b, T>
Sets the identity namespace used for tenant isolation and visual rollout control.
Sourcepub fn automatic_style(self) -> Self
pub fn automatic_style(self) -> Self
Uses automatic style derivation from distinct identity digest bytes.
pub fn style(self, style: AvatarStyleOptions) -> Self
pub fn options(self, options: AvatarOptions) -> Self
pub fn kind(self, kind: AvatarKind) -> Self
pub fn background(self, background: AvatarBackground) -> Self
pub fn accessory(self, accessory: AvatarAccessory) -> Self
pub fn color(self, color: AvatarColor) -> Self
pub fn expression(self, expression: AvatarExpression) -> Self
pub fn shape(self, shape: AvatarShape) -> Self
Source§impl<'a, T: AsRef<[u8]>> AvatarBuilder<'a, T>
impl<'a, T: AsRef<[u8]>> AvatarBuilder<'a, T>
pub fn identity(&self) -> Result<AvatarIdentity, AvatarError>
pub fn cache_key(&self) -> Result<String, AvatarError>
pub fn render(self) -> Result<RgbaImage, AvatarError>
pub fn render_svg(self) -> Result<String, AvatarError>
pub fn encode(self, format: AvatarOutputFormat) -> Result<Vec<u8>, AvatarError>
Trait Implementations§
Source§impl<'a, T: Clone> Clone for AvatarBuilder<'a, T>
impl<'a, T: Clone> Clone for AvatarBuilder<'a, T>
Source§fn clone(&self) -> AvatarBuilder<'a, T>
fn clone(&self) -> AvatarBuilder<'a, T>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<'a, T> Freeze for AvatarBuilder<'a, T>where
T: Freeze,
impl<'a, T> RefUnwindSafe for AvatarBuilder<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for AvatarBuilder<'a, T>where
T: Send,
impl<'a, T> Sync for AvatarBuilder<'a, T>where
T: Sync,
impl<'a, T> Unpin for AvatarBuilder<'a, T>where
T: Unpin,
impl<'a, T> UnsafeUnpin for AvatarBuilder<'a, T>where
T: UnsafeUnpin,
impl<'a, T> UnwindSafe for AvatarBuilder<'a, T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more