Mercurial > octave
changeset 29650:360d21b028b1
Synchronize positions optionally when updating axes ticks (bug #60583)
* graphics.in.h (axes::properties::update_x(y/z)tick): Add bool arguments
that defaults to true for synchronizing the axes position.
(axes::properties::update_ticklabelinterpreter): Only synchronize once, after
all ticks updates are done.
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Wed, 12 May 2021 00:11:20 +0200 |
parents | 0230f7cf4044 |
children | b4e2e6f64db0 |
files | libinterp/corefcn/graphics.in.h |
diffstat | 1 files changed, 15 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/graphics.in.h Tue May 11 20:55:11 2021 +0200 +++ b/libinterp/corefcn/graphics.in.h Wed May 12 00:11:20 2021 +0200 @@ -4012,12 +4012,12 @@ void update_ticklabelinterpreter (void) { - update_xtick (); - update_ytick (); - update_ztick (); + update_xtick (false); + update_ytick (false); + update_ztick (true); } - void update_xtick (void) + void update_xtick (bool sync_pos = true) { calc_ticks_and_lims (xlim, xtick, xminortickvalues, xlimmode.is ("auto"), xtickmode.is ("auto"), xscale.is ("log")); @@ -4028,9 +4028,11 @@ (yaxislocation_is ("origin") ? 0 : (yaxislocation_is ("left") ? -1 : 1)), xlim); - sync_positions (); + + if (sync_pos) + sync_positions (); } - void update_ytick (void) + void update_ytick (bool sync_pos = true) { calc_ticks_and_lims (ylim, ytick, yminortickvalues, ylimmode.is ("auto"), ytickmode.is ("auto"), yscale.is ("log")); @@ -4041,15 +4043,19 @@ (xaxislocation_is ("origin") ? 0 : (xaxislocation_is ("bottom") ? -1 : 1)), ylim); - sync_positions (); + + if (sync_pos) + sync_positions (); } - void update_ztick (void) + void update_ztick (bool sync_pos = true) { calc_ticks_and_lims (zlim, ztick, zminortickvalues, zlimmode.is ("auto"), ztickmode.is ("auto"), zscale.is ("log")); if (zticklabelmode.is ("auto")) calc_ticklabels (ztick, zticklabel, zscale.is ("log"), false, 2, zlim); - sync_positions (); + + if (sync_pos) + sync_positions (); } void update_xtickmode (void)