hqchart 1.1.15089 → 1.1.15104

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.
@@ -7036,6 +7036,8 @@ var JSCHART_EVENT_ID=
7036
7036
  ON_FORMAT_TVLONGPOSITION_LABEL:176,
7037
7037
 
7038
7038
  ON_FORMAT_COUNTDOWN_TEXT:177, //倒计时
7039
+ ON_CLICK_INDEX_LOCK:178, //点击指标锁
7040
+ ON_CORSSCURSOR_STATUS_CHANGE:179, //十字光标状态改变
7039
7041
  }
7040
7042
 
7041
7043
  var JSCHART_OPERATOR_ID=
@@ -7273,6 +7275,18 @@ var JSCHART_TRADE_STATUS_ID=
7273
7275
  SUSP_ID:1, //停牌
7274
7276
  }
7275
7277
 
7278
+ //十字光标状态
7279
+ var JSCHART_CORSSCURSOR_STATUS_ID=
7280
+ {
7281
+ NONE_ID:0,
7282
+ LINE_ID:1,
7283
+ LEFT_TEXT_ID:2,
7284
+ LEFT_INTER_TEXT_ID:4,
7285
+ RIGHT_TEXT_ID:8,
7286
+ RIGHT_INTER_TEXT_ID:16,
7287
+ BOTTOM_TEXT_ID:32,
7288
+ }
7289
+
7276
7290
 
7277
7291
  function PhoneDBClick()
7278
7292
  {
@@ -7489,6 +7503,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7489
7503
  //锁十字光标
7490
7504
  LockCorssCursor:{ X:{ Enable:false } },
7491
7505
 
7506
+ CorssCursorStatus:{ Value:null }, //十字光标状态 只读
7507
+
7492
7508
  //图形中的单元选中状态
7493
7509
  MapIndexChartCache:new Map(), //key 指标GUID
7494
7510
 
@@ -7655,6 +7671,29 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7655
7671
  this.BuySellData.ArySell=null;
7656
7672
  }
7657
7673
 
7674
+ this.UpdateCorssCursorStatus=function()
7675
+ {
7676
+ if (!this.ChartCorssCursor) return false;
7677
+ if (!this.GlobalOption || !this.GlobalOption.CorssCursorStatus) return false;
7678
+
7679
+ var status=this.ChartCorssCursor.Status;
7680
+
7681
+ //状态改变了
7682
+ if (this.GlobalOption.CorssCursorStatus.Value!=status)
7683
+ {
7684
+ this.GlobalOption.CorssCursorStatus.Value=status;
7685
+
7686
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CORSSCURSOR_STATUS_CHANGE);
7687
+ if (event && event.Callback)
7688
+ {
7689
+ var sendData={ Status:status, IsShowLine:(status&JSCHART_CORSSCURSOR_STATUS_ID.LINE_ID)>0 };
7690
+ event.Callback(event, sendData, this);
7691
+ }
7692
+ }
7693
+
7694
+ return true;
7695
+ }
7696
+
7658
7697
  this.InitalPopMenu=function() //初始化弹出窗口
7659
7698
  {
7660
7699
  if (this.JSPopMenu) return;
@@ -10622,6 +10661,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10622
10661
  this.Frame.ClearCoordinateText();
10623
10662
  this.Frame.Draw( { IsEnableSplash:this.ChartSplashPaint.IsEnableSplash} );
10624
10663
  this.ChartSplashPaint.Draw();
10664
+ this.UpdateCorssCursorStatus();
10625
10665
  return;
10626
10666
  }
10627
10667
 
@@ -10914,6 +10954,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10914
10954
  }
10915
10955
 
10916
10956
  ++this.TouchDrawCount;
10957
+
10958
+ this.UpdateCorssCursorStatus();
10917
10959
  }
10918
10960
 
10919
10961
  this.DrawExtendChartPaint=function(level, option)
@@ -11393,39 +11435,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11393
11435
  exChartOption.Tooltip=option.Tooltip;
11394
11436
  exChartOption.Point=option.Point;
11395
11437
  }
