11import { createHistogram , setHistogramTitle , kNoStats , settings , clTF3 , clTH2F , isStr } from '../core.mjs' ;
22import { TH2Painter } from '../hist/TH2Painter.mjs' ;
33import { proivdeEvalPar } from '../base/func.mjs' ;
4- import { produceTAxisLogScale } from '../hist/TF1Painter.mjs' ;
4+ import { produceTAxisLogScale , scanTF1Options } from '../hist/TF1Painter.mjs' ;
55import { ObjectPainter , getElementMainPainter } from '../base/ObjectPainter.mjs' ;
66import { DrawOptions } from '../base/BasePainter.mjs' ;
77import { THistPainter } from '../hist2d/THistPainter.mjs' ;
@@ -74,7 +74,7 @@ class TF3Painter extends TH2Painter {
7474 createTF3Histogram ( func , hist ) {
7575 const nsave = func . fSave . length - 9 ;
7676
77- this . _use_saved_points = ( nsave > 0 ) && ( settings . PreferSavedPoints || this . force_saved ) ;
77+ this . _use_saved_points = ( nsave > 0 ) && ( settings . PreferSavedPoints || this . prefer_saved ) ;
7878
7979 const fp = this . getFramePainter ( ) ,
8080 pad = this . getPadPainter ( ) ?. getRootPad ( true ) ,
@@ -238,25 +238,17 @@ class TF3Painter extends TH2Painter {
238238 }
239239
240240 /** @summary fill information for TWebCanvas
241+ * @desc Used to inform webcanvas when evaluation failed
241242 * @private */
242243 fillWebObjectOptions ( opt ) {
243- // mark that saved points are used or evaluation failed
244- opt . fcust = this . _fail_eval ? 'func_fail' : '' ;
244+ opt . fcust = this . _fail_eval && ! this . prefer_saved ? 'func_fail' : '' ;
245245 }
246246
247247 /** @summary draw TF3 object */
248248 static async draw ( dom , tf3 , opt ) {
249- if ( ! isStr ( opt ) ) opt = '' ;
250- let p = opt . indexOf ( ';webcanv_hist' ) , webcanv_hist = false , force_saved = false ;
251- if ( p >= 0 ) {
252- webcanv_hist = true ;
253- opt = opt . slice ( 0 , p ) ;
254- }
255- p = opt . indexOf ( ';force_saved' ) ;
256- if ( p >= 0 ) {
257- force_saved = true ;
258- opt = opt . slice ( 0 , p ) ;
259- }
249+ const web = scanTF1Options ( opt ) ;
250+ opt = web . opt ;
251+ delete web . opt ;
260252
261253 const d = new DrawOptions ( opt ) ;
262254 if ( d . empty ( ) || ( opt === 'gl' ) )
@@ -271,7 +263,7 @@ class TF3Painter extends TH2Painter {
271263
272264 let hist ;
273265
274- if ( webcanv_hist ) {
266+ if ( web . webcanv_hist ) {
275267 const dummy = new ObjectPainter ( dom ) ;
276268 hist = dummy . getPadPainter ( ) ?. findInPrimitives ( 'Func' , clTH2F ) ;
277269 }
@@ -284,8 +276,7 @@ class TF3Painter extends TH2Painter {
284276 const painter = new TF3Painter ( dom , hist ) ;
285277
286278 painter . $func = tf3 ;
287- painter . webcanv_hist = webcanv_hist ;
288- painter . force_saved = force_saved ;
279+ Object . assign ( painter , web ) ;
289280 painter . createTF3Histogram ( tf3 , hist ) ;
290281 return THistPainter . _drawHist ( painter , opt ) ;
291282 }
0 commit comments