hqchart 1.1.14425 → 1.1.14432

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9870,6 +9870,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9870
9870
  for(var i=0;i<this.ExtendChartPaint.length;++i)
9871
9871
  {
9872
9872
  var item=this.ExtendChartPaint[i];
9873
+
9873
9874
  if (item.IsCallbackDraw)
9874
9875
  {
9875
9876
  if (["KLineYAxisBGPaint","DepthMapPaint","BackgroundPaint","MinuteBackgroundPaint", "SessionBreaksPaint"].includes(item.ClassName))
@@ -48371,6 +48372,25 @@ function IExtendChartPainting()
48371
48372
  {
48372
48373
  return GetFontHeight(this.Canvas, font, "擎");
48373
48374
  }
48375
+
48376
+ this.SetFillStyle=function(color, x0, y0, x1, y1)
48377
+ {
48378
+ if (Array.isArray(color))
48379
+ {
48380
+ let gradient = this.Canvas.createLinearGradient(x0, y0, x1, y1);
48381
+ var offset=1/(color.length-1);
48382
+ for(var i=0; i<color.length; ++i)
48383
+ {
48384
+ var value=i*offset;
48385
+ gradient.addColorStop(value, color[i]);
48386
+ }
48387
+ this.Canvas.fillStyle=gradient;
48388
+ }
48389
+ else
48390
+ {
48391
+ this.Canvas.fillStyle=color;
48392
+ }
48393
+ }
48374
48394
  }
48375
48395
 
48376
48396
  //K线Tooltip, 显示在左边或右边
@@ -52540,7 +52560,7 @@ function KLineYAxisBGPaint()
52540
52560
  }
52541
52561
 
52542
52562
 
52543
- //背景图 支持横屏
52563
+ //背景图 支持横屏 新版本
52544
52564
  function BackgroundPaint()