11396
- this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
11397
- /*
11398
- for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形 在动态标题以后画
11399
- {
11400
- var item=this.ExtendChartPaint[i];
11401
- if (item.IsCallbackDraw) continue;
11402
- if (item.DrawAfterPicture) continue;
11403
- if (item.ClassName=='KLineTooltipPaint' && option)
11404
- {
11405
- if (option.Tooltip==false) continue;
11406
- if (option.Point) item.LatestPoint=option.Point;
11407
- }
11408
- else if (item.ClassName=="MinuteTooltipPaint" && option)
11409
- {
11410
- if (option.Point) item.LatestPoint=option.Point;
11411
- }
11412
-
11413
- if (item.IsDynamic && item.DrawAfterTitle===true) item.Draw(moveonPoint, this.LastMouseStatus);
11414
- }
11415
- */
11416
11438
 
11439
+ this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
11440
+
11417
11441
  if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
11418
- /*
11419
- if (this.EnableAnimation)
11420
- {
11421
- for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
11422
- {
11423
- var item=this.ExtendChartPaint[i];
11424
- if (item.IsAnimation===true) item.Draw();
11425
- }
11426
- }
11427
- */
11428
-
11442
+
11429
11443
  for(var i=0;i<this.ChartDrawPicture.length;++i)
11430
11444
  {
11431
11445
  var item=this.ChartDrawPicture[i];
@@ -11451,15 +11465,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11451
11465
  }
11452
11466
 
11453
11467
  this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
11454
- /*
11455
- for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
11456
- {
11457
- var item=this.ExtendChartPaint[i];
11458
- if (item.DrawAfterPicture)
11459
- item.Draw();
11460
- }
11461
- */
11462
-
11468
+
11463
11469
  if (this.LastMouseStatus.MouseOnToolbar) //工具栏按钮提示信息
11464
11470
  {
11465
11471
  var frame=this.LastMouseStatus.MouseOnToolbar.Frame;
@@ -11471,6 +11477,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11471
11477
  if (bDrawDialogTooltip) this.DrawTooltipDialog();
11472
11478
 
11473
11479
  ++this.TouchDrawCount;
11480
+
11481
+ this.UpdateCorssCursorStatus();
11474
11482
  }
11475
11483
 
11476
11484
  this.DrawAnimation=function() //绘制动画 如弹幕
@@ -51926,7 +51934,6 @@ function ChartLock()
51926
51934
  delete this.newMethod;
51927
51935
 
51928
51936
  this.ClassName="ChartLock";
51929
- this.WidthDiv = 0.2; // 框子宽度占比
51930
51937
  this.LockCount = 20; // 锁最新的几个数据
51931
51938
  this.BGColor = g_JSChartResource.IndexLock.BGColor;
51932
51939
  this.TextColor = g_JSChartResource.IndexLock.TextColor;
@@ -51937,7 +51944,6 @@ function ChartLock()
51937
51944
  this.Callback; //回调
51938
51945
  this.IndexName; //指标名字
51939
51946
  this.IndexID; //指标ID
51940
- this.MinWidth=null; //最小宽度
51941
51947
 
51942
51948
 
51943
51949
  this.CalculateTextSize=function(aryText, defaultFont, out)
@@ -51953,9 +51959,25 @@ function ChartLock()
51953
51959
  var item=aryText[i];
51954
51960
  if (!item || !item.Text) continue;
51955
51961
  var textWidth=this.Canvas.measureText(item.Text).width;
51956
- if (width<textWidth) width=textWidth;
51957
- out.AryText.push({ Text:item.Text, Width:textWidth, Height:lineHeight, Color:item.Color });
51958
- height+=lineHeight;
51962
+
51963
+ var lineItem={ Text:item.Text, Width:textWidth, Height:lineHeight, Color:item.Color, TextMargin:{ Top:0, Bottom:0, Left:0, Right:0 }, YOffset:0 };
51964
+ if (IFrameSplitOperator.IsNumber(item.YOffset)) lineItem.YOffset=item.YOffset;
51965
+ if (item.TextMargin)
51966
+ {
51967
+ var margin=item.TextMargin;
51968
+ if (IFrameSplitOperator.IsNumber(margin.Top)) lineItem.TextMargin.Top=margin.Top;
51969
+ if (IFrameSplitOperator.IsNumber(margin.Bottom)) lineItem.TextMargin.Bottom=margin.Bottom;
51970
+ if (IFrameSplitOperator.IsNumber(margin.Left)) lineItem.TextMargin.Left=margin.Left;
51971
+ if (IFrameSplitOperator.IsNumber(margin.Right)) lineItem.TextMargin.Right=margin.Right;
51972
+ }
51973
+
51974
+ lineItem.Height+=lineItem.TextMargin.Top+lineItem.TextMargin.Bottom;
51975
+ lineItem.Width+=lineItem.TextMargin.Left+lineItem.TextMargin.Right;
51976
+
51977
+ if (width<lineItem.Width) width=lineItem.Width;
51978
+
51979
+ out.AryText.push(lineItem);
51980
+ height+=lineItem.Height;
51959
51981
  }
