egui_virtual_list 0.3.0

A virtual list widget for egui, with support for variable height items.
Documentation
# egui_virtual_list

[![egui_ver](https://img.shields.io/badge/egui-0.27.0-blue)](https://github.com/emilk/egui)
[![Latest version](https://img.shields.io/crates/v/egui_virtual_list.svg)](https://crates.io/crates/egui_virtual_list)
[![Documentation](https://docs.rs/egui_virtual_list/badge.svg)](https://docs.rs/egui_virtual_list)
[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)
[![License](https://img.shields.io/crates/l/egui_virtual_list.svg)](https://crates.io/crates/egui_virtual_list)


[content]:<>


This crate adds a virtual list widget to [egui](https://github.com/emilk/egui).
Egui has a basic build in virtual list in the
[ScrollArea](https://docs.rs/egui/0.25.0/egui/containers/scroll_area/struct.ScrollArea.html#method.show_rows) widget.
This crate has some extra features though:

- Supports items with varying heights
    - Heights are calculated lazily and cached, as you scroll further down the list
- Supports custom layouts, so you could place multiple items in a single row
    - Check the [Gallery Example]https://lucasmerlin.github.io/hello_egui/
- Allows for adding items at the top without the scroll position changing
    - Check the [Chat Example]https://lucasmerlin.github.io/hello_egui/

There are some limitations though:

- If you want to support a crazy amounts of items (1000000+ items), where you can instantly jump anywhere in the list,
  I recommend using egui's built in ScrollArea instead.
- Horizontal scrolling is not supported yet, but it should be easy to add if needed.

If you want to build a infinite scroll list, I recommend using
the [egui_infinite_scroll](https://crates.io/crates/egui_infinite_scroll) crate instead, which
is using this crate internally.