egui/crates/epaint/src
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
..
text Cross-widget text select (#3870) 2024-01-24 15:45:22 +01:00
util Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
bezier.rs Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
image.rs Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
lib.rs Keep unsafe code forbidden when puffin is disabled (#3603) 2023-11-22 20:37:46 +01:00
mesh.rs Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
mutex.rs Use `impl Into<Stroke>` as argument in a few more places (#3420) 2023-11-10 21:36:51 +01:00
shadow.rs Style tweaks (#2406) 2022-12-08 10:55:13 +01:00
shape.rs Add `Align2::anchor_size` (#3863) 2024-01-22 16:47:50 +01:00
shape_transform.rs Fix text color of disabled widgets (#3744) 2023-12-28 11:16:39 +01:00
stats.rs Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
stroke.rs Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
tessellator.rs Replace a special `Color32::PLACEHOLDER` with widget fallback color (#3727) 2023-12-22 15:09:10 +01:00
texture_atlas.rs Fix buggy text withviewports on monitors with different scales (#3666) 2023-11-30 15:56:05 +01:00
texture_handle.rs Improved texture loading (#3315) 2023-09-12 10:39:17 +02:00
textures.rs Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00