52545
52565
  {
52546
52566
  this.newMethod=IExtendChartPainting; //派生
@@ -52552,327 +52572,210 @@ function BackgroundPaint()
52552
52572
  this.IsDynamic=false;
52553
52573
  this.IsCallbackDraw=true; //在回调函数里绘制, 不在Draw()中绘制
52554
52574
 
52575
+ this.IsDrawAllFrame=false; //全部的指标框都画
52576
+ this.SetDrawFrameID=new Set([0]); //指定几个指标框画
52577
+
52555
52578
  this.FrameID=0;
52556
- this.Data; //背景数据 { Start:, End:, Color:[] }
52579
+ this.Data; //背景数据[ { Start:{ Date:, Time: }, End:{ Date:, Time }, Color:['rgb(44,55,255)','rgb(200,55,255)'] }]
52580
+ this.IsShow=true;
52581
+ this.SubFrame=null;
52582
+
52557
52583
  this.ID=Guid(); //唯一的ID
52558
-
52559
- /*
52560
- this.Data=
52561
- [
52562
- { Start:{ Date:20181201 }, End:{ Date:20181230 }, Color:'rgb(44,55,44)' } ,
52563
- { Start:{ Date:20190308 }, End:{ Date:20190404 }, Color:['rgb(44,55,255)','rgb(200,55,255)'] }
52564
- ]
52565
- */
52566
-
52567
- this.ChartSubFrame;
52568
- this.ChartBorder;
52569
- this.KData;
52570
- this.Period;
52571
- this.XPointCount=0;
52584
+ this.HQChart;
52572
52585
 
52573
52586
  this.SetOption=function(option) //设置
52574
52587
  {
52575
- if (option.FrameID>0) this.FrameID=option.FrameID;
52588
+ if (!option) return;
52589
+
52590
+ if (IFrameSplitOperator.IsNumber(option.FrameID)) this.FrameID=option.FrameID;
52576
52591
  if (IFrameSplitOperator.IsObjectExist(option.ID)) this.ID=option.ID;
52592
+ if (IFrameSplitOperator.IsBool(option.IsDrawAllFrame)) this.IsDrawAllFrame=option.IsDrawAllFrame;
52593
+ if (IFrameSplitOperator.IsNonEmptyArray(option.AryFrameID)) this.SetDrawFrameID=new Set(option.AryFrameID);
52577
52594
  }
52578
52595
 
52579
52596
  this.Draw=function()
52580
52597
  {
52581
- if (!this.Data || !this.HQChart) return;
52582
- if (!this.ChartFrame || !this.ChartFrame.SubFrame || this.ChartFrame.SubFrame.length<=this.FrameID) return;
52583
- var klineChart=this.HQChart.ChartPaint[0];
52584
- if (!klineChart || !klineChart.Data) return;
52585
-
52586
- this.ChartSubFrame=this.ChartFrame.SubFrame[this.FrameID].Frame;
52587
- this.ChartBorder=this.ChartSubFrame.ChartBorder;
52588
- this.KData=klineChart.Data;
52589
- this.Period=this.HQChart.Period;
52590
- if (!this.KData || this.KData.Data.length<=0) return;
52591
-
52592
- var isHScreen=(this.ChartSubFrame.IsHScreen===true);
52593
- this.XPointCount=this.ChartSubFrame.XPointCount;
52594
- var xPointCount=this.ChartSubFrame.XPointCount;
52595
-
52596
- var firstKItem=this.KData.Data[this.KData.DataOffset];
52597
- var endIndex=this.KData.DataOffset+xPointCount-1;
52598
- if (endIndex>=this.KData.Data.length) endIndex=this.KData.Data.length-1;
52599
- var endKItem=this.KData.Data[endIndex];
52600
- var showData=this.GetShowData(firstKItem,endKItem);
52601
- if (!showData || showData.length<=0) return;
52602
-
52603
- var kLineMap=this.BuildKLineMap();
52604
- var bottom=this.ChartBorder.GetBottomEx();
52605
- var top=this.ChartBorder.GetTopEx();
52606
- var height=this.ChartBorder.GetHeightEx();
52607
- if (isHScreen)
52598
+ this.SubFrame=null;
52599
+
52600
+ if (this.FrameID<0) return;
52601
+ if (!this.HQChart) return;
52602
+ if (!this.ChartFrame || !IFrameSplitOperator.IsNonEmptyArray(this.ChartFrame.SubFrame)) return;
52603
+ if (!this.IsShow) return;
52604
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Data)) return;
52605
+ if (!this.ChartFrame.SubFrame[this.FrameID]) return;
52606
+ this.SubFrame=this.ChartFrame.SubFrame[this.FrameID].Frame;
52607
+ if (!this.SubFrame) return;
52608
+
52609
+ var kData=this.HQChart.GetKData();
52610
+ if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return;
52611
+
52612
+ var bHScreen=(this.SubFrame.IsHScreen===true);
52613
+ this.IsHScreen=bHScreen;
52614
+ var isMinute=this.SubFrame.IsMinuteFrame();
52615
+ var dataWidth=this.SubFrame.DataWidth;
52616
+ var distanceWidth=this.SubFrame.DistanceWidth;
52617
+ var xPointCount=this.SubFrame.XPointCount;
52618
+
52619
+ var border=this.SubFrame.GetBorder();
52620
+ if (bHScreen)
52608
52621
  {
52609
- top=this.ChartBorder.GetRightEx();
52610
- bottom=this.ChartBorder.GetLeftEx();
52611
- height=this.ChartBorder.GetWidthEx();
52622
+ var chartright=border.BottomEx;
52623
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
52624
+ }
52625
+ else
52626
+ {
52627
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
52628
+ var chartright=border.RightEx;
52612
52629
  }
52613
52630
 
