@@ -7,11 +7,11 @@ typeof define === 'function' && define.amd ? define(['exports'], factory) :
7
7
8
8
/** @summary version id
9
9
* @desc For the JSROOT release the string in format 'major.minor.patch' like '7.0.0' */
10
- const version_id = '7.7.x ',
10
+ const version_id = '7.7.2 ',
11
11
12
12
/** @summary version date
13
13
* @desc Release date in format day/month/year like '14/04/2022' */
14
- version_date = '14 /06/2024',
14
+ version_date = '19 /06/2024',
15
15
16
16
/** @summary version id and date
17
17
* @desc Produced by concatenation of {@link version_id} and {@link version_date}
@@ -61939,20 +61939,19 @@ const AxisPainterMethods = {
61939
61939
/** @summary Provide label for exponential form */
61940
61940
formatExp(base, order, value) {
61941
61941
let res = '';
61942
+ const sbase = Math.abs(base - Math.E) < 0.001 ? 'e' : base.toString();
61942
61943
if (value) {
61943
61944
value = Math.round(value/Math.pow(base, order));
61944
- if ((value !== 0) && (value !== 1)) res = value.toString() + (settings.Latex ? '#times' : 'x');
61945
- }
61946
- if (Math.abs(base - Math.E) < 0.001)
61947
- res += 'e';
61948
- else
61949
- res += base.toString();
61950
- if (settings.StripAxisLabels) {
61951
- if (order === 0)
61952
- return '1';
61953
- else if (order === 1)
61954
- return res;
61945
+ if (settings.StripAxisLabels) {
61946
+ if (order === 0)
61947
+ return value.toString();
61948
+ else if ((order === 1) && (value === 1))
61949
+ return sbase;
61950
+ }
61951
+ if (value !== 1)
61952
+ res = value.toString() + (settings.Latex ? '#times' : 'x');
61955
61953
}
61954
+ res += sbase;
61956
61955
if (settings.Latex > constants$1.Latex.Symbols)
61957
61956
return res + `^{${order}}`;
61958
61957
const superscript_symbols = {
@@ -72112,6 +72111,7 @@ class TPavePainter extends ObjectPainter {
72112
72111
72113
72112
axis.fTickSize = 0.6 * s_width / width; // adjust axis ticks size
72114
72113
if ((typeof zaxis?.fLabelOffset !== 'undefined') && !is_th3) {
72114
+ axis.fBits = zaxis.fBits & ~EAxisBits.kTickMinus & ~EAxisBits.kTickPlus;
72115
72115
axis.fTitle = zaxis.fTitle;
72116
72116
axis.fTitleSize = zaxis.fTitleSize;
72117
72117
axis.fTitleOffset = zaxis.fTitleOffset;
@@ -72174,18 +72174,19 @@ class TPavePainter extends ObjectPainter {
72174
72174
for (let i = 0; i < levels.length-1; ++i) {
72175
72175
let z0 = Math.round(this.z_handle.gr(levels[i])),
72176
72176
z1 = Math.round(this.z_handle.gr(levels[i+1])),
72177
- lvl = (levels[i]+ levels[i+1])/2 , d;
72177
+ lvl = (levels[i] + levels[i+1])*0.5 , d;
72178
72178
72179
72179
if (this._palette_vertical) {
72180
72180
if ((z1 >= s_height) || (z0 < 0)) continue;
72181
72181
z0 += 1; // ensure correct gap filling between colors
72182
72182
72183
72183
if (z0 > s_height) {
72184
72184
z0 = s_height;
72185
- lvl = levels[i]*0.001+levels[i+1]*0.999;
72185
+ lvl = levels[i]*0.001 + levels[i+1]*0.999;
72186
+ if (z1 < 0) z1 = 0;
72186
72187
} else if (z1 < 0) {
72187
72188
z1 = 0;
72188
- lvl = levels[i]*0.999+ levels[i+1]*0.001;
72189
+ lvl = levels[i]*0.999 + levels[i+1]*0.001;
72189
72190
}
72190
72191
d = `M0,${z1}H${s_width}V${z0}H0Z`;
72191
72192
} else {
@@ -72194,10 +72195,11 @@ class TPavePainter extends ObjectPainter {
72194
72195
72195
72196
if (z1 > s_width) {
72196
72197
z1 = s_width;
72197
- lvl = levels[i]*0.999+levels[i+1]*0.001;
72198
+ lvl = levels[i]*0.999 + levels[i+1]*0.001;
72199
+ if (z0 < 0) z0 = 0;
72198
72200
} else if (z0 < 0) {
72199
72201
z0 = 0;
72200
- lvl = levels[i]*0.001+ levels[i+1]*0.999;
72202
+ lvl = levels[i]*0.001 + levels[i+1]*0.999;
72201
72203
}
72202
72204
d = `M${z0},0V${s_height}H${z1}V0Z`;
72203
72205
}
@@ -72749,7 +72751,8 @@ class THistDrawOptions {
72749
72751
Render3D: constants$1.Render3D.Default,
72750
72752
FrontBox: true, BackBox: true,
72751
72753
need_fillcol: false,
72752
- minimum: kNoZoom, maximum: kNoZoom, ymin: 0, ymax: 0, cutg: null, IgnoreMainScale: false });
72754
+ minimum: kNoZoom, maximum: kNoZoom, ymin: 0, ymax: 0, cutg: null,
72755
+ IgnoreMainScale: false, IgnorePalette: false });
72753
72756
}
72754
72757
72755
72758
isCartesian() { return this.System === kCARTESIAN; }
@@ -72814,6 +72817,9 @@ class THistDrawOptions {
72814
72817
d.check('USE_PAD_PALETTE');
72815
72818
d.check('USE_PAD_STATS');
72816
72819
72820
+ if (d.check('IGNORE_PALETTE'))
72821
+ this.IgnorePalette = true;
72822
+
72817
72823
if (d.check('PAL', true))
72818
72824
this.Palette = d.partAsInt();
72819
72825
// this is zooming of histo content
@@ -74718,6 +74724,10 @@ class THistPainter extends ObjectPainter {
74718
74724
/** @summary draw color palette
74719
74725
* @return {Promise} when done */
74720
74726
async drawColorPalette(enabled, postpone_draw, can_move) {
74727
+ // in special cases like scatter palette drawing is ignored
74728
+ if (this.options.IgnorePalette)
74729
+ return null;
74730
+
74721
74731
// only when create new palette, one could change frame size
74722
74732
const mp = this.getMainPainter(),
74723
74733
pp = this.getPadPainter();
@@ -75725,7 +75735,7 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
75725
75735
this.projection_widthY = widthY;
75726
75736
this.is_projection = ''; // avoid projection handling until area is created
75727
75737
75728
- this.provideSpecialDrawArea(new_proj).then(() => { this.is_projection = new_proj; return this.redrawProjection(); });
75738
+ return this.provideSpecialDrawArea(new_proj).then(() => { this.is_projection = new_proj; return this.redrawProjection(); });
75729
75739
}
75730
75740
75731
75741
/** @summary Redraw projection */
@@ -75881,8 +75891,12 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
75881
75891
menu.addDrawMenu('Draw with', opts, arg => {
75882
75892
if (arg.indexOf(kInspect) === 0)
75883
75893
return this.showInspector(arg);
75894
+ const oldProject = this.options.Project;
75884
75895
this.decodeOptions(arg);
75885
- this.interactiveRedraw('pad', 'drawopt');
75896
+ if ((oldProject === this.options.Project) || this.mode3d)
75897
+ this.interactiveRedraw('pad', 'drawopt');
75898
+ else
75899
+ this.toggleProjection(this.options.Project);
75886
75900
});
75887
75901
75888
75902
if (this.options.Color || this.options.Contour || this.options.Hist || this.options.Surf || this.options.Lego === 12 || this.options.Lego === 14)
@@ -108716,8 +108730,10 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
108716
108730
if (set_y && !histo.fYaxis.fLabels) {
108717
108731
histo.fYaxis.fXmin = Math.min(minimum0, minimum);
108718
108732
histo.fYaxis.fXmax = Math.max(maximum0, maximum);
108719
- histo.fMinimum = minimum;
108720
- histo.fMaximum = maximum;
108733
+ if (!this._need_2dhist) {
108734
+ histo.fMinimum = minimum;
108735
+ histo.fMaximum = maximum;
108736
+ }
108721
108737
}
108722
108738
108723
108739
return histo;
@@ -109763,7 +109779,7 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109763
109779
return false;
109764
109780
}
109765
109781
109766
- /** @summary Update object members
109782
+ /** @summary Update TGraph object members
109767
109783
* @private */
109768
109784
_updateMembers(graph, obj) {
109769
109785
graph.fBits = obj.fBits;
@@ -109790,6 +109806,8 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109790
109806
graph.fMarkerColor = obj.fMarkerColor;
109791
109807
graph.fMarkerSize = obj.fMarkerSize;
109792
109808
graph.fMarkerStyle = obj.fMarkerStyle;
109809
+
109810
+ return obj.fFunctions;
109793
109811
}
109794
109812
109795
109813
/** @summary Update TGraph object */
@@ -109799,7 +109817,7 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109799
109817
if (opt && (opt !== this.options.original))
109800
109818
this.decodeOptions(opt);
109801
109819
109802
- this._updateMembers(this.getObject(), obj);
109820
+ const new_funcs = this._updateMembers(this.getObject(), obj);
109803
109821
109804
109822
this.createBins();
109805
109823
@@ -109815,7 +109833,7 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109815
109833
}
109816
109834
}
109817
109835
109818
- this._funcHandler = new FunctionsHandler(this, this.getPadPainter(), obj.fFunctions );
109836
+ this._funcHandler = new FunctionsHandler(this, this.getPadPainter(), new_funcs );
109819
109837
109820
109838
return true;
109821
109839
}
@@ -113755,7 +113773,7 @@ class TScatterPainter extends TGraphPainter$1 {
113755
113773
* @private */
113756
113774
async drawAxisHisto() {
113757
113775
const histo = this.createHistogram();
113758
- return TH2Painter$2.draw(this.getDom(), histo, this.options.Axis);
113776
+ return TH2Painter$2.draw(this.getDom(), histo, this.options.Axis + ';IGNORE_PALETTE' );
113759
113777
}
113760
113778
113761
113779
/** @summary Provide palette, create if necessary
@@ -113778,7 +113796,8 @@ class TScatterPainter extends TGraphPainter$1 {
113778
113796
return pal;
113779
113797
}
113780
113798
113781
- /** @summary Update TScatter members */
113799
+ /** @summary Update TScatter members
113800
+ * @private */
113782
113801
_updateMembers(scatter, obj) {
113783
113802
scatter.fBits = obj.fBits;
113784
113803
scatter.fTitle = obj.fTitle;
@@ -113788,7 +113807,7 @@ class TScatterPainter extends TGraphPainter$1 {
113788
113807
scatter.fMargin = obj.fMargin;
113789
113808
scatter.fMinMarkerSize = obj.fMinMarkerSize;
113790
113809
scatter.fMaxMarkerSize = obj.fMaxMarkerSize;
113791
- super._updateMembers(scatter.fGraph, obj.fGraph);
113810
+ return super._updateMembers(scatter.fGraph, obj.fGraph);
113792
113811
}
113793
113812
113794
113813
/** @summary Actual drawing of TScatter */
0 commit comments