51960
51982
 
51961
51983
  out.Width=width;
@@ -51964,70 +51986,78 @@ function ChartLock()
51964
51986
  return true;
51965
51987
  }
51966
51988
 
51967
- this.Draw=function(isDraw)
51989
+ this.Draw=function(bDraw)
51968
51990
  {
51969
51991
  this.LockRect=null;
51992
+ if (!bDraw) return;
51970
51993
  if (this.NotSupportMessage)
51971
51994
  {
51972
51995
  this.DrawNotSupportmessage();
51973
51996
  return;
51974
51997
  }
51975
51998
 
51976
- if (this.ChartFrame.IsHScreen===true)
51999
+ var bHScreen=this.ChartFrame.IsHScreen;
52000
+ var bMinute=this.IsMinuteFrame();
52001
+ var dataWidth=this.ChartFrame.DataWidth;
52002
+ var distanceWidth=this.ChartFrame.DistanceWidth;
52003
+ var xPointCount=this.ChartFrame.XPointCount;
52004
+ var border=this.ChartFrame.GetBorder();
52005
+ if (bHScreen)
51977
52006
  {
51978
- this.HScreenDraw(isDraw);
51979
- return;
52007
+ var chartright=border.BottomEx;
52008
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
52009
+ }
52010
+ else
52011
+ {
52012
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
52013
+ var chartright=border.RightEx;
51980
52014
  }
51981
52015
 
51982
- var xOffset = this.ChartBorder.GetRight();
51983
- var border=this.ChartBorder.GetBorder();
51984
- var lOffsetWidth = 0;
51985
- if (this.ChartFrame.Data != null)
52016
+ var kData=this.ChartFrame.Data;
52017
+ var left=xOffset;
52018
+ if (kData && IFrameSplitOperator.IsNonEmptyArray(kData.Data))
51986
52019
  {
51987
- var dataWidth=this.ChartFrame.DataWidth;
51988
- var distanceWidth=this.ChartFrame.DistanceWidth;
51989
- xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;
51990
- var chartright=this.ChartBorder.GetRight();
51991
- var xPointCount=this.ChartFrame.XPointCount;
51992
- for(var i=this.ChartFrame.Data.DataOffset,j=0;i<this.ChartFrame.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
52020
+ for(var i=kData.DataOffset,j=0;i<kData.Data.length-this.LockCount && j<xPointCount-this.LockCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
51993
52021
  {
51994
- var data=this.ChartFrame.Data.Data[i];
51995
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
52022
+ var kItem=kData.Data[i];
52023
+ if (kItem.Open==null || kItem.High==null || kItem.Low==null || kItem.Close==null) continue;
51996
52024
 
51997
- var left=xOffset;
51998
- var right=xOffset+dataWidth;
51999
- if (right>chartright) break;
52025
+ if (bMinute)
52026
+ {
52027
+ left=this.ChartFrame.GetXFromIndex(j);
52028
+ }
52029
+ else
52030
+ {
52031
+ left=xOffset;
52032
+ var right=xOffset+dataWidth;
52033
+ if (right>chartright) break;
52034
+ }
52000
52035
  }
52001
- lOffsetWidth = (dataWidth + distanceWidth) * this.LockCount;
52002
52036
  }
52003
- if (lOffsetWidth == 0)
52037
+
52038
+ if (bHScreen)
52004
52039
  {
52005
- lOffsetWidth = (xOffset - this.ChartBorder.GetLeft()) * this.WidthDiv;
52006
- }
52007
- var lLeft = xOffset - lOffsetWidth;
52008
- if (lLeft < this.ChartBorder.GetLeft())
52009
- lLeft = this.ChartBorder.GetLeft();
52010
- var lWidth = this.ChartBorder.GetRight() - lLeft;
52040
+ var rtBG={ Left:border.Left, Right:border.RightEx, Top:left, Bottom:border.Bottom };
52041
+ rtBG.Width=rtBG.Right-rtBG.Left;
52042
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
52011
52043
 
52012
- if (this.MinWidth>10 && lWidth<this.MinWidth)
52044
+ var bgColor=this.SetFillStyle(this.BGColor, rtBG.Left, rtBG.Top, rtBG.Right, rtBG.Top);
52045
+ this.Canvas.fillStyle =bgColor;
52046
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
52047
+ this.LockRect=rtBG; //保存上锁区域
52048
+ }
52049
+ else
52013
52050
  {
52014
- lWidth=this.MinWidth;
52015
- lLeft=this.ChartBorder.GetRight()-lWidth;
52016
- if (lLeft < this.ChartBorder.GetLeft()) lLeft = this.ChartBorder.GetLeft();
52051
+ var rtBG={ Left:left, Right:border.RightEx, Top:border.TopTitle, Bottom:border.Bottom };
52052
+ rtBG.Width=rtBG.Right-rtBG.Left;
52053
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
52054
+ //上下渐变
52055
+ var bgColor=this.SetFillStyle(this.BGColor, rtBG.Left, rtBG.Top, rtBG.Left, rtBG.Bottom);
52056
+ this.Canvas.fillStyle =bgColor;
52057
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
52058
+ this.LockRect=rtBG; //保存上锁区域
52017
52059
  }
52018
52060
 
52019
- var rtBG={ Left:lLeft, Top:border.TopTitle, Bottom:border.Bottom, Width:lWidth };
52020
- rtBG.Right=rtBG.Width+rtBG.Left;
52021
- rtBG.Height=rtBG.Bottom-rtBG.Top;
52022
- this.LockRect=rtBG; //保存上锁区域
52023
-
52024
- if (!isDraw) return;
52025
-
52026
- //上下渐变
52027
- var bgColor=this.SetFillStyle(this.BGColor, rtBG.Left, rtBG.Top, rtBG.Left, rtBG.Bottom);
52028
- this.Canvas.fillStyle =bgColor;
52029
- this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
52030
-
52031
52061
  var aryText=null;
52032
52062
  if (Array.isArray(this.Title)) aryText=this.Title;
52033
52063
  else aryText=[{Text:this.Title}];
@@ -52035,85 +52065,57 @@ function ChartLock()
52035
52065
  var outSize={ };
52036
52066
  if (!this.CalculateTextSize(aryText, this.Font, outSize)) return;
52037
52067
 
52038
- var left=rtBG.Left+(rtBG.Width-outSize.Width)/2;
52039
- if (outSize.Width>rtBG.Width) left=rtBG.Right-outSize.Width;
52040
- var top=rtBG.Top+(rtBG.Height-outSize.Height)/2;
52041
-
52042
52068
  this.Canvas.textAlign='left';
52043
52069
  this.Canvas.textBaseline='bottom';
52044
52070
  this.Canvas.font = this.Font;
52045
- var yText=top;
52046
- for(var i=0;i<outSize.AryText.length;++i)
52071
+
52072
+ if (bHScreen)
52047
52073
  {
52048
- var item=outSize.AryText[i];
52049
- if (item.Color) this.Canvas.fillStyle=item.Color;
52050
- else this.Canvas.fillStyle=this.TextColor;
52074
+ var top=rtBG.Top+(rtBG.Height-outSize.Width)/2;
52075
+ if (outSize.Width>rtBG.Height) top=rtBG.Bottom-outSize.Width;
52076
+ var left=rtBG.Left+(rtBG.Width-outSize.Height)/2;
52051
52077
 
52052
- yText+=item.Height;
52053
- this.Canvas.fillText(item.Text, left, yText);
52054
- }
52055
- }
52078
+ this.Canvas.save();
52079
+ this.Canvas.translate(left, top);
52080
+ this.Canvas.rotate(90 * Math.PI / 180);
52081
+ var yText=0,xText=0;
52082
+ for(var i=0;i<outSize.AryText.length;++i)
52083
+ {
52084
+ var item=outSize.AryText[i];
52085
+ if (item.Color) this.Canvas.fillStyle=item.Color;
52086
+ else this.Canvas.fillStyle=this.TextColor;
52056
52087
 
52057
- this.HScreenDraw=function(isDraw)
52058
- {
52059
- var xOffset = this.ChartBorder.GetBottom();
52088
+ yText+=item.Height;
52089
+ this.Canvas.fillText(item.Text, xText, yText+item.YOffset);
52090
+ }
52060
52091
 
52061
- var lOffsetWidth = 0;
52062
- if (this.ChartFrame.Data != null)
52092
+ this.Canvas.restore();
52093
+ }
52094
+ else
52063
52095
  {
52064
- var dataWidth=this.ChartFrame.DataWidth;
52065
- var distanceWidth=this.ChartFrame.DistanceWidth;
52066
- xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;
52067
- var chartright=this.ChartBorder.GetBottom();
52068
- var xPointCount=this.ChartFrame.XPointCount;
52069
- //求最后1个数据的位置
52070
- for(var i=this.ChartFrame.Data.DataOffset,j=0;i<this.ChartFrame.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
52096
+ var left=rtBG.Left+(rtBG.Width-outSize.Width)/2;
52097
+ if (outSize.Width>rtBG.Width) left=rtBG.Right-outSize.Width;
52098
+ var top=rtBG.Top+(rtBG.Height-outSize.Height)/2;
52099
+
52100
+ var yText=top, xText=left;
52101
+ for(var i=0;i<outSize.AryText.length;++i)
52071
52102
  {
52072
- var data=this.ChartFrame.Data.Data[i];
52073
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
52103
+ var item=outSize.AryText[i];
52104
+ if (item.Color) this.Canvas.fillStyle=item.Color;
52105
+ else this.Canvas.fillStyle=this.TextColor;
52074
52106
 
52075
- var left=xOffset;
52076
- var right=xOffset+dataWidth;
52077
- if (right>chartright) break;
52078
- }
52079
- lOffsetWidth = (dataWidth + distanceWidth) * this.LockCount;
52080
- }
52081
- if (lOffsetWidth == 0)
52082
- {
52083
- lOffsetWidth = (xOffset - this.ChartBorder.GetTop()) * this.WidthDiv;
52107
+ yText+=item.Height;
52108
+ this.Canvas.fillText(item.Text, xText, yText+item.YOffset);
52109
+ }
52084
52110
  }
52085
-
52086
- var lLeft = xOffset - lOffsetWidth;
52087
- if (lLeft < this.ChartBorder.GetTop()) lLeft = this.ChartBorder.GetTop();
52088
- var lHeight = this.ChartBorder.GetRight()-this.ChartBorder.GetLeft();
52089
- var lWidth = this.ChartBorder.GetBottom() - lLeft;
52090
-
52091
- this.Canvas.fillStyle = this.BGColor;
52092
- this.Canvas.fillRect(this.ChartBorder.GetLeft(), lLeft,lHeight,lWidth);
52093
-
52094
- var xCenter = this.ChartBorder.GetLeft() + lHeight / 2;
52095
- var yCenter = lLeft + lWidth / 2;
52096
- this.Canvas.save();
52097
- this.Canvas.translate(xCenter, yCenter);
52098
- this.Canvas.rotate(90 * Math.PI / 180);
52099
- this.Canvas.textAlign = 'center';
52100
- this.Canvas.textBaseline = 'middle';
52101
- this.Canvas.fillStyle = this.TextColor;
52102
- this.Canvas.font = this.Font;
52103
- this.Canvas.fillText(this.Title, 0, 0);
52104
- this.Canvas.restore();
52105
-
52106
- this.LockRect={Left:this.ChartBorder.GetLeft(),Top:lLeft,Width:lHeight,Heigh:lWidth}; //保存上锁区域
52107
52111
  }
