@@ -11,7 +11,7 @@ const version_id = 'dev',
1111
1212/** @summary version date
1313 * @desc Release date in format day/month/year like '14/04/2022' */
14- version_date = '2 /09/2024',
14+ version_date = '3 /09/2024',
1515
1616/** @summary version id and date
1717 * @desc Produced by concatenation of {@link version_id} and {@link version_date}
@@ -11004,11 +11004,10 @@ async function svgToImage(svg, image_format, as_buffer) {
1100411004 const c = String.fromCharCode('0x'+p1);
1100511005 return c === '%' ? '%25' : c;
1100611006 });
11007- svg = decodeURIComponent(svg);
1100811007
11009- const img_src = 'data:image/svg+xml;base64,' + btoa_func(svg);
11010-
11011- console.log('image format', image_format) ;
11008+ // was before, now try to use standard conversion
11009+ // const img_src = 'data:image/svg+xml;base64,' + btoa_func(decodeURIComponent(svg));
11010+ const img_src = prSVG + svg ;
1101211011
1101311012 if (isNodeJs()) {
1101411013 return Promise.resolve().then(function () { return _rollup_plugin_ignore_empty_module_placeholder$1; }).then(async handle => {
@@ -63570,7 +63569,7 @@ function addDragHandler(_painter, arg) {
6357063569 arg.obj.fX2NDC = (newx + newwidth) / rect.width;
6357163570 arg.obj.fY1NDC = 1 - (newy + newheight) / rect.height;
6357263571 arg.obj.fY2NDC = 1 - newy / rect.height;
63573- arg.obj.modified_NDC = true; // indicate that NDC was interactively changed, block in updated
63572+ arg.obj.$modifiedNDC = true; // indicate that NDC was interactively changed, block in updated
6357463573 } else if (isFunc(arg.move_resize))
6357563574 arg.move_resize(newx, newy, newwidth, newheight);
6357663575
@@ -65686,7 +65685,7 @@ class TFramePainter extends ObjectPainter {
6568665685 pad = pp?.getRootPad(true),
6568765686 tframe = this.getObject();
6568865687
65689- if ((this.fX1NDC === undefined) || (force && !this.modified_NDC )) {
65688+ if ((this.fX1NDC === undefined) || (force && !this.$modifiedNDC )) {
6569065689 if (!pad) {
6569165690 this.fX1NDC = gStyle.fPadLeftMargin;
6569265691 this.fX2NDC = 1 - gStyle.fPadRightMargin;
@@ -69748,7 +69747,7 @@ class TPadPainter extends ObjectPainter {
6974869747 this.checkSpecialsInPrimitives(obj);
6974969748
6975069749 const fp = this.getFramePainter();
69751- if (fp) fp.updateAttributes(!fp.modified_NDC );
69750+ if (fp) fp.updateAttributes(!fp.$modifiedNDC );
6975269751
6975369752 if (!obj.fPrimitives) return false;
6975469753
@@ -73058,7 +73057,7 @@ class TPavePainter extends ObjectPainter {
7305873057
7305973058 const pave = this.getObject();
7306073059
73061- if (!pave.modified_NDC && !this.isDummyPos(obj)) {
73060+ if (!pave.$modifiedNDC && !this.isDummyPos(obj)) {
7306273061 // if position was not modified interactively, update from source object
7306373062
7306473063 if (this.stored && !obj.fInit && (this.stored.fX1 === obj.fX1) &&
@@ -76199,7 +76198,7 @@ class Triangles3DHandler {
7619976198
7620076199
7620176200/** @summary Build 3d surface
76202- * @desc Make it indepependent from three.js to be able reuse it for 2d case
76201+ * @desc Make it independent from three.js to be able reuse it for 2d case
7620376202 * @private */
7620476203function buildSurf3D(histo, handle, ilevels, meshFunc, linesFunc) {
7620576204 const main_grz = handle.grz,
@@ -76562,7 +76561,7 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7656276561 for (let j = j1; j < j2; ++j)
7656376562 min = Math.min(min, histo.getBinContent(i + 1, j + 1));
7656476563 }
76565- if (min > 0) return; // if all points positive, no chance for autoscale
76564+ if (min > 0) return; // if all points positive, no chance for auto-scale
7656676565
7656776566 let ileft = i2, iright = i1, jleft = j2, jright = j1;
7656876567
@@ -76779,7 +76778,6 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7677976778 stat_sumy1 += yy * zz;
7678076779 stat_sumx2 += xx**2 * zz;
7678176780 stat_sumy2 += yy**2 * zz;
76782- // stat_sumxy += xx * yy * zz;
7678376781 }
7678476782 }
7678576783 }
@@ -76792,7 +76790,6 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7679276790 stat_sumx2 = histo.fTsumwx2;
7679376791 stat_sumy1 = histo.fTsumwy;
7679476792 stat_sumy2 = histo.fTsumwy2;
76795- // stat_sumxy = histo.fTsumwxy;
7679676793 }
7679776794
7679876795 if (Math.abs(stat_sum0) > 1e-300) {
@@ -77500,7 +77497,7 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7750077497 text = `#splitline{${text}}{#pm${lble}}`;
7750177498 }
7750277499
77503- if (rotate /* || (histo.fMarkerSize !== 1) */ ) {
77500+ if (rotate) {
7750477501 x = Math.round(handle.grx[i] + binw*0.5);
7750577502 y = Math.round(handle.gry[j+1] + binh*(0.5 + text_offset));
7750677503 width = height = 0;
@@ -77883,14 +77880,11 @@ let TH2Painter$2 = class TH2Painter extends THistPainter {
7788377880 cmarkers += swapXY ? attrcmarkers.create(y, x) : attrcmarkers.create(x, y);
7788477881 };
7788577882
77886- // if ((histo.fFillStyle === 0) && (histo.fFillColor > 0) && (!this.fillatt || this.fillatt.empty()))
77887- // this.createAttFill({ color: this.getColor(histo.fFillColor), pattern: 1001 });
77888-
7788977883 if (histo.fMarkerColor === 1) histo.fMarkerColor = histo.fLineColor;
7789077884
7789177885 handle.candle = []; // array of drawn points
7789277886
77893- // Determining the quantiles
77887+ // Determining the quintiles
7789477888 const wRange = gStyle.fCandleWhiskerRange, bRange = gStyle.fCandleBoxRange,
7789577889 prob = [(wRange >= 1) ? 1e-15 : 0.5 - wRange/2.0,
7789677890 (bRange >= 1) ? 1E-14 : 0.5 - bRange/2.0,
@@ -107165,7 +107159,7 @@ class HierarchyPainter extends BasePainter {
107165107159 async listServerDir(dirname) {
107166107160 return httpRequest(dirname, 'text').then(res => {
107167107161 if (!res) return false;
107168- const h = { _name: 'Files', _kind: kTopFolder, _childs: [], _isopen: true };
107162+ const h = { _name: 'Files', _kind: kTopFolder, _childs: [], _isopen: true }, fmap = {} ;
107169107163 let p = 0;
107170107164 while (p < res.length) {
107171107165 p = res.indexOf('a href="', p+1);
@@ -107176,6 +107170,10 @@ class HierarchyPainter extends BasePainter {
107176107170
107177107171 const fname = res.slice(p, p2);
107178107172 p = p2 + 1;
107173+
107174+ if (fmap[fname]) continue;
107175+ fmap[fname] = true;
107176+
107179107177 if ((fname.lastIndexOf('.root') === fname.length - 5) && (fname.length > 5)) {
107180107178 h._childs.push({
107181107179 _name: fname, _title: dirname + fname, _url: dirname + fname, _kind: kindTFile,
@@ -111468,7 +111466,7 @@ let THStackPainter$2 = class THStackPainter extends ObjectPainter {
111468111466 });
111469111467 }
111470111468
111471- // special handling of stacked histograms - set $baseh object for correct drawing
111469+ // special handling of stacked histograms
111472111470 // also used to provide tooltips
111473111471 if ((rindx > 0) && !this.options.nostack)
111474111472 hist.$baseh = hlst.arr[rindx - 1];
@@ -111518,7 +111516,7 @@ let THStackPainter$2 = class THStackPainter extends ObjectPainter {
111518111516 if (d.check('STACK')) this.options.nostack = false;
111519111517 this.options.same = d.check('SAME');
111520111518
111521- d.check('NOCLEAR'); // ignore noclear option
111519+ d.check('NOCLEAR'); // ignore option
111522111520
111523111521 ['PFC', 'PLC', 'PMC'].forEach(f => { if (d.check(f)) this.options.auto += ' ' + f; });
111524111522
@@ -111578,7 +111576,7 @@ let THStackPainter$2 = class THStackPainter extends ObjectPainter {
111578111576 return histo;
111579111577 }
111580111578
111581- /** @summary Update thstack object */
111579+ /** @summary Update THStack object */
111582111580 updateObject(obj) {
111583111581 if (!this.matchObjectType(obj)) return false;
111584111582
@@ -111667,7 +111665,7 @@ let THStackPainter$2 = class THStackPainter extends ObjectPainter {
111667111665 });
111668111666 }
111669111667
111670- /** @summary Fill hstack context menu */
111668+ /** @summary Fill THStack context menu */
111671111669 fillContextMenuItems(menu) {
111672111670 menu.addRedrawMenu(this);
111673111671 if (!this.options.pads) {
@@ -111743,7 +111741,7 @@ let THStackPainter$2 = class THStackPainter extends ObjectPainter {
111743111741 pr = this.drawHist(this.getDrawDom(), stack.fHistogram, this.options.hopt + mm.hopt).then(subp => {
111744111742 this.firstpainter = subp;
111745111743 subp.$stack_hist = true;
111746- subp.setSecondaryId(this, 'hist'); // mark hist painter as created by hstack
111744+ subp.setSecondaryId(this, 'hist'); // mark hist painter as created by THStack
111747111745 });
111748111746 }
111749111747 }
@@ -115090,13 +115088,13 @@ let TMultiGraphPainter$2 = class TMultiGraphPainter extends ObjectPainter {
115090115088 this.painters = []; // keep painters to be able update objects
115091115089 }
115092115090
115093- /** @summary Cleanup multigraph painter */
115091+ /** @summary Cleanup TMultiGraph painter */
115094115092 cleanup() {
115095115093 this.painters = [];
115096115094 super.cleanup();
115097115095 }
115098115096
115099- /** @summary Update multigraph object */
115097+ /** @summary Update TMultiGraph object */
115100115098 updateObject(obj) {
115101115099 if (!this.matchObjectType(obj))
115102115100 return false;
@@ -115127,7 +115125,7 @@ let TMultiGraphPainter$2 = class TMultiGraphPainter extends ObjectPainter {
115127115125 return isany;
115128115126 }
115129115127
115130- /** @summary Redraw multigraph
115128+ /** @summary Redraw TMultiGraph
115131115129 * @desc may redraw histogram which was used to draw axes
115132115130 * @return {Promise} for ready */
115133115131 async redraw(reason) {
@@ -115157,11 +115155,6 @@ let TMultiGraphPainter$2 = class TMultiGraphPainter extends ObjectPainter {
115157115155 if (pad) {
115158115156 logx = pad.fLogx;
115159115157 logy = pad.fLogv ?? pad.fLogy;
115160- // rw.xmin = pad.fUxmin;
115161- // rw.xmax = pad.fUxmax;
115162- // rw.ymin = pad.fUymin;
115163- // rw.ymax = pad.fUymax;
115164- // rw.first = false;
115165115158 }
115166115159
115167115160 // ignore existing histogram in 3d case
@@ -115348,12 +115341,12 @@ let TMultiGraphPainter$2 = class TMultiGraphPainter extends ObjectPainter {
115348115341 });
115349115342 }
115350115343
115351- /** @summary Fill multigraph context menu */
115344+ /** @summary Fill TMultiGraph context menu */
115352115345 fillContextMenuItems(menu) {
115353115346 menu.addRedrawMenu(this);
115354115347 }
115355115348
115356- /** @summary Redraw multigraph object using provided option
115349+ /** @summary Redraw TMultiGraph object using provided option
115357115350 * @private */
115358115351 async redrawWith(opt, skip_cleanup) {
115359115352 if (!skip_cleanup) {
@@ -119037,7 +119030,7 @@ class RFramePainter extends RObjectPainter {
119037119030
119038119031 /** @summary Update graphical attributes */
119039119032 updateAttributes(force) {
119040- if ((this.fX1NDC === undefined) || (force && !this.modified_NDC )) {
119033+ if ((this.fX1NDC === undefined) || (force && !this.$modifiedNDC )) {
119041119034 const rect = this.getPadPainter().getPadRect();
119042119035 this.fX1NDC = this.v7EvalLength('margins_left', rect.width, gStyle.fPadLeftMargin) / rect.width;
119043119036 this.fY1NDC = this.v7EvalLength('margins_bottom', rect.height, gStyle.fPadBottomMargin) / rect.height;
0 commit comments