Skip to content

Commit b06ea76

Browse files
committed
Build 7.7.2
1 parent deb99ff commit b06ea76

File tree

3 files changed

+54
-32
lines changed

3 files changed

+54
-32
lines changed

build/jsroot.js

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ typeof define === 'function' && define.amd ? define(['exports'], factory) :
77

88
/** @summary version id
99
* @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',
1111

1212
/** @summary version date
1313
* @desc Release date in format day/month/year like '14/04/2022' */
14-
version_date = '14/06/2024',
14+
version_date = '19/06/2024',
1515

1616
/** @summary version id and date
1717
* @desc Produced by concatenation of {@link version_id} and {@link version_date}
@@ -61939,20 +61939,19 @@ const AxisPainterMethods = {
6193961939
/** @summary Provide label for exponential form */
6194061940
formatExp(base, order, value) {
6194161941
let res = '';
61942+
const sbase = Math.abs(base - Math.E) < 0.001 ? 'e' : base.toString();
6194261943
if (value) {
6194361944
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');
6195561953
}
61954+
res += sbase;
6195661955
if (settings.Latex > constants$1.Latex.Symbols)
6195761956
return res + `^{${order}}`;
6195861957
const superscript_symbols = {
@@ -72112,6 +72111,7 @@ class TPavePainter extends ObjectPainter {
7211272111

7211372112
axis.fTickSize = 0.6 * s_width / width; // adjust axis ticks size
7211472113
if ((typeof zaxis?.fLabelOffset !== 'undefined') && !is_th3) {
72114+
axis.fBits = zaxis.fBits & ~EAxisBits.kTickMinus & ~EAxisBits.kTickPlus;
7211572115
axis.fTitle = zaxis.fTitle;
7211672116
axis.fTitleSize = zaxis.fTitleSize;
7211772117
axis.fTitleOffset = zaxis.fTitleOffset;
@@ -72174,18 +72174,19 @@ class TPavePainter extends ObjectPainter {
7217472174
for (let i = 0; i < levels.length-1; ++i) {
7217572175
let z0 = Math.round(this.z_handle.gr(levels[i])),
7217672176
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;
7217872178

7217972179
if (this._palette_vertical) {
7218072180
if ((z1 >= s_height) || (z0 < 0)) continue;
7218172181
z0 += 1; // ensure correct gap filling between colors
7218272182

7218372183
if (z0 > s_height) {
7218472184
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;
7218672187
} else if (z1 < 0) {
7218772188
z1 = 0;
72188-
lvl = levels[i]*0.999+levels[i+1]*0.001;
72189+
lvl = levels[i]*0.999 + levels[i+1]*0.001;
7218972190
}
7219072191
d = `M0,${z1}H${s_width}V${z0}H0Z`;
7219172192
} else {
@@ -72194,10 +72195,11 @@ class TPavePainter extends ObjectPainter {
7219472195

7219572196
if (z1 > s_width) {
7219672197
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;
7219872200
} else if (z0 < 0) {
7219972201
z0 = 0;
72200-
lvl = levels[i]*0.001+levels[i+1]*0.999;
72202+
lvl = levels[i]*0.001 + levels[i+1]*0.999;
7220172203
}
7220272204
d = `M${z0},0V${s_height}H${z1}V0Z`;
7220372205
}
@@ -72749,7 +72751,8 @@ class THistDrawOptions {
7274972751
Render3D: constants$1.Render3D.Default,
7275072752
FrontBox: true, BackBox: true,
7275172753
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 });
7275372756
}
7275472757

7275572758
isCartesian() { return this.System === kCARTESIAN; }
@@ -72814,6 +72817,9 @@ class THistDrawOptions {
7281472817
d.check('USE_PAD_PALETTE');
7281572818
d.check('USE_PAD_STATS');
7281672819

72820+
if (d.check('IGNORE_PALETTE'))
72821+
this.IgnorePalette = true;
72822+
7281772823
if (d.check('PAL', true))
7281872824
this.Palette = d.partAsInt();
7281972825
// this is zooming of histo content
@@ -74718,6 +74724,10 @@ class THistPainter extends ObjectPainter {
7471874724
/** @summary draw color palette
7471974725
* @return {Promise} when done */
7472074726
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+
7472174731
// only when create new palette, one could change frame size
7472274732
const mp = this.getMainPainter(),
7472374733
pp = this.getPadPainter();
@@ -75725,7 +75735,7 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7572575735
this.projection_widthY = widthY;
7572675736
this.is_projection = ''; // avoid projection handling until area is created
7572775737

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(); });
7572975739
}
7573075740

7573175741
/** @summary Redraw projection */
@@ -75881,8 +75891,12 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7588175891
menu.addDrawMenu('Draw with', opts, arg => {
7588275892
if (arg.indexOf(kInspect) === 0)
7588375893
return this.showInspector(arg);
75894+
const oldProject = this.options.Project;
7588475895
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);
7588675900
});
7588775901

7588875902
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 {
108716108730
if (set_y && !histo.fYaxis.fLabels) {
108717108731
histo.fYaxis.fXmin = Math.min(minimum0, minimum);
108718108732
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+
}
108721108737
}
108722108738

108723108739
return histo;
@@ -109763,7 +109779,7 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109763109779
return false;
109764109780
}
109765109781

109766-
/** @summary Update object members
109782+
/** @summary Update TGraph object members
109767109783
* @private */
109768109784
_updateMembers(graph, obj) {
109769109785
graph.fBits = obj.fBits;
@@ -109790,6 +109806,8 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109790109806
graph.fMarkerColor = obj.fMarkerColor;
109791109807
graph.fMarkerSize = obj.fMarkerSize;
109792109808
graph.fMarkerStyle = obj.fMarkerStyle;
109809+
109810+
return obj.fFunctions;
109793109811
}
109794109812

109795109813
/** @summary Update TGraph object */
@@ -109799,7 +109817,7 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109799109817
if (opt && (opt !== this.options.original))
109800109818
this.decodeOptions(opt);
109801109819

109802-
this._updateMembers(this.getObject(), obj);
109820+
const new_funcs = this._updateMembers(this.getObject(), obj);
109803109821

109804109822
this.createBins();
109805109823

@@ -109815,7 +109833,7 @@ let TGraphPainter$1 = class TGraphPainter extends ObjectPainter {
109815109833
}
109816109834
}
109817109835

109818-
this._funcHandler = new FunctionsHandler(this, this.getPadPainter(), obj.fFunctions);
109836+
this._funcHandler = new FunctionsHandler(this, this.getPadPainter(), new_funcs);
109819109837

109820109838
return true;
109821109839
}
@@ -113755,7 +113773,7 @@ class TScatterPainter extends TGraphPainter$1 {
113755113773
* @private */
113756113774
async drawAxisHisto() {
113757113775
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');
113759113777
}
113760113778

113761113779
/** @summary Provide palette, create if necessary
@@ -113778,7 +113796,8 @@ class TScatterPainter extends TGraphPainter$1 {
113778113796
return pal;
113779113797
}
113780113798

113781-
/** @summary Update TScatter members */
113799+
/** @summary Update TScatter members
113800+
* @private */
113782113801
_updateMembers(scatter, obj) {
113783113802
scatter.fBits = obj.fBits;
113784113803
scatter.fTitle = obj.fTitle;
@@ -113788,7 +113807,7 @@ class TScatterPainter extends TGraphPainter$1 {
113788113807
scatter.fMargin = obj.fMargin;
113789113808
scatter.fMinMarkerSize = obj.fMinMarkerSize;
113790113809
scatter.fMaxMarkerSize = obj.fMaxMarkerSize;
113791-
super._updateMembers(scatter.fGraph, obj.fGraph);
113810+
return super._updateMembers(scatter.fGraph, obj.fGraph);
113792113811
}
113793113812

113794113813
/** @summary Actual drawing of TScatter */

changes.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
# JSROOT changelog
22

3-
## Changes in 7.7.x
3+
## Changes in 7.7.2
44
1. Fix - hide empty title on the canvas
55
2. Fix - properly handle zooming in THStack histogram
66
3. Fix - always use 0 as minimum in THStack drawings
77
4. Fix - always show all ticks for labeled axis
88
5. Fix - draw TProfile2D bins content as text, not entries
99
6. Fix - interactive zooming on log color palette
1010
7. Fix - keyboard handling while input dialog active
11+
8. Fix - legend entry with not configured fill attributes
12+
9. Fix - prevent that color palette exceed graphical range
13+
10. Fix - exponential log axis labels with kMoreLogLabels bit set
1114

1215

1316
## Changes in 7.7.1

modules/core.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/** @summary version id
22
* @desc For the JSROOT release the string in format 'major.minor.patch' like '7.0.0' */
3-
const version_id = '7.7.x',
3+
const version_id = '7.7.2',
44

55
/** @summary version date
66
* @desc Release date in format day/month/year like '14/04/2022' */
7-
version_date = '14/06/2024',
7+
version_date = '19/06/2024',
88

99
/** @summary version id and date
1010
* @desc Produced by concatenation of {@link version_id} and {@link version_date}

0 commit comments

Comments
 (0)