#[repr(C, u8)]pub enum GenericImage<G, ImageUrl, Color, Percentage, Resolution> {
None,
Url(ImageUrl),
Gradient(Box<G>),
PaintWorklet(PaintWorklet),
CrossFade(Box<GenericCrossFade<Self, Color, Percentage>>),
ImageSet(Box<GenericImageSet<Self, Resolution>>),
}
Expand description
An <image> | none
value.
https://drafts.csswg.org/css-images/#image-values
Variants§
None
none
variant.
Url(ImageUrl)
A <url()>
image.
Gradient(Box<G>)
A <gradient>
image. Gradients are rather large, and not nearly as
common as urls, so we box them here to keep the size of this enum sane.
PaintWorklet(PaintWorklet)
A paint worklet image. https://drafts.css-houdini.org/css-paint-api/
CrossFade(Box<GenericCrossFade<Self, Color, Percentage>>)
A <cross-fade()>
image. Storing this directly inside of
GenericImage increases the size by 8 bytes so we box it here
and store images directly inside of cross-fade instead of
boxing them there.
ImageSet(Box<GenericImageSet<Self, Resolution>>)
An image-set()
function.
Implementations§
source§impl GenericImage<GenericGradient<LineDirection, LengthPercentage, NonNegative<Length>, NonNegative<LengthPercentage>, GenericPosition<PositionComponent<HorizontalPositionKeyword>, PositionComponent<VerticalPositionKeyword>>, Angle, AngleOrPercentage, Color>, CssUrl, Color, Percentage, Resolution>
impl GenericImage<GenericGradient<LineDirection, LengthPercentage, NonNegative<Length>, NonNegative<LengthPercentage>, GenericPosition<PositionComponent<HorizontalPositionKeyword>, PositionComponent<VerticalPositionKeyword>>, Angle, AngleOrPercentage, Color>, CssUrl, Color, Percentage, Resolution>
fn parse_with_cors_mode<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, cors_mode: CorsMode, flags: ParseImageFlags, ) -> Result<Image, ParseError<'i>>
source§impl GenericImage<GenericGradient<LineDirection, LengthPercentage, NonNegative<Length>, NonNegative<LengthPercentage>, GenericPosition<PositionComponent<HorizontalPositionKeyword>, PositionComponent<VerticalPositionKeyword>>, Angle, AngleOrPercentage, Color>, CssUrl, Color, Percentage, Resolution>
impl GenericImage<GenericGradient<LineDirection, LengthPercentage, NonNegative<Length>, NonNegative<LengthPercentage>, GenericPosition<PositionComponent<HorizontalPositionKeyword>, PositionComponent<VerticalPositionKeyword>>, Angle, AngleOrPercentage, Color>, CssUrl, Color, Percentage, Resolution>
sourcepub fn for_cascade(url: Arc<Url>) -> Self
pub fn for_cascade(url: Arc<Url>) -> Self
Creates an already specified image value from an already resolved URL for insertion in the cascade.
sourcepub fn parse_with_cors_anonymous<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
) -> Result<Image, ParseError<'i>>
pub fn parse_with_cors_anonymous<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Image, ParseError<'i>>
Provides an alternate method for parsing that associates the URL with anonymous CORS headers.
sourcepub fn parse_forbid_none<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
) -> Result<Image, ParseError<'i>>
pub fn parse_forbid_none<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Image, ParseError<'i>>
Provides an alternate method for parsing, but forbidding none
sourcepub fn parse_only_url<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
) -> Result<Image, ParseError<'i>>
pub fn parse_only_url<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Image, ParseError<'i>>
Provides an alternate method for parsing, but only for urls.
Trait Implementations§
source§impl<G: Clone, ImageUrl: Clone, Color: Clone, Percentage: Clone, Resolution: Clone> Clone for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
impl<G: Clone, ImageUrl: Clone, Color: Clone, Percentage: Clone, Resolution: Clone> Clone for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
source§fn clone(&self) -> GenericImage<G, ImageUrl, Color, Percentage, Resolution>
fn clone(&self) -> GenericImage<G, ImageUrl, Color, Percentage, Resolution>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<G, ImageUrl, Color, Percentage, Resolution> MallocSizeOf for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: MallocSizeOf,
ImageUrl: MallocSizeOf,
Color: MallocSizeOf,
Percentage: MallocSizeOf,
Resolution: MallocSizeOf,
impl<G, ImageUrl, Color, Percentage, Resolution> MallocSizeOf for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: MallocSizeOf,
ImageUrl: MallocSizeOf,
Color: MallocSizeOf,
Percentage: MallocSizeOf,
Resolution: MallocSizeOf,
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
source§impl<G: PartialEq, ImageUrl: PartialEq, Color: PartialEq, Percentage: PartialEq, Resolution: PartialEq> PartialEq for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
impl<G: PartialEq, ImageUrl: PartialEq, Color: PartialEq, Percentage: PartialEq, Resolution: PartialEq> PartialEq for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
source§fn eq(
&self,
other: &GenericImage<G, ImageUrl, Color, Percentage, Resolution>,
) -> bool
fn eq( &self, other: &GenericImage<G, ImageUrl, Color, Percentage, Resolution>, ) -> bool
self
and other
values to be equal, and is used by ==
.source§impl<G, ImageUrl, Color, Percentage, Resolution> SpecifiedValueInfo for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: SpecifiedValueInfo,
ImageUrl: SpecifiedValueInfo,
Color: SpecifiedValueInfo,
Percentage: SpecifiedValueInfo,
Resolution: SpecifiedValueInfo,
impl<G, ImageUrl, Color, Percentage, Resolution> SpecifiedValueInfo for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: SpecifiedValueInfo,
ImageUrl: SpecifiedValueInfo,
Color: SpecifiedValueInfo,
Percentage: SpecifiedValueInfo,
Resolution: SpecifiedValueInfo,
source§const SUPPORTED_TYPES: u8 = _
const SUPPORTED_TYPES: u8 = _
source§impl<G, ImageUrl, Color, Percentage, Resolution> ToComputedValue for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: ToComputedValue,
ImageUrl: ToComputedValue,
Color: ToComputedValue,
Percentage: ToComputedValue,
Resolution: ToComputedValue,
Box<GenericImageSet<Self, Resolution>>: ToComputedValue<ComputedValue = Box<GenericImageSet<GenericImage<<G as ToComputedValue>::ComputedValue, <ImageUrl as ToComputedValue>::ComputedValue, <Color as ToComputedValue>::ComputedValue, <Percentage as ToComputedValue>::ComputedValue, <Resolution as ToComputedValue>::ComputedValue>, <Resolution as ToComputedValue>::ComputedValue>>>,
impl<G, ImageUrl, Color, Percentage, Resolution> ToComputedValue for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: ToComputedValue,
ImageUrl: ToComputedValue,
Color: ToComputedValue,
Percentage: ToComputedValue,
Resolution: ToComputedValue,
Box<GenericImageSet<Self, Resolution>>: ToComputedValue<ComputedValue = Box<GenericImageSet<GenericImage<<G as ToComputedValue>::ComputedValue, <ImageUrl as ToComputedValue>::ComputedValue, <Color as ToComputedValue>::ComputedValue, <Percentage as ToComputedValue>::ComputedValue, <Resolution as ToComputedValue>::ComputedValue>, <Resolution as ToComputedValue>::ComputedValue>>>,
source§type ComputedValue = GenericImage<<G as ToComputedValue>::ComputedValue, <ImageUrl as ToComputedValue>::ComputedValue, <Color as ToComputedValue>::ComputedValue, <Percentage as ToComputedValue>::ComputedValue, <Resolution as ToComputedValue>::ComputedValue>
type ComputedValue = GenericImage<<G as ToComputedValue>::ComputedValue, <ImageUrl as ToComputedValue>::ComputedValue, <Color as ToComputedValue>::ComputedValue, <Percentage as ToComputedValue>::ComputedValue, <Resolution as ToComputedValue>::ComputedValue>
source§fn from_computed_value(from: &Self::ComputedValue) -> Self
fn from_computed_value(from: &Self::ComputedValue) -> Self
source§fn to_computed_value(&self, context: &Context<'_>) -> Self::ComputedValue
fn to_computed_value(&self, context: &Context<'_>) -> Self::ComputedValue
Context
.source§impl<G, ImageUrl, Color, Percentage, Resolution> ToResolvedValue for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: ToResolvedValue,
ImageUrl: ToResolvedValue,
Color: ToResolvedValue,
Percentage: ToResolvedValue,
Resolution: ToResolvedValue,
impl<G, ImageUrl, Color, Percentage, Resolution> ToResolvedValue for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
G: ToResolvedValue,
ImageUrl: ToResolvedValue,
Color: ToResolvedValue,
Percentage: ToResolvedValue,
Resolution: ToResolvedValue,
source§type ResolvedValue = GenericImage<<G as ToResolvedValue>::ResolvedValue, <ImageUrl as ToResolvedValue>::ResolvedValue, <Color as ToResolvedValue>::ResolvedValue, <Percentage as ToResolvedValue>::ResolvedValue, <Resolution as ToResolvedValue>::ResolvedValue>
type ResolvedValue = GenericImage<<G as ToResolvedValue>::ResolvedValue, <ImageUrl as ToResolvedValue>::ResolvedValue, <Color as ToResolvedValue>::ResolvedValue, <Percentage as ToResolvedValue>::ResolvedValue, <Resolution as ToResolvedValue>::ResolvedValue>
source§fn from_resolved_value(from: Self::ResolvedValue) -> Self
fn from_resolved_value(from: Self::ResolvedValue) -> Self
source§fn to_resolved_value(self, context: &Context<'_>) -> Self::ResolvedValue
fn to_resolved_value(self, context: &Context<'_>) -> Self::ResolvedValue
source§impl<G, ImageUrl, Color, Percentage, Resolution> ToShmem for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
impl<G, ImageUrl, Color, Percentage, Resolution> ToShmem for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
impl<G, ImageUrl, Color, Percentage, Resolution> StructuralPartialEq for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
Auto Trait Implementations§
impl<G, ImageUrl, Color, Percentage, Resolution> Freeze for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
ImageUrl: Freeze,
impl<G, ImageUrl, Color, Percentage, Resolution> RefUnwindSafe for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
ImageUrl: RefUnwindSafe,
G: RefUnwindSafe,
Resolution: RefUnwindSafe,
Percentage: RefUnwindSafe,
Color: RefUnwindSafe,
impl<G, ImageUrl, Color, Percentage, Resolution> Send for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
impl<G, ImageUrl, Color, Percentage, Resolution> Sync for GenericImage<G, ImageUrl, Color, Percentage, Resolution>
impl<G, ImageUrl, Color, Percentage, Resolution> Unpin for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
ImageUrl: Unpin,
impl<G, ImageUrl, Color, Percentage, Resolution> UnwindSafe for GenericImage<G, ImageUrl, Color, Percentage, Resolution>where
ImageUrl: UnwindSafe + RefUnwindSafe,
G: UnwindSafe + RefUnwindSafe,
Resolution: RefUnwindSafe + UnwindSafe,
Percentage: RefUnwindSafe + UnwindSafe,
Color: RefUnwindSafe + UnwindSafe,
Blanket Implementations§
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more