52108
52112
 
52109
52113
  //x,y是否在上锁区域
52110
52114
  this.GetTooltipData=function(x,y,tooltip)
52111
52115
  {
52112
- if (this.LockRect==null) return false;
52116
+ if (!this.LockRect) return false;
52113
52117
 
52114
- this.Canvas.beginPath();
52115
- this.Canvas.rect(this.LockRect.Left,this.LockRect.Top,this.LockRect.Width,this.LockRect.Height);
52116
- if (this.Canvas.isPointInPath(x,y))
52118
+ if (Path2DHelper.PtInRect(x,y,this.LockRect))
52117
52119
  {
52118
52120
  tooltip.Data={ ID:this.LockID, Callback:this.Callback, IndexName:this.IndexName, IndexID:this.IndexID };
52119
52121
  tooltip.ChartPaint=this;
@@ -62368,7 +62370,7 @@ function ChartCorssCursor()
62368
62370
 
62369
62371
  this.Draw=function()
62370
62372
  {
62371
- this.Status=0;
62373
+ this.Status=JSCHART_CORSSCURSOR_STATUS_ID.NONE_ID;
62372
62374
  this.RightButton.Rect=null;
62373
62375
  this.BottomButton.Rect=null;
62374
62376
  this.LastValue=null;
@@ -62515,6 +62517,7 @@ function ChartCorssCursor()
62515
62517
  }
62516
62518
  }
62517
62519
 
62520
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LINE_ID;
62518
62521
  this.Canvas.stroke();
62519
62522
  this.Canvas.restore();
62520
62523
 
@@ -62571,6 +62574,7 @@ function ChartCorssCursor()
62571
62574
  rtBG.Right=rtBG.Left+rtBG.Width;
62572
62575
  }
