mirror of
https://github.com/storytold/figcraft.git
synced 2026-11-13 13:52:34 +00:00
main moved the colour picker into `widgets/colorpicker.rs` and gave it a fixed area id (#976: `window_id()`), which the style picker looks up to tell a press inside the picker from one outside. This merge keeps that id as the picker's own area: the popover takes it as-is (`Popover::with_id`), so the lookup and the #237 regression test keep working — the test now finds the picker by the id instead of by its z-order. The rest is the popover arriving on top of current main: - the colour picker's `egui::Window` is the shared card: its 40 pt header — title 16 in, X 8 in from the right — is the popover's, and its body is unchanged, eyedropper included; - the style picker's own area, frame and border are the same card on the dark surface; its title moved into the header, its tools row stays; - presses in the Design panel and on the control that opened the picker are held out of the closing, so that control's own click toggles the picker; - while the eyedropper samples (still picking, or a colour just picked) a press on the canvas is the pick, so it does not close the picker it picks for. `right.rs` was split by main: its four swatch call sites are now in `panels/right.rs` (page background), `panels/right/paints.rs` (a text range's fill, a paint row) and `panels/right/effects.rs` (an effect's colour). egui 0.37 deprecates `Id::new` for `Id::unique`, which the new module uses. `cargo test -p figcraft-ui-egui`: 824 + 8 + 1 pass; fmt and clippy clean.