/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
//! Specified types for CSS values related to effects.
usecrate::parser::{Parse, ParserContext}; usecrate::values::computed::effects::BoxShadow as ComputedBoxShadow; usecrate::values::computed::effects::SimpleShadow as ComputedSimpleShadow; #[cfg(feature = "gecko")] usecrate::values::computed::url::ComputedUrl; usecrate::values::computed::Angle as ComputedAngle; usecrate::values::computed::CSSPixelLength as ComputedCSSPixelLength; usecrate::values::computed::Filter as ComputedFilter; usecrate::values::computed::NonNegativeLength as ComputedNonNegativeLength; usecrate::values::computed::NonNegativeNumber as ComputedNonNegativeNumber; usecrate::values::computed::ZeroToOneNumber as ComputedZeroToOneNumber; usecrate::values::computed::{Context, ToComputedValue}; usecrate::values::generics::effects::BoxShadow as GenericBoxShadow; usecrate::values::generics::effects::Filter as GenericFilter; usecrate::values::generics::effects::SimpleShadow as GenericSimpleShadow; usecrate::values::generics::NonNegative; usecrate::values::specified::color::Color; usecrate::values::specified::length::{Length, NonNegativeLength}; #[cfg(feature = "gecko")] usecrate::values::specified::url::SpecifiedUrl; usecrate::values::specified::{Angle, Number, NumberOrPercentage}; #[cfg(feature = "servo")] usecrate::values::Impossible; usecrate::Zero; use cssparser::{BasicParseErrorKind, Parser, Token}; use style_traits::{ParseError, StyleParseErrorKind, ValueParseErrorKind};
/// A specified value for a single shadow of the `box-shadow` property. pubtype BoxShadow =
GenericBoxShadow<Option<Color>, Length, Option<NonNegativeLength>, Option<Length>>;
/// A specified value for a single `filter`. #[cfg(feature = "gecko")] pubtype SpecifiedFilter = GenericFilter<
Angle,
NonNegativeFactor,
ZeroToOneFactor,
NonNegativeLength,
SimpleShadow,
SpecifiedUrl,
>;
/// A specified value for a single `filter`. #[cfg(feature = "servo")] pubtype SpecifiedFilter = GenericFilter<
Angle,
NonNegativeFactor,
ZeroToOneFactor,
NonNegativeLength,
Impossible,
Impossible,
>;
pubuseself::SpecifiedFilter as Filter;
/// A value for the `<factor>` parts in `Filter`. #[derive(Clone, Debug, MallocSizeOf, PartialEq, SpecifiedValueInfo, ToCss, ToShmem)] pubstruct NonNegativeFactor(NumberOrPercentage);
/// A value for the `<factor>` parts in `Filter` which clamps to one. #[derive(Clone, Debug, MallocSizeOf, PartialEq, SpecifiedValueInfo, ToCss, ToShmem)] pubstruct ZeroToOneFactor(NumberOrPercentage);
/// Clamp the value to 1 if the value is over 100%. #[inline] fn clamp_to_one(number: NumberOrPercentage) -> NumberOrPercentage { match number {
NumberOrPercentage::Percentage(percent) => {
NumberOrPercentage::Percentage(percent.clamp_to_hundred())
},
NumberOrPercentage::Number(number) => NumberOrPercentage::Number(number.clamp_to_one()),
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.