Sign in

    mizchi/crater/css/media does not have a README file

    ColorScheme

    pub(all) enum ColorScheme {
    Light
    Dark
    }

    Color scheme preference
    impl Eq for ColorScheme
    impl Show for ColorScheme

    MediaEnvironment

    pub(all) struct MediaEnvironment {
    viewport_width : Double
    viewport_height : Double
    device_pixel_ratio : Double
    color_scheme : ColorScheme
    }

    Environment for evaluating media queries

    MediaEnvironment::new

    fn MediaEnvironment::new(viewport_width : Double, viewport_height : Double) -> MediaEnvironment

    Create a default media environment for screen

    MediaEnvironment::with_color_scheme

    fn MediaEnvironment::with_color_scheme(viewport_width : Double, viewport_height : Double, color_scheme : ColorScheme) -> MediaEnvironment

    Create a media environment with color scheme

    MediaFeature

    pub enum MediaFeature {
    Color
    ColorGamut
    ColorIndex
    Grid
    Hover
    Monochrome
    Pointer
    Scripting
    Update
    Width(MediaValue?)
    MinWidth(MediaValue)
    MaxWidth(MediaValue)
    Height(MediaValue?)
    MinHeight(MediaValue)
    MaxHeight(MediaValue)
    AspectRatio(MediaValue?)
    MinAspectRatio(MediaValue)
    MaxAspectRatio(MediaValue)
    Resolution(MediaValue?)
    MinResolution(MediaValue)
    MaxResolution(MediaValue)
    WidthRange(RangeOp, MediaValue)
    HeightRange(RangeOp, MediaValue)
    Orientation(String)
    DisplayMode(String)
    PrefersColorScheme(String)
    PrefersReducedMotion(String)
    Custom(String, MediaValue?)
    }

    Media feature (e.g., width, height, color, etc.)
    impl Eq for MediaFeature

    MediaQuery

    pub struct MediaQuery {
    negated : Bool
    only : Bool
    media_type : MediaType?
    conditions : Array[MediaFeature]
    }

    A complete media query
    impl Eq for MediaQuery
    impl Show for MediaQuery

    MediaQuery::default

    fn MediaQuery::default() -> MediaQuery

    Create a default media query (matches all)

    MediaQuery::evaluate

    fn MediaQuery::evaluate(self : MediaQuery, env : MediaEnvironment) -> Bool

    Evaluate a single media query

    MediaQueryList

    pub struct MediaQueryList {
    queries : Array[MediaQuery]
    }

    A list of media queries (comma-separated in CSS)

    MediaQueryList::evaluate

    fn MediaQueryList::evaluate(self : MediaQueryList, env : MediaEnvironment) -> Bool

    Evaluate a media query list against the environment Returns true if ANY query in the list matches (OR semantics)

    MediaQueryList::is_empty

    fn MediaQueryList::is_empty(self : MediaQueryList) -> Bool

    Check if a media query list is empty

    MediaQueryList::length

    fn MediaQueryList::length(self : MediaQueryList) -> Int

    Get the number of queries

    MediaQueryList::new

    Create an empty media query list

    MediaType

    pub enum MediaType {
    All
    Screen
    Print
    Speech
    }

    Media type (screen, print, all, etc.)
    impl Eq for MediaType
    impl Show for MediaType

    MediaValue

    pub enum MediaValue {
    Number(Double)
    Dimension(Double, String)
    Ratio(Int, Int)
    Ident(String)
    }

    Media feature value
    impl Eq for MediaValue
    impl Show for MediaValue

    RangeOp

    pub enum RangeOp {
    Eq
    Lt
    Le
    Gt
    Ge
    }

    Comparison operator for range queries
    impl Eq for RangeOp
    impl Show for RangeOp

    parse_media_query_list

    fn parse_media_query_list(input : String) -> MediaQueryList

    Parse a media query list from a string e.g., "screen and (min-width: 768px), print"