62573
62576
 
62577
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_TEXT_ID;
62574
62578
  }
62575
62579
  else if (this.ShowTextMode.Left==2) //在框架内显示
62576
62580
  {
@@ -62578,6 +62582,8 @@ function ChartCorssCursor()
62578
62582
  rtBG.Right=rtBG.Left+rtBG.Width;
62579
62583
  rtBG.Top=rtBG.YCenter-rtBG.Height/2;
62580
62584
  rtBG.Bottom=rtBG.Top+rtBG.Height;
62585
+
62586
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_INTER_TEXT_ID;
62581
62587
  }
62582
62588
 
62583
62589
  if (rtBG)
@@ -62587,6 +62593,7 @@ function ChartCorssCursor()
62587
62593
  this.Canvas.textBaseline="bottom";
62588
62594
  this.Canvas.fillStyle=this.TextColor;
62589
62595
  this.Canvas.fillText(text,rtBG.Left+textOffset.X, rtBG.Bottom+textOffset.Y);
62596
+
62590
62597
  }
62591
62598
 
62592
62599
  var complexText=
@@ -62708,6 +62715,8 @@ function ChartCorssCursor()
62708
62715
  this.DrawComplexRightText(rtBG,complexText,textSize);
62709
62716
 
62710
62717
  if (this.RightButton.Enable) this.DrawRightButtonV2(rtBG, complexText, textSize, buttonData);