52614
- for(var i in showData)
52631
+ var mapBG=new Map(); //key= index, Value={ Start:{Left, Center, Right, Item:}, End:{ Left, Center, Right, Item:} }
52632
+ var startIndex=kData.DataOffset;
52633
+ for(var i=startIndex,j=0;i<kData.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
52615
52634
  {
52616
- var item=showData[i];
52617
- var rt=this.GetBGCoordinate(item,kLineMap);
52618
- if (!rt) continue;
52635
+ var kItem=kData.Data[i];
52636
+ var aryFind=this.FindMatchData(kItem);
52637
+ if (!aryFind) continue;
52619
52638
 
52620
- if (Array.isArray(item.Color))
52639
+ if (isMinute)
52621
52640
  {
52622
- var gradient;
52623
- if (isHScreen) gradient = this.Canvas.createLinearGradient(bottom,rt.Left, top, rt.Left);
52624
- else gradient = this.Canvas.createLinearGradient(rt.Left,top, rt.Left,bottom);
52625
- var offset=1/item.Color.length;
52626
- for(var i in item.Color)
52627
- {
52628
- gradient.addColorStop(i*offset, item.Color[i]);
52629
- }
52630
- this.Canvas.fillStyle=gradient;
52641
+ var x=this.ChartFrame.GetXFromIndex(j);
52642
+ var left=x;
52643
+ var right=x;
52631
52644
  }
52632
52645
  else
52633
52646
  {
52634
- this.Canvas.fillStyle=item.Color;
52647
+ var left=xOffset;
52648
+ var right=xOffset+dataWidth;
52649
+ var x=left+(right-left)/2;
52650
+ }
52651
+
52652
+ for(var k=0;k<aryFind.length;++k)
52653
+ {
52654
+ var findItem=aryFind[k];
52655
+ if (mapBG.has(findItem.Index))
52656
+ {
52657
+ var bgItem=mapBG.get(findItem.Index);
52658
+ bgItem.End.Left=left;
52659
+ bgItem.End.Right=right;
52660
+ bgItem.End.Item=findItem.Item;
52661
+ }
52662
+ else
52663
+ {
52664
+ mapBG.set(findItem.Index, { Item:findItem.Item, Start:{ Left:left, Right:right, Item:findItem.Item }, End:{ Left:left, Right:right, Item:findItem.Item }})
52665
+ }
52635
52666
  }
52667
+ }
52636
52668
 
52637
- if (isHScreen) this.Canvas.fillRect(ToFixedRect(bottom),ToFixedRect(rt.Left),ToFixedRect(height),ToFixedRect(rt.Width));
52638
- else this.Canvas.fillRect(ToFixedRect(rt.Left),ToFixedRect(top),ToFixedRect(rt.Width),ToFixedRect(height));
52669
+ if (mapBG.size>0)
52670
+ {
52671
+ this.Canvas.save();
52672
+ //this.ClipClient(bHScreen);
52673
+
52674
+ this.DrawBG(mapBG);
52675
+
52676
+ this.Canvas.restore();
52639
52677
  }
52640
52678
  }
52641
52679
 
52642
- this.GetShowData=function(first, end)
52680
+ this.FindMatchData=function(kItem)
52643
52681
  {
52644
- if (!IFrameSplitOperator.IsNonEmptyArray(this.Data)) return null;
52645
-
52646
- var aryData=[];
52682
+ var aryFind=[];
52647
52683
  for(var i=0;i<this.Data.length;++i)
52648
52684
  {
52649
52685
  var item=this.Data[i];
52650
- var showItem={ };
52651
- if (item.Start.Date>=first.Date && item.Start.Date<=end.Date) showItem.Start=item.Start;
52652
- if (item.End.Date>=first.Date && item.End.Date<=end.Date) showItem.End=item.End;
52653
-
52654
- if (item.Start.Date<first.Date && item.End.Date>end.Date)
52686
+ var start=item.Start;
52687
+ var end=item.End;
52688
+ var bMatch=false;
52689
+ if (IFrameSplitOperator.IsNumber(kItem.Date) && IFrameSplitOperator.IsNumber(kItem.Time))
52655
52690
  {
52656
- showItem.Start=first;
52657
- showItem.End=end;
52691
+ if (kItem.Date>start.Date && kItem.Date<end.Date)
52692
+ {
52693
+ bMatch=true;
52694
+ }
52695
+ else if (kItem.Date==start.Date && kItem.Date==end.Date)
52696
+ {
52697
+ if (kItem.Time>=start.Time && kItem.Time<=end.Time)bMatch=true;
52698
+ }
52699
+ else if (kItem.Date==start.Date)
52700
+ {
52701
+ if (kItem.Time>=start.Time) bMatch=true;
52702
+ }
52703
+ else if (kItem.Date==end.Date)
52704
+ {
52705
+ if ((kItem.Time<=end.Time)) bMatch=true;
52706
+ }
52658
52707
  }
52659
-
52660
-
52661
- if (showItem.Start || showItem.End)
52708
+ else if (IFrameSplitOperator.IsNumber(kItem.Date) && !IFrameSplitOperator.IsNumber(kItem.Time))
52662
52709
  {
52663
- showItem.Color=item.Color;
52664
- aryData.push(showItem);
52710
+ if (kItem.Date>=start.Date && kItem.Date<=end.Date) bMatch=true;
52665
52711
  }
52712
+
52713
+ if (bMatch) aryFind.push({ Index:i, Item:item });
52666
52714
  }
52667
52715
 
52668
- //JSConsole.Chart.Log('[BackgroundPaint::GetShowData] aryData ', aryData);
52669
- return aryData;
52716
+ if (aryFind.Length<=0) return null;
52717
+
52718
+ return aryFind;
52670
52719
  }
