llimphi-widget-timeline 0.1.0

llimphi-widget-timeline — barra de progreso/scrub clickeable (seek absoluto). El widget es stateless: el caller pasa la fracción de avance y un handler fracción→Msg.
Documentation
  • Coverage
  • 100%
    11 out of 11 items documented0 out of 4 items with examples
  • Size
  • Source code size: 109.8 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 505.2 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 47s Average build duration of successful builds.
  • all releases: 47s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • sergiovelasquezzeballos

llimphi-widget-timeline — barra de progreso/scrub clickeable.

Pattern análogo a llimphi-widget-slider/-progress: el widget no mantiene estado. El caller guarda la posición actual en su Model, le pasa la fracción de avance (0.0..=1.0 = posición/duración) y un handler Fn(f32) -> Option<Msg> que recibe la fracción donde el usuario clickeó (scrub absoluto, estilo VLC). El widget no sabe de tiempo ni de duración: sólo pinta el avance y reporta dónde se clickeó como fracción del ancho de la barra (on_click_at). Quien mapea esa fracción a un seek concreto es la app.

  [ ██████████▏░░░░░░░░░░░░ ]
       recorrido  playhead   resto

Uso típico (reproductor):

let frac = pos.as_secs_f64() / dur.as_secs_f64();
timeline_view(frac as f32, &TimelinePalette::default(), |f| {
    Some(Msg::Command(MediaCommand::SeekTo { fraction: f }))
})