62718
+
62719
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_TEXT_ID;
62711
62720
  }
62712
62721
  }
62713
62722
  else if (this.ShowTextMode.Right==2) //框架内侧显示
@@ -62721,6 +62730,8 @@ function ChartCorssCursor()
62721
62730
  this.DrawComplexRightText(rtBG,complexText,textSize);
62722
62731
 
62723
62732
  if (this.RightButton.Enable) this.DrawRightButtonV2(rtBG, complexText, textSize, buttonData);
62733
+
62734
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_INTER_TEXT_ID;
62724
62735
  }
62725
62736
  }
62726
62737
 
@@ -62786,6 +62797,8 @@ function ChartCorssCursor()
62786
62797
  if (this.StringFormatX.KItem) buttonData.KItem=this.StringFormatX.KItem;
62787
62798
  this.BottomButton.Rect=rtBG;
62788
62799
  this.BottomButton.Data=buttonData;
62800
+
62801
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.BOTTOM_TEXT_ID;
62789
62802
  }
62790
62803
  }
62791
62804
 
@@ -62834,8 +62847,6 @@ function ChartCorssCursor()
62834
62847
  this.Canvas.fillText(text,rtBG.Left+textOffset.X, rtBG.Bottom+textOffset.Y);
62835
62848
  }
62836
62849
  }
62837
-
62838
- this.Status=1;
62839
62850
  }
62840
62851
 
62841
62852
  this.DrawComplexRightText=function(rtBG, complexText, size)