52671
52720
 
52672
- this.BuildKLineMap=function()
52721
+ this.DrawBG=function(mapBG)
52673
52722
  {
52674
- var isHScreen=(this.ChartSubFrame.IsHScreen===true);
52675
- var dataWidth=this.ChartSubFrame.DataWidth;
52676
- var distanceWidth=this.ChartSubFrame.DistanceWidth;
52677
- var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
52678
- if (isHScreen) xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
52679
- var chartright=this.ChartBorder.GetRight();
52680
- if (isHScreen) chartright=this.ChartBorder.GetBottom();
52681
-
52682
- var mapKLine={ Data:new Map() ,Start:null, End:null } ; //Key: date / date time, Value:索引
52683
- for(var i=this.KData.DataOffset,j=0; i<this.KData.Data.length && j<this.XPointCount; ++i,++j,xOffset+=(dataWidth+distanceWidth))
52723
+ for(var mapItem of mapBG)
52684
52724
  {
52685
- var kItem=this.KData.Data[i];
52686
- var left=xOffset;
52687
- var right=xOffset+dataWidth;
52688
- if (right>chartright) break;
52689
- var x=left+(right-left)/2;
52690
-
52691
- if (j==0) mapKLine.XLeft=left;
52692
- mapKLine.XRight=right;
52693
-
52694
- var value={ Index:i, ShowIndex:j , X:x, Right:right, Left:left, Date:kItem.Date };
52695
- if (ChartData.IsMinutePeriod(this.Period,true))
52696
- {
52697
- var key=`Date:${kItem.Date} Time:${kItem.Time}`;
52698
- value.Time=kItem.Time;
52699
- }
52700
- else
52725
+ var bgItem=mapItem[1];
52726
+ //this.DrawBGItem(this.SubFrame, bgItem);
52727
+
52728
+ for(var i=0;i<this.ChartFrame.SubFrame.length;++i)
52701
52729
  {
52702
- var key=`Date:${kItem.Date}`;
52730
+ var subFrame=this.ChartFrame.SubFrame[i].Frame;
52731
+ if (this.IsDrawAllFrame || this.SetDrawFrameID.has(i))
52732
+ {
52733
+ this.DrawBGItem(subFrame, bgItem);
52734
+ }
52703
52735
  }
52704
-
52705
- mapKLine.Data.set(key,value);
52706
-
52707
- //保存下起始和结束位置
52708
- if (j==0) mapKLine.Start=value;
52709
- mapKLine.End=value;
52710
52736
  }
52711
-
52712
- return mapKLine;
52713
52737
  }
52714
52738
 
