figure: shared-y rows draw one y axis, on the first cell
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
25c3381551
commit
2b4b316ad8
6 files changed
+172
-5
No files matched your search
@@ -40,6 +40,13 @@ namespace plot {
|
||||
/// are for a host that wants one without the other.
|
||||
enum class XStrip { Both, LabelsOnly, TitleOnly, None };
|
||||
|
||||
/// Which parts of the left y chrome `Plot::layout()` reserves. `Both` is a plot drawn on
|
||||
/// its own. `None` reserves no label width, no title column and ignores the figure's common
|
||||
/// gutter: it is the mode of every cell of a split row but the first when the figure shares
|
||||
/// the row's y axis (`Figure::set_share_row_y`), where the first cell draws the one axis.
|
||||
/// The cell's ticks still refresh and its grid still builds.
|
||||
enum class YStrip { Both, None };
|
||||
|
||||
/// Whether a strip mode reserves the label strip. One rule, read by `Plot::layout()`
|
||||
/// when it sizes the strip and by the renderer when it decides whether to stage the
|
||||
/// labels -- a row that reserves none would otherwise stage them over its own data.
|
||||
@@ -238,6 +245,12 @@ class Plot {
|
||||
void set_x_strip_mode(XStrip mode) noexcept { x_strip_ = mode; }
|
||||
XStrip x_strip_mode() const noexcept { return x_strip_; }
|
||||
|
||||
/// Which parts of the left y chrome `layout()` reserves; `YStrip::Both` by default. With
|
||||
/// `YStrip::None` the y label width, the y title column and the figure's common gutter are
|
||||
/// all zero, and the renderer stages no y labels or title (`y_label_area.w == 0`).
|
||||
void set_y_strip_mode(YStrip mode) noexcept { y_strip_ = mode; }
|
||||
YStrip y_strip_mode() const noexcept { return y_strip_; }
|
||||
|
||||
/// The font layout() measures tick labels with. Borrowed, not owned, and may be
|
||||
/// null -- then the label areas fall back to PlotLayout's defaults and no string
|
||||
/// is measured: a plot with no renderer lays out with whatever the host sets
|
||||
@@ -1074,6 +1087,8 @@ class Plot {
|
||||
std::string x_note_;
|
||||
/// Which parts of the bottom x chrome are reserved at all; see set_x_strip_mode().
|
||||
XStrip x_strip_ = XStrip::Both;
|
||||
/// Which parts of the left y chrome are reserved at all; see set_y_strip_mode().
|
||||
YStrip y_strip_ = YStrip::Both;
|
||||
/// The floor a figure imposes on the left gutter; see set_min_y_gutter(). 0.0 means
|
||||
/// none, which is what a plot standing on its own keeps.
|
||||
f32 min_y_gutter_ = 0.0f;
|
||||
|
||||
Reference in new issue
Block a user