@@ -63123,6 +63134,7 @@ function ChartCorssCursor()
63123
63134
 
63124
63135
  this.HScreenDraw=function()
63125
63136
  {
63137
+ this.Status=JSCHART_CORSSCURSOR_STATUS_ID.NONE_ID;
63126
63138
  var x=this.LastPoint.X;
63127
63139
  var y=this.LastPoint.Y;
63128
63140
 
@@ -63216,6 +63228,8 @@ function ChartCorssCursor()
63216
63228
  }
63217
63229
  }
63218
63230
 
63231
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LINE_ID;
63232
+
63219
63233
  this.Canvas.stroke();
63220
63234
  this.Canvas.restore();
63221
63235
 
@@ -63276,6 +63290,8 @@ function ChartCorssCursor()
63276
63290
  }
63277
63291
 
63278
63292
  this.Canvas.restore();
63293
+
63294
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_TEXT_ID;
63279
63295
  }
63280
63296
  else if (this.ShowTextMode.Left==2)
63281
63297
  {
@@ -63293,6 +63309,8 @@ function ChartCorssCursor()
63293
63309
  this.Canvas.fillText(text,2,0,textWidth);
63294
63310
 
63295
63311
  this.Canvas.restore();
63312
+
63313
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_INTER_TEXT_ID;
63296
63314
  }
63297
63315
 
63298
63316
  if (this.StringFormatY.RText)
@@ -63363,6 +63381,8 @@ function ChartCorssCursor()
63363
63381
  }
63364
63382
 
63365
63383
  this.Canvas.restore();
63384
+
63385
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_TEXT_ID;
63366
63386
  }
63367
63387
  else if (this.ShowTextMode.Right==2)
63368
63388
  {
@@ -63380,6 +63400,8 @@ function ChartCorssCursor()
63380
63400
  this.Canvas.fillText(text,-2,0,textWidth);
63381
63401
 
63382
63402
  this.Canvas.restore();
63403
+
63404
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_INTER_TEXT_ID;
63383
63405
  }
63384
63406
  }
63385
63407
 
@@ -63453,10 +63475,10 @@ function ChartCorssCursor()
63453
63475
 
63454
63476
  this.Canvas.restore();
63455
63477
  }
63478
+
63479
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.BOTTOM_TEXT_ID;
63456
63480
  }
63457
63481
  }
63458
-
63459
- this.Status=1;
63460
63482
  }
63461
63483
 
63462
63484
  //data={ e:e, PreventDefault:false, KeyID, Draw:是否需要重绘 }
@@ -63528,6 +63550,7 @@ function ChartCorssCursor()
63528
63550
  }
63529
63551
 
63530
63552
 
63553
+
63531
63554
  ////////////////////////////////////////////////////////////////////////////////
63532
63555
  //深度图十字光标
63533
63556
  function DepthChartCorssCursor()
@@ -90713,6 +90736,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
90713
90736
  if (!item.Frame.LockPaint.GetTooltipData(x,y,tooltip)) continue;
90714
90737
 
90715
90738
  tooltip.HQChart=this;
90739
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
90740
+ if (event && event.Callback)
90741
+ {
90742
+ var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
90743
+ event.Callback(event,sendData,this);
90744
+ }
90745
+
90716
90746
  if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
90717
90747
  return true;
90718
90748
  }
@@ -165752,7 +165782,7 @@ function HQChartScriptWorker()
165752
165782
 
165753
165783
 
165754
165784
 
165755
- var HQCHART_VERSION="1.1.15088";
165785
+ var HQCHART_VERSION="1.1.15103";
165756
165786
 
165757
165787
  function PrintHQChartVersion()
165758
165788
  {
@@ -165918,6 +165948,7 @@ export default {
165918
165948
  JSCHART_WORKER_MESSAGE_ID:JSCHART_WORKER_MESSAGE_ID,
165919
165949
  JSCHART_MENU_ID:JSCHART_MENU_ID,
165920
165950
  JSCHART_TRADE_STATUS_ID:JSCHART_TRADE_STATUS_ID, //交易状态
165951
+ JSCHART_CORSSCURSOR_STATUS_ID:JSCHART_CORSSCURSOR_STATUS_ID, //十字光标状态
165921
165952
  },
165922
165953
 
165923
165954