Incular logoIncular
API ReferenceNavigation & Scrolling

Sliver Effects

Decorated, opacity, offstage, and visibility sliver wrappers.

use incular::prelude::*;

fn main() {
    let app = Application::new(|_cx| {
        Container::builder()
            .padding(EdgeInsets::all(24.0))
            .alignment(Alignment::CENTER)
            .child(
                CustomScrollView::new(vec![
                    Box::new(SliverOpacity::new(
                        0.5,
                        SliverToBoxAdapter::new(Text::new("Half")),
                    )) as Box<dyn Sliver>,
                    Box::new(SliverVisibility::new(
                        true,
                        SliverToBoxAdapter::new(Text::new("Seen")),
                    )) as Box<dyn Sliver>,
                ]),
            )
            .build()
            .into()
    })
    .expect("valid application");
    incular::run(app).expect("run application");
}

Each wraps one sliver with a single retained effect, mirroring its box-widget counterpart (Opacity, IgnorePointer).

WrapperEffect
DecoratedSliverBackground/border decoration
SliverOpacityGroup opacity, clamped 0..1
SliverOffstageLaid out but unpainted
SliverIgnorePointerTransparent to hit-testing
SliverSafeAreaSystem-inset padding
SliverVisibilityConditional presence

Related: Sliver Groups.