52715
- this.GetBGCoordinate=function(item,kLineMap)
52739
+ this.DrawBGItem=function(frame, bgItem)
52716
52740
  {
52717
- var xLeft=null, xRight=null;
52718
- var isMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);
52719
- var bSingleDate=false;
52720
- //JSConsole.Chart.Log('[BackgroundPaint::GetBGCoordinate] item ', item);
52721
- if (isMinutePeriod)
52722
- {
52723
- if (item.Start && item.End && item.Start.Date==item.End.Date && item.Start.Time==item.End.Time) bSingleDate=true;
52724
- }
52725
- else
52726
- {
52727
- if (item.Start && item.End && item.Start.Date==item.End.Date) bSingleDate=true;
52728
- }
52729
-
52730
- if (bSingleDate)
52731
- {
52732
- if (isMinutePeriod)
52733
- var key=`Date:${item.Start.Date} Time:${item.Start.Time}`;
52734
- else
52735
- var key=`Date:${item.Start.Date}`;
52736
-
52737
- if (!kLineMap.Data.has(key)) return null;
52738
- var findItem=kLineMap.Data.get(key);
52739
- xLeft=findItem.Left;
52740
- xRight=findItem.Right;
52741
- return { Left:xLeft, Right:xRight, Width:xRight-xLeft };
52742
- }
52743
-
52744
- if (item.Start)
52741
+ var border=frame.GetBorder();
52742
+ if (this.IsHScreen)
52745
52743
  {
52746
- if (isMinutePeriod)
52747
- var key=`Date:${item.Start.Date} Time:${item.Start.Time}`;
52748
- else
52749
- var key=`Date:${item.Start.Date}`;
52750
-
52751
- if (kLineMap.Data.has(key))
52752
- {
52753
- var findItem=kLineMap.Data.get(key);
52754
- xLeft=findItem.Left;
52755
- }
52756
- else
52757
- {
52758
- if (isMinutePeriod)
52759
- {
52760
- if (item.Start.Date<kLineMap.Start.Date || (item.Start.Date==kLineMap.Start.Date && item.Start.Time<=kLineMap.Start.Time) )
52761
- {
52762
- xLeft=kLineMap.Start.Left;
52763
- }
52764
- else
52765
- {
52766
- for(var kItem of kLineMap.Data)
52767
- {
52768
- var value=kItem[1];
52769
- if (value.Date>item.Start.Date || (value.Date==item.Start.Date && value.Time>item.Start.Time))
52770
- {
52771
- xLeft=value.Left;
52772
- break;
52773
- }
52774
- }
52775
- }
52776
- }
52777
- else
52778
- {
52779
- if (item.Start.Date<=kLineMap.Start.Date)
52780
- {
52781
- xLeft=kLineMap.Start.Left;
52782
- }
52783
- else
52784
- {
52785
- for(var kItem of kLineMap.Data)
52786
- {
52787
- var value=kItem[1];
52788
- if (value.Date>item.Start.Date)
52789
- {
52790
- xLeft=value.Left;
52791
- break;
52792
- }
52793
- }
52794
- }
52795
- }
52796
- }
52744
+ var top=border.RightEx;
52745
+ var bottom=border.LeftEx;
52746
+ var left=border.Top;
52797
52747
  }
52798
52748
  else
52799
52749
  {
52800
- xLeft=kLineMap.XLeft;
52750
+ var top=border.TopEx;
52751
+ var bottom=border.BottomEx;
52752
+ var left=border.Left;
52801
52753
  }
52802
52754
 
52803
- if (item.End)
52755
+ if (this.IsHScreen)
52804
52756
  {
52805
- if (isMinutePeriod)
52806
- var key=`Date:${item.End.Date} Time:${item.End.Time}`;
52807
- else
52808
- var key=`Date:${item.End.Date}`;
52809
-
52810
- if (kLineMap.Data.has(key))
52811
- {
52812
- var findItem=kLineMap.Data.get(key);
52813
- xRight=findItem.Right;
52814
- }
52815
- else
52816
- {
52817
- if (isMinutePeriod)
52818
- {
52819
- if (item.End.Date<kLineMap.Start.Date || (item.End.Date==kLineMap.Start.Date && item.End.Time<kLineMap.Start.Time)) return null;
52820
-
52821
- if (item.End.Date<kLineMap.End.Date || (item.End.Date==kLineMap.End.Date && item.End.Time>=kLineMap.End.Time) )
52822
- {
52823
- xRight=kLineMap.End.Right;
52824
- }
52825
- else
52826
- {
52827
- var previousX=null;
52828
- for(var kItem of kLineMap.Data)
52829
- {
52830
- var value=kItem[1];
52831
- if (value.Date>item.End.Date || (value.Date==item.End.Date && value.Time>item.End.Time) )
52832
- {
52833
- xRight=previousX;
52834
- break;
52835
- }
52836
- previousX=value.Right;
52837
- }
52838
- }
52839
- }
52840
- else
52841
- {
52842
- if (item.End.Date<kLineMap.Start.Date) return null;
52843
-
52844
- if (item.End.Date<=kLineMap.End.Date)
52845
- {
52846
- xRight=kLineMap.End.Right;
52847
- }
52848
- else
52849
- {
52850
- var previousX=null;
52851
- for(var kItem of kLineMap.Data)
52852
- {
52853
- var value=kItem[1];
52854
- if (value.Date>item.End.Date)
52855
- {
52856
- xRight=previousX;
52857
- break;
52858
- }
52859
- previousX=value.Right;
52860
- }
52861
- }
52862
- }
52863
- }
52757
+ this.SetFillStyle(bgItem.Item.Color,top,left,bottom,left);
52758
+ var start=bgItem.Start;
52759
+ var end=bgItem.End;
52760
+ var rtBG={ Left:bottom, Right:top, Top:start.Left, Bottom:end.Right };
52761
+ rtBG.Width=rtBG.Right-rtBG.Left;
52762
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
52763
+ this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
52864
52764
  }
