Incular logoIncular
API ReferenceEnvironment

DefaultTextStyle

Ambient default style for descendant Text widgets.

DefaultTextStyle { style: TextStyle, child: Widget } sets the style that bare Text widgets inherit.

use incular::prelude::*;

fn main() {
    let style = TextStyle::new().font_size(14.0);
    println!("size: {}", style.size);
    let scope = DefaultTextStyle::new(style.clone(), Text::new("Hello"));
    println!("inherited size: {}", scope.style().size);
    let app = Application::new(move |_cx| {
        DefaultTextStyle::new(style.clone(), Text::new("Hello")).into()
    })
    .expect("valid application");
    incular::run(app).expect("run application");
}

DefaultSelectionStyle sets ambient cursor/selection/handle colors for editable text (all None by default):

use incular::prelude::*;

fn main() {
    let app = Application::new(|_cx| {
        DefaultSelectionStyle::new(Text::new("Editable"))
                .cursor_color(Color::BLACK)
                .selection_color(Color::rgba(0, 120, 240, 255))
                .handle_color(Color::BLACK).into()
    })
    .expect("valid application");
    incular::run(app).expect("run application");
}

DefaultTextStyleTransition is the explicit-animation counterpart (currently a child passthrough).

Related: TextStyle, EditableText.