pub enum Element {
ChartTitle,
AxisTitle(Side),
AxisLabel(Side),
Axis(Side),
DataAreaEdge(Side),
DataArea,
Legend,
ColorBar,
ColorBarAxis,
ColorBarLabel,
ColorBarTitle,
ColorBarEdge(Side),
}Variants§
ChartTitle
AxisTitle(Side)
AxisLabel(Side)
Axis(Side)
The axis line itself — a detached move. Shifts only perpendicular to
its direction (y-axes horizontally, x-axes vertically) via
AxisOptions::line_offset; the data area, grid, and data transform
stay put, so tick positions along the axis stay aligned with the data.
DataAreaEdge(Side)
One edge of the data area — moves by adjusting that side’s
out_margin, dragging the whole data area boundary with it. Used by
the data-area resize handles.
DataArea
The whole data area — translates without resizing by shifting opposite margins in tandem (left grows as right shrinks, etc.). Ticks, grid, and the data transform all derive from the data area, so everything moves as one.
Legend
The legend box — moves freely via legend.offset_{x,y} relative to
its corner anchor.
ColorBar
The colourbar strip — moves freely via colorbar.offset_{x,y} relative
to its side + align anchor, the same rule as Self::Legend.
ColorBarAxis
The colourbar axis line and ticks. Like a chart axis, a drag detaches it
only perpendicular to its direction through colorbar.axis.line_offset.
ColorBarLabel
The colourbar tick-label band. A drag updates the z axis’ label offsets.
ColorBarTitle
The colourbar title. A drag updates the z axis’ title offsets in the title’s rotated local frame.
ColorBarEdge(Side)
One edge of the colourbar strip, named by the screen side of the
strip it is on — the resize-handle target, mirroring
Self::DataAreaEdge.
Which dimension it changes follows the bar’s orientation, not the
element: on a vertical bar the left/right edges are thickness_px and
the top/bottom edges are length_frac; on a horizontal bar it is the
other way round. The element stays orientation-free because the handle
that produced it only knows screen directions.