egui/crates/epaint
Emil Ernerfeldt 41aad74552
Cross-widget text select (#3870)
* Closes https://github.com/emilk/egui/issues/3816


![cross-widget-text-selection](https://github.com/emilk/egui/assets/1148717/5582b9d2-8b04-47b7-9637-f48e44064a70)

Turn off with `style.interaction.multi_widget_text_select`.

There is an API for this in `LabelSelectionState`, but it's pretty
bare-bones.

This became really hairy implementation-wise, but it works decently
well.

# Limitations
* Drag-select to scroll doesn't work
* A selection disappears if you scroll past one of its end-points
* Only the text of labels and links are selectable
 
## TODO
* [x] An option to turn it off
* [x] An API for querying about the selected text, and to deselect it.
* [x] Scrolling past selection behaves weird
* [x] Shift-click to select a range
2024-01-24 15:45:22 +01:00
..
benches Refactor: turn `ClippedShape` from struct-enum to a normal struct (#3225) 2023-08-10 14:50:11 +02:00
fonts Move all crates into a `crates` directory (#1940) 2022-08-20 10:41:49 +02:00
src Cross-widget text select (#3870) 2024-01-24 15:45:22 +01:00
CHANGELOG.md Release 0.25.0 - Better keyboard input 2024-01-08 12:25:43 +01:00
Cargo.toml Release 0.25.0 - Better keyboard input 2024-01-08 12:25:43 +01:00
README.md Add badges to all crates' README.md 2023-02-12 18:08:13 +01:00

README.md

epaint - egui paint library

Latest version Documentation unsafe forbidden MIT Apache

A bare-bones 2D graphics library for turning simple 2D shapes and text into textured triangles.

Made for egui.