feat(plot): the figure crosshair marks the hovered row, and the stroke is thin, dashed and configurable
This commit is contained in:
1 parent
cae672bc99
commit
eee7c34dd5
12 files changed
+166
-12
No files matched your search
@@ -591,6 +591,17 @@ class Plot {
|
||||
/// **not** part of `set_crosshair()`, so placing a hover cannot silently change it.
|
||||
void set_crosshair_readout(bool on) noexcept { crosshair_.show_readout = on; }
|
||||
|
||||
/// Overrides this plot's crosshair stroke and dash, in logical pixels, without touching the
|
||||
/// global style every other plot draws with (spec §17): each field left negative in `s`
|
||||
/// defers to the matching `Style::crosshair_*` metric, so `CrosshairStyle{}` (the default)
|
||||
/// is exactly the global style. Set it once, like a colour -- it is not part of
|
||||
/// `set_crosshair()`, so placing a hover cannot silently change how the stroke looks. A
|
||||
/// `dash_off` that resolves to `0` draws a solid line.
|
||||
void set_crosshair_style(const CrosshairStyle& s) noexcept { crosshair_.style = s; }
|
||||
/// The crosshair's style override, as set -- read back rather than the *resolved* stroke and
|
||||
/// dash, which live on `CrosshairLayout` because they depend on `ui_scale`.
|
||||
const CrosshairStyle& crosshair_style() const noexcept { return crosshair_.style; }
|
||||
|
||||
/// The crosshair's state: where it is, which lines it draws and whether the readout is
|
||||
/// on. Read-only -- `set_crosshair()` and `clear_crosshair()` are how it moves -- so the
|
||||
/// coordinates it holds and the geometry `layout()` places from them cannot disagree.
|
||||
|
||||
Reference in new issue
Block a user