(config: ScrollbarConfig, idle_frames: u32)
| 875 | } |
| 876 | |
| 877 | fn scrollbar_visibility_alpha(config: ScrollbarConfig, idle_frames: u32) -> f32 { |
| 878 | match config.hide_after_frames { |
| 879 | None => 1.0, |
| 880 | Some(hide) => { |
| 881 | if hide == 0 { |
| 882 | return 0.0; |
| 883 | } |
| 884 | if idle_frames <= hide { |
| 885 | return 1.0; |
| 886 | } |
| 887 | let fade_frames = ((hide as f32) * 0.25).ceil().max(1.0) as u32; |
| 888 | let fade_progress = (idle_frames - hide) as f32 / fade_frames as f32; |
| 889 | (1.0 - fade_progress).clamp(0.0, 1.0) |
| 890 | } |
| 891 | } |
| 892 | } |
| 893 | |
| 894 | fn apply_alpha(color: Color, alpha_mul: f32) -> Color { |
| 895 | Color::rgba( |
no outgoing calls
no test coverage detected