Skip to content

Commit 6d8f090

Browse files
committed
Fix - properly draw TAxis labels on both sides
When pad.fTickx = 2. Side was changed outside promise.
1 parent df75a5e commit 6d8f090

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

modules/gpad/TAxisPainter.mjs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,7 +1098,7 @@ class TAxisPainter extends ObjectPainter {
10981098

10991099
/** @summary Draw axis labels
11001100
* @return {Promise} with array label size and max width */
1101-
async drawLabels(axis_g, axis, w, h, handle, side, labelsFont, labeloffset, tickSize, ticksPlusMinus, max_text_width, frame_ygap) {
1101+
async drawLabels(axis_g, axis, w, h, handle, labelsside, labelsFont, labeloffset, tickSize, ticksPlusMinus, max_text_width, frame_ygap) {
11021102
const center_lbls = this.isCenteredLabels(),
11031103
label_g = [axis_g.append('svg:g').attr('class', 'axis_labels')],
11041104
lbl_pos = handle.lbl_pos || handle.major,
@@ -1170,13 +1170,8 @@ class TAxisPainter extends ObjectPainter {
11701170
}
11711171
}
11721172

1173-
let pr = Promise.resolve();
1174-
1175-
for (let lcnt = 0; lcnt < label_g.length; ++lcnt) {
1176-
if (lcnt > 0)
1177-
side = -side;
1178-
1179-
pr = pr.then(() => this.startTextDrawingAsync(labelsFont, 'font', label_g[lcnt])).then(() => {
1173+
const draw_labels = (lcnt, side) => {
1174+
return this.startTextDrawingAsync(labelsFont, 'font', label_g[lcnt]).then(() => {
11801175
let lastpos = 0;
11811176
const fix_coord = this.vertical ? -labeloffset * side : labeloffset * side + ticksPlusMinus * tickSize;
11821177

@@ -1222,7 +1217,8 @@ class TAxisPainter extends ObjectPainter {
12221217
if (this.vertical) {
12231218
arg.x = fix_coord;
12241219
arg.y = pos;
1225-
arg.align = rotate_lbls ? (this.optionLeft || this.reverseAlign ? 23 : 21) : (this.optionLeft || this.reverseAlign ? 12 : 32);
1220+
const flag = this.optionLeft || this.reverseAlign || (side < 0);
1221+
arg.align = rotate_lbls ? (flag ? 23 : 21) : (flag ? 12 : 32);
12261222
if (this.cutLabels()) {
12271223
const gap = labelsFont.size * (rotate_lbls ? 1.5 : 0.6);
12281224
if ((pos < gap) || (pos > h - gap))
@@ -1292,14 +1288,16 @@ class TAxisPainter extends ObjectPainter {
12921288
});
12931289
}
12941290

1295-
if ((lcnt > 1) && applied_scale)
1291+
if ((lcnt > 0) && applied_scale)
12961292
this.scaleTextDrawing(applied_scale, label_g[lcnt]);
12971293

12981294
return this.finishTextDrawing(label_g[lcnt], true);
12991295
});
1300-
}
1296+
};
13011297

1302-
return pr.then(() => {
1298+
return draw_labels(0, labelsside).then(() => {
1299+
return label_g.length < 2 ? true : draw_labels(1, -labelsside);
1300+
}).then(() => {
13031301
this._maxlbllen = maxtextlen; // for internal use in palette painter
13041302

13051303
if (lbl_tilt) {

0 commit comments

Comments
 (0)