52865
52765
  else
52866
52766
  {
52867
- xRight=kLineMap.XRight;
52767
+ this.SetFillStyle(bgItem.Item.Color, left,top, left,bottom);
52768
+ var start=bgItem.Start;
52769
+ var end=bgItem.End;
52770
+ var rtBG={ Left:start.Left, Right:end.Right, Top:top, Bottom:bottom };
52771
+ rtBG.Width=rtBG.Right-rtBG.Left;
52772
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
52773
+ this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
52868
52774
  }
52869
-
52870
- if (xLeft==null || xRight==null) return null;
52871
-
52872
- return { Left:xLeft, Right:xRight, Width:xRight-xLeft };
52873
52775
  }
52874
52776
  }
52875
52777
 
52778
+
52876
52779
  function MinuteBackgroundPaint()
52877
52780
  {
52878
52781
  this.newMethod=IExtendChartPainting; //派生
@@ -62472,7 +62375,7 @@ function DynamicChartTitlePainting()
62472
62375
  var left=positionInfo.Left;
62473
62376
  var right=positionInfo.Right;
62474
62377
  var bottom=positionInfo.Bottom;
62475
-
62378
+ var pixelRatio=GetDevicePixelRatio();
62476
62379
  for(var i=0; i<this.Data.length; ++i)
62477
62380
  {
62478
62381
  var item=this.Data[i];
@@ -62491,7 +62394,9 @@ function DynamicChartTitlePainting()
62491
62394
  if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
62492
62395
  else text=titleItem.Text;
62493
62396
 
62494
- var space=this.ParamSpace*GetDevicePixelRatio();
62397
+ if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) left+=titleItem.LeftSpace*pixelRatio;
62398
+
62399
+ var space=this.ParamSpace*pixelRatio;
62495
62400
  var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
62496
62401
  var textWidth=indexTextWidth;
62497
62402
 
@@ -62567,7 +62472,7 @@ function DynamicChartTitlePainting()
62567
62472
  if (dyTitle) text=dyTitle+":"+valueText;
62568
62473
  else text=item.Name+":"+valueText;
62569
62474
  }
62570
- var space=this.ParamSpace*GetDevicePixelRatio();
62475
+ var space=this.ParamSpace*pixelRatio;
62571
62476
  var textWidth=this.Canvas.measureText(text).width+space;
62572
62477
  if ((left+textWidth)>right) break;
62573
62478
 
@@ -80143,12 +80048,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
80143
80048
  var item=option.PopMinuteChart;
80144
80049
  this.PopMinuteChart=new JSPopMinuteChart();
80145
80050
  this.PopMinuteChart.Inital(this, item);
80051
+ this.PopMinuteChart.Create();
80146
80052
  return true;
80147
80053
  }
80148
80054
  else if (option.KLine && option.KLine.KLineDoubleClick===true) //旧的格式 不要使用了
80149
80055
  {
80150
80056
  this.PopMinuteChart=new JSPopMinuteChart();
80151
80057
  this.PopMinuteChart.Inital(this);
80058
+ this.PopMinuteChart.Create();
80152
80059
  return true;
80153
80060
  }
80154
80061
 
@@ -92330,6 +92237,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
92330
92237
  chart.SetOption(option);
92331
92238
  this.ExtendChartPaint.push(chart);
92332
92239
  return chart;
92240
+ case "背景图":
92241
+ chart=new BackgroundPaint();
92242
+ chart.Canvas=this.Canvas;
92243
+ chart.ChartBorder=this.Frame.ChartBorder;
92244
+ chart.ChartFrame=this.Frame;
92245
+ chart.HQChart=this;
92246
+ chart.SetOption(option);
92247
+ this.ExtendChartPaint.push(chart);
92248
+ return chart;
92333
92249
  default:
92334
92250
  chart=g_ExtendChartPaintFactory.Create(name);
92335
92251
  if (!chart) return null;
@@ -143437,7 +143353,7 @@ function ScrollBarBGChart()
143437
143353
 
143438
143354
 
143439
143355
 
143440
- var HQCHART_VERSION="1.1.14424";
143356
+ var HQCHART_VERSION="1.1.14431";
143441
143357
 
143442
143358
  function PrintHQChartVersion()
143443
143359
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14424";
8
+ var HQCHART_VERSION="1.1.14431";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {