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.
@@ -2896,6 +2896,8 @@ var JSCHART_EVENT_ID=
2896
2896
  ON_FORMAT_TVLONGPOSITION_LABEL:176,
2897
2897
 
2898
2898
  ON_FORMAT_COUNTDOWN_TEXT:177, //倒计时
2899
+ ON_CLICK_INDEX_LOCK:178, //点击指标锁
2900
+ ON_CORSSCURSOR_STATUS_CHANGE:179, //十字光标状态改变
2899
2901
  }
2900
2902
 
2901
2903
  var JSCHART_OPERATOR_ID=
@@ -3133,6 +3135,18 @@ var JSCHART_TRADE_STATUS_ID=
3133
3135
  SUSP_ID:1, //停牌
3134
3136
  }
3135
3137
 
3138
+ //十字光标状态
3139
+ var JSCHART_CORSSCURSOR_STATUS_ID=
3140
+ {
3141
+ NONE_ID:0,
3142
+ LINE_ID:1,
3143
+ LEFT_TEXT_ID:2,
3144
+ LEFT_INTER_TEXT_ID:4,
3145
+ RIGHT_TEXT_ID:8,
3146
+ RIGHT_INTER_TEXT_ID:16,
3147
+ BOTTOM_TEXT_ID:32,
3148
+ }
3149
+
3136
3150
 
3137
3151
  function PhoneDBClick()
3138
3152
  {
@@ -3349,6 +3363,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
3349
3363
  //锁十字光标
3350
3364
  LockCorssCursor:{ X:{ Enable:false } },
3351
3365
 
3366
+ CorssCursorStatus:{ Value:null }, //十字光标状态 只读
3367
+
3352
3368
  //图形中的单元选中状态
3353
3369
  MapIndexChartCache:new Map(), //key 指标GUID
3354
3370
 
@@ -3515,6 +3531,29 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
3515
3531
  this.BuySellData.ArySell=null;
3516
3532
  }
3517
3533
 
3534
+ this.UpdateCorssCursorStatus=function()
3535
+ {
3536
+ if (!this.ChartCorssCursor) return false;
3537
+ if (!this.GlobalOption || !this.GlobalOption.CorssCursorStatus) return false;
3538
+
3539
+ var status=this.ChartCorssCursor.Status;
3540
+
3541
+ //状态改变了
3542
+ if (this.GlobalOption.CorssCursorStatus.Value!=status)
3543
+ {
3544
+ this.GlobalOption.CorssCursorStatus.Value=status;
3545
+
3546
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CORSSCURSOR_STATUS_CHANGE);
3547
+ if (event && event.Callback)
3548
+ {
3549
+ var sendData={ Status:status, IsShowLine:(status&JSCHART_CORSSCURSOR_STATUS_ID.LINE_ID)>0 };
3550
+ event.Callback(event, sendData, this);
3551
+ }
3552
+ }
3553
+
3554
+ return true;
3555
+ }
3556
+
3518
3557
  this.InitalPopMenu=function() //初始化弹出窗口
3519
3558
  {
3520
3559
  if (this.JSPopMenu) return;
@@ -6482,6 +6521,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6482
6521
  this.Frame.ClearCoordinateText();
6483
6522
  this.Frame.Draw( { IsEnableSplash:this.ChartSplashPaint.IsEnableSplash} );
6484
6523
  this.ChartSplashPaint.Draw();
6524
+ this.UpdateCorssCursorStatus();
6485
6525
  return;
6486
6526
  }
6487
6527
 
@@ -6774,6 +6814,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6774
6814
  }
6775
6815
 
6776
6816
  ++this.TouchDrawCount;
6817
+
6818
+ this.UpdateCorssCursorStatus();
6777
6819
  }
6778
6820
 
6779
6821
  this.DrawExtendChartPaint=function(level, option)
@@ -7253,39 +7295,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7253
7295
  exChartOption.Tooltip=option.Tooltip;
7254
7296
  exChartOption.Point=option.Point;
7255
7297
  }
7256
- this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
7257
- /*
7258
- for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形 在动态标题以后画
7259
- {
7260
- var item=this.ExtendChartPaint[i];
7261
- if (item.IsCallbackDraw) continue;
7262
- if (item.DrawAfterPicture) continue;
7263
- if (item.ClassName=='KLineTooltipPaint' && option)
7264
- {
7265
- if (option.Tooltip==false) continue;
7266
- if (option.Point) item.LatestPoint=option.Point;
7267
- }
7268
- else if (item.ClassName=="MinuteTooltipPaint" && option)
7269
- {
7270
- if (option.Point) item.LatestPoint=option.Point;
7271
- }
7272
-
7273
- if (item.IsDynamic && item.DrawAfterTitle===true) item.Draw(moveonPoint, this.LastMouseStatus);
7274
- }
7275
- */
7276
7298
 
7299
+ this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
7300
+
7277
7301
  if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
7278
- /*
7279
- if (this.EnableAnimation)
7280
- {
7281
- for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
7282
- {
7283
- var item=this.ExtendChartPaint[i];
7284
- if (item.IsAnimation===true) item.Draw();
7285
- }
7286
- }
7287
- */
7288
-
7302
+
7289
7303
  for(var i=0;i<this.ChartDrawPicture.length;++i)
7290
7304
  {
7291
7305
  var item=this.ChartDrawPicture[i];
@@ -7311,15 +7325,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7311
7325
  }
7312
7326
 
7313
7327
  this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
7314
- /*
7315
- for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
7316
- {
7317
- var item=this.ExtendChartPaint[i];
7318
- if (item.DrawAfterPicture)
7319
- item.Draw();
7320
- }
7321
- */
7322
-
7328
+
7323
7329
  if (this.LastMouseStatus.MouseOnToolbar) //工具栏按钮提示信息
7324
7330
  {
7325
7331
  var frame=this.LastMouseStatus.MouseOnToolbar.Frame;
@@ -7331,6 +7337,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7331
7337
  if (bDrawDialogTooltip) this.DrawTooltipDialog();
7332
7338
 
7333
7339
  ++this.TouchDrawCount;
7340
+
7341
+ this.UpdateCorssCursorStatus();
7334
7342
  }
7335
7343
 
7336
7344
  this.DrawAnimation=function() //绘制动画 如弹幕
@@ -47786,7 +47794,6 @@ function ChartLock()
47786
47794
  delete this.newMethod;
47787
47795
 
47788
47796
  this.ClassName="ChartLock";
47789
- this.WidthDiv = 0.2; // 框子宽度占比
47790
47797
  this.LockCount = 20; // 锁最新的几个数据
47791
47798
  this.BGColor = g_JSChartResource.IndexLock.BGColor;
47792
47799
  this.TextColor = g_JSChartResource.IndexLock.TextColor;
@@ -47797,7 +47804,6 @@ function ChartLock()
47797
47804
  this.Callback; //回调
47798
47805
  this.IndexName; //指标名字
47799
47806
  this.IndexID; //指标ID
47800
- this.MinWidth=null; //最小宽度
47801
47807
 
47802
47808
 
47803
47809
  this.CalculateTextSize=function(aryText, defaultFont, out)
@@ -47813,9 +47819,25 @@ function ChartLock()
47813
47819
  var item=aryText[i];
47814
47820
  if (!item || !item.Text) continue;
47815
47821
  var textWidth=this.Canvas.measureText(item.Text).width;
47816
- if (width<textWidth) width=textWidth;
47817
- out.AryText.push({ Text:item.Text, Width:textWidth, Height:lineHeight, Color:item.Color });
47818
- height+=lineHeight;
47822
+
47823
+ var lineItem={ Text:item.Text, Width:textWidth, Height:lineHeight, Color:item.Color, TextMargin:{ Top:0, Bottom:0, Left:0, Right:0 }, YOffset:0 };
47824
+ if (IFrameSplitOperator.IsNumber(item.YOffset)) lineItem.YOffset=item.YOffset;
47825
+ if (item.TextMargin)
47826
+ {
47827
+ var margin=item.TextMargin;
47828
+ if (IFrameSplitOperator.IsNumber(margin.Top)) lineItem.TextMargin.Top=margin.Top;
47829
+ if (IFrameSplitOperator.IsNumber(margin.Bottom)) lineItem.TextMargin.Bottom=margin.Bottom;
47830
+ if (IFrameSplitOperator.IsNumber(margin.Left)) lineItem.TextMargin.Left=margin.Left;
47831
+ if (IFrameSplitOperator.IsNumber(margin.Right)) lineItem.TextMargin.Right=margin.Right;
47832
+ }
47833
+
47834
+ lineItem.Height+=lineItem.TextMargin.Top+lineItem.TextMargin.Bottom;
47835
+ lineItem.Width+=lineItem.TextMargin.Left+lineItem.TextMargin.Right;
47836
+
47837
+ if (width<lineItem.Width) width=lineItem.Width;
47838
+
47839
+ out.AryText.push(lineItem);
47840
+ height+=lineItem.Height;
47819
47841
  }
47820
47842
 
47821
47843
  out.Width=width;
@@ -47824,70 +47846,78 @@ function ChartLock()
47824
47846
  return true;
47825
47847
  }
47826
47848
 
47827
- this.Draw=function(isDraw)
47849
+ this.Draw=function(bDraw)
47828
47850
  {
47829
47851
  this.LockRect=null;
47852
+ if (!bDraw) return;
47830
47853
  if (this.NotSupportMessage)
47831
47854
  {
47832
47855
  this.DrawNotSupportmessage();
47833
47856
  return;
47834
47857
  }
47835
47858
 
47836
- if (this.ChartFrame.IsHScreen===true)
47859
+ var bHScreen=this.ChartFrame.IsHScreen;
47860
+ var bMinute=this.IsMinuteFrame();
47861
+ var dataWidth=this.ChartFrame.DataWidth;
47862
+ var distanceWidth=this.ChartFrame.DistanceWidth;
47863
+ var xPointCount=this.ChartFrame.XPointCount;
47864
+ var border=this.ChartFrame.GetBorder();
47865
+ if (bHScreen)
47837
47866
  {
47838
- this.HScreenDraw(isDraw);
47839
- return;
47867
+ var chartright=border.BottomEx;
47868
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
47869
+ }
47870
+ else
47871
+ {
47872
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
47873
+ var chartright=border.RightEx;
47840
47874
  }
47841
47875
 
47842
- var xOffset = this.ChartBorder.GetRight();
47843
- var border=this.ChartBorder.GetBorder();
47844
- var lOffsetWidth = 0;
47845
- if (this.ChartFrame.Data != null)
47876
+ var kData=this.ChartFrame.Data;
47877
+ var left=xOffset;
47878
+ if (kData && IFrameSplitOperator.IsNonEmptyArray(kData.Data))
47846
47879
  {
47847
- var dataWidth=this.ChartFrame.DataWidth;
47848
- var distanceWidth=this.ChartFrame.DistanceWidth;
47849
- xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;
47850
- var chartright=this.ChartBorder.GetRight();
47851
- var xPointCount=this.ChartFrame.XPointCount;
47852
- for(var i=this.ChartFrame.Data.DataOffset,j=0;i<this.ChartFrame.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
47880
+ for(var i=kData.DataOffset,j=0;i<kData.Data.length-this.LockCount && j<xPointCount-this.LockCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
47853
47881
  {
47854
- var data=this.ChartFrame.Data.Data[i];
47855
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
47882
+ var kItem=kData.Data[i];
47883
+ if (kItem.Open==null || kItem.High==null || kItem.Low==null || kItem.Close==null) continue;
47856
47884
 
47857
- var left=xOffset;
47858
- var right=xOffset+dataWidth;
47859
- if (right>chartright) break;
47885
+ if (bMinute)
47886
+ {
47887
+ left=this.ChartFrame.GetXFromIndex(j);
47888
+ }
47889
+ else
47890
+ {
47891
+ left=xOffset;
47892
+ var right=xOffset+dataWidth;
47893
+ if (right>chartright) break;
47894
+ }
47860
47895
  }
47861
- lOffsetWidth = (dataWidth + distanceWidth) * this.LockCount;
47862
47896
  }
47863
- if (lOffsetWidth == 0)
47897
+
47898
+ if (bHScreen)
47864
47899
  {
47865
- lOffsetWidth = (xOffset - this.ChartBorder.GetLeft()) * this.WidthDiv;
47866
- }
47867
- var lLeft = xOffset - lOffsetWidth;
47868
- if (lLeft < this.ChartBorder.GetLeft())
47869
- lLeft = this.ChartBorder.GetLeft();
47870
- var lWidth = this.ChartBorder.GetRight() - lLeft;
47900
+ var rtBG={ Left:border.Left, Right:border.RightEx, Top:left, Bottom:border.Bottom };
47901
+ rtBG.Width=rtBG.Right-rtBG.Left;
47902
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
47871
47903
 
47872
- if (this.MinWidth>10 && lWidth<this.MinWidth)
47904
+ var bgColor=this.SetFillStyle(this.BGColor, rtBG.Left, rtBG.Top, rtBG.Right, rtBG.Top);
47905
+ this.Canvas.fillStyle =bgColor;
47906
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
47907
+ this.LockRect=rtBG; //保存上锁区域
47908
+ }
47909
+ else
47873
47910
  {
47874
- lWidth=this.MinWidth;
47875
- lLeft=this.ChartBorder.GetRight()-lWidth;
47876
- if (lLeft < this.ChartBorder.GetLeft()) lLeft = this.ChartBorder.GetLeft();
47911
+ var rtBG={ Left:left, Right:border.RightEx, Top:border.TopTitle, Bottom:border.Bottom };
47912
+ rtBG.Width=rtBG.Right-rtBG.Left;
47913
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
47914
+ //上下渐变
47915
+ var bgColor=this.SetFillStyle(this.BGColor, rtBG.Left, rtBG.Top, rtBG.Left, rtBG.Bottom);
47916
+ this.Canvas.fillStyle =bgColor;
47917
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
47918
+ this.LockRect=rtBG; //保存上锁区域
47877
47919
  }
47878
47920
 
47879
- var rtBG={ Left:lLeft, Top:border.TopTitle, Bottom:border.Bottom, Width:lWidth };
47880
- rtBG.Right=rtBG.Width+rtBG.Left;
47881
- rtBG.Height=rtBG.Bottom-rtBG.Top;
47882
- this.LockRect=rtBG; //保存上锁区域
47883
-
47884
- if (!isDraw) return;
47885
-
47886
- //上下渐变
47887
- var bgColor=this.SetFillStyle(this.BGColor, rtBG.Left, rtBG.Top, rtBG.Left, rtBG.Bottom);
47888
- this.Canvas.fillStyle =bgColor;
47889
- this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
47890
-
47891
47921
  var aryText=null;
47892
47922
  if (Array.isArray(this.Title)) aryText=this.Title;
47893
47923
  else aryText=[{Text:this.Title}];
@@ -47895,85 +47925,57 @@ function ChartLock()
47895
47925
  var outSize={ };
47896
47926
  if (!this.CalculateTextSize(aryText, this.Font, outSize)) return;
47897
47927
 
47898
- var left=rtBG.Left+(rtBG.Width-outSize.Width)/2;
47899
- if (outSize.Width>rtBG.Width) left=rtBG.Right-outSize.Width;
47900
- var top=rtBG.Top+(rtBG.Height-outSize.Height)/2;
47901
-
47902
47928
  this.Canvas.textAlign='left';
47903
47929
  this.Canvas.textBaseline='bottom';
47904
47930
  this.Canvas.font = this.Font;
47905
- var yText=top;
47906
- for(var i=0;i<outSize.AryText.length;++i)
47931
+
47932
+ if (bHScreen)
47907
47933
  {
47908
- var item=outSize.AryText[i];
47909
- if (item.Color) this.Canvas.fillStyle=item.Color;
47910
- else this.Canvas.fillStyle=this.TextColor;
47934
+ var top=rtBG.Top+(rtBG.Height-outSize.Width)/2;
47935
+ if (outSize.Width>rtBG.Height) top=rtBG.Bottom-outSize.Width;
47936
+ var left=rtBG.Left+(rtBG.Width-outSize.Height)/2;
47911
47937
 
47912
- yText+=item.Height;
47913
- this.Canvas.fillText(item.Text, left, yText);
47914
- }
47915
- }
47938
+ this.Canvas.save();
47939
+ this.Canvas.translate(left, top);
47940
+ this.Canvas.rotate(90 * Math.PI / 180);
47941
+ var yText=0,xText=0;
47942
+ for(var i=0;i<outSize.AryText.length;++i)
47943
+ {
47944
+ var item=outSize.AryText[i];
47945
+ if (item.Color) this.Canvas.fillStyle=item.Color;
47946
+ else this.Canvas.fillStyle=this.TextColor;
47916
47947
 
47917
- this.HScreenDraw=function(isDraw)
47918
- {
47919
- var xOffset = this.ChartBorder.GetBottom();
47948
+ yText+=item.Height;
47949
+ this.Canvas.fillText(item.Text, xText, yText+item.YOffset);
47950
+ }
47920
47951
 
47921
- var lOffsetWidth = 0;
47922
- if (this.ChartFrame.Data != null)
47952
+ this.Canvas.restore();
47953
+ }
47954
+ else
47923
47955
  {
47924
- var dataWidth=this.ChartFrame.DataWidth;
47925
- var distanceWidth=this.ChartFrame.DistanceWidth;
47926
- xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;
47927
- var chartright=this.ChartBorder.GetBottom();
47928
- var xPointCount=this.ChartFrame.XPointCount;
47929
- //求最后1个数据的位置
47930
- for(var i=this.ChartFrame.Data.DataOffset,j=0;i<this.ChartFrame.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
47956
+ var left=rtBG.Left+(rtBG.Width-outSize.Width)/2;
47957
+ if (outSize.Width>rtBG.Width) left=rtBG.Right-outSize.Width;
47958
+ var top=rtBG.Top+(rtBG.Height-outSize.Height)/2;
47959
+
47960
+ var yText=top, xText=left;
47961
+ for(var i=0;i<outSize.AryText.length;++i)
47931
47962
  {
47932
- var data=this.ChartFrame.Data.Data[i];
47933
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
47963
+ var item=outSize.AryText[i];
47964
+ if (item.Color) this.Canvas.fillStyle=item.Color;
47965
+ else this.Canvas.fillStyle=this.TextColor;
47934
47966
 
47935
- var left=xOffset;
47936
- var right=xOffset+dataWidth;
47937
- if (right>chartright) break;
47938
- }
47939
- lOffsetWidth = (dataWidth + distanceWidth) * this.LockCount;
47940
- }
47941
- if (lOffsetWidth == 0)
47942
- {
47943
- lOffsetWidth = (xOffset - this.ChartBorder.GetTop()) * this.WidthDiv;
47967
+ yText+=item.Height;
47968
+ this.Canvas.fillText(item.Text, xText, yText+item.YOffset);
47969
+ }
47944
47970
  }
47945
-
47946
- var lLeft = xOffset - lOffsetWidth;
47947
- if (lLeft < this.ChartBorder.GetTop()) lLeft = this.ChartBorder.GetTop();
47948
- var lHeight = this.ChartBorder.GetRight()-this.ChartBorder.GetLeft();
47949
- var lWidth = this.ChartBorder.GetBottom() - lLeft;
47950
-
47951
- this.Canvas.fillStyle = this.BGColor;
47952
- this.Canvas.fillRect(this.ChartBorder.GetLeft(), lLeft,lHeight,lWidth);
47953
-
47954
- var xCenter = this.ChartBorder.GetLeft() + lHeight / 2;
47955
- var yCenter = lLeft + lWidth / 2;
47956
- this.Canvas.save();
47957
- this.Canvas.translate(xCenter, yCenter);
47958
- this.Canvas.rotate(90 * Math.PI / 180);
47959
- this.Canvas.textAlign = 'center';
47960
- this.Canvas.textBaseline = 'middle';
47961
- this.Canvas.fillStyle = this.TextColor;
47962
- this.Canvas.font = this.Font;
47963
- this.Canvas.fillText(this.Title, 0, 0);
47964
- this.Canvas.restore();
47965
-
47966
- this.LockRect={Left:this.ChartBorder.GetLeft(),Top:lLeft,Width:lHeight,Heigh:lWidth}; //保存上锁区域
47967
47971
  }
47968
47972
 
47969
47973
  //x,y是否在上锁区域
47970
47974
  this.GetTooltipData=function(x,y,tooltip)
47971
47975
  {
47972
- if (this.LockRect==null) return false;
47976
+ if (!this.LockRect) return false;
47973
47977
 
47974
- this.Canvas.beginPath();
47975
- this.Canvas.rect(this.LockRect.Left,this.LockRect.Top,this.LockRect.Width,this.LockRect.Height);
47976
- if (this.Canvas.isPointInPath(x,y))
47978
+ if (Path2DHelper.PtInRect(x,y,this.LockRect))
47977
47979
  {
47978
47980
  tooltip.Data={ ID:this.LockID, Callback:this.Callback, IndexName:this.IndexName, IndexID:this.IndexID };
47979
47981
  tooltip.ChartPaint=this;
@@ -58228,7 +58230,7 @@ function ChartCorssCursor()
58228
58230
 
58229
58231
  this.Draw=function()
58230
58232
  {
58231
- this.Status=0;
58233
+ this.Status=JSCHART_CORSSCURSOR_STATUS_ID.NONE_ID;
58232
58234
  this.RightButton.Rect=null;
58233
58235
  this.BottomButton.Rect=null;
58234
58236
  this.LastValue=null;
@@ -58375,6 +58377,7 @@ function ChartCorssCursor()
58375
58377
  }
58376
58378
  }
58377
58379
 
58380
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LINE_ID;
58378
58381
  this.Canvas.stroke();
58379
58382
  this.Canvas.restore();
58380
58383
 
@@ -58431,6 +58434,7 @@ function ChartCorssCursor()
58431
58434
  rtBG.Right=rtBG.Left+rtBG.Width;
58432
58435
  }
58433
58436
 
58437
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_TEXT_ID;
58434
58438
  }
58435
58439
  else if (this.ShowTextMode.Left==2) //在框架内显示
58436
58440
  {
@@ -58438,6 +58442,8 @@ function ChartCorssCursor()
58438
58442
  rtBG.Right=rtBG.Left+rtBG.Width;
58439
58443
  rtBG.Top=rtBG.YCenter-rtBG.Height/2;
58440
58444
  rtBG.Bottom=rtBG.Top+rtBG.Height;
58445
+
58446
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_INTER_TEXT_ID;
58441
58447
  }
58442
58448
 
58443
58449
  if (rtBG)
@@ -58447,6 +58453,7 @@ function ChartCorssCursor()
58447
58453
  this.Canvas.textBaseline="bottom";
58448
58454
  this.Canvas.fillStyle=this.TextColor;
58449
58455
  this.Canvas.fillText(text,rtBG.Left+textOffset.X, rtBG.Bottom+textOffset.Y);
58456
+
58450
58457
  }
58451
58458
 
58452
58459
  var complexText=
@@ -58568,6 +58575,8 @@ function ChartCorssCursor()
58568
58575
  this.DrawComplexRightText(rtBG,complexText,textSize);
58569
58576
 
58570
58577
  if (this.RightButton.Enable) this.DrawRightButtonV2(rtBG, complexText, textSize, buttonData);
58578
+
58579
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_TEXT_ID;
58571
58580
  }
58572
58581
  }
58573
58582
  else if (this.ShowTextMode.Right==2) //框架内侧显示
@@ -58581,6 +58590,8 @@ function ChartCorssCursor()
58581
58590
  this.DrawComplexRightText(rtBG,complexText,textSize);
58582
58591
 
58583
58592
  if (this.RightButton.Enable) this.DrawRightButtonV2(rtBG, complexText, textSize, buttonData);
58593
+
58594
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_INTER_TEXT_ID;
58584
58595
  }
58585
58596
  }
58586
58597
 
@@ -58646,6 +58657,8 @@ function ChartCorssCursor()
58646
58657
  if (this.StringFormatX.KItem) buttonData.KItem=this.StringFormatX.KItem;
58647
58658
  this.BottomButton.Rect=rtBG;
58648
58659
  this.BottomButton.Data=buttonData;
58660
+
58661
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.BOTTOM_TEXT_ID;
58649
58662
  }
58650
58663
  }
58651
58664
 
@@ -58694,8 +58707,6 @@ function ChartCorssCursor()
58694
58707
  this.Canvas.fillText(text,rtBG.Left+textOffset.X, rtBG.Bottom+textOffset.Y);
58695
58708
  }
58696
58709
  }
58697
-
58698
- this.Status=1;
58699
58710
  }
58700
58711
 
58701
58712
  this.DrawComplexRightText=function(rtBG, complexText, size)
@@ -58983,6 +58994,7 @@ function ChartCorssCursor()
58983
58994
 
58984
58995
  this.HScreenDraw=function()
58985
58996
  {
58997
+ this.Status=JSCHART_CORSSCURSOR_STATUS_ID.NONE_ID;
58986
58998
  var x=this.LastPoint.X;
58987
58999
  var y=this.LastPoint.Y;
58988
59000
 
@@ -59076,6 +59088,8 @@ function ChartCorssCursor()
59076
59088
  }
59077
59089
  }
59078
59090
 
59091
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LINE_ID;
59092
+
59079
59093
  this.Canvas.stroke();
59080
59094
  this.Canvas.restore();
59081
59095
 
@@ -59136,6 +59150,8 @@ function ChartCorssCursor()
59136
59150
  }
59137
59151
 
59138
59152
  this.Canvas.restore();
59153
+
59154
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_TEXT_ID;
59139
59155
  }
59140
59156
  else if (this.ShowTextMode.Left==2)
59141
59157
  {
@@ -59153,6 +59169,8 @@ function ChartCorssCursor()
59153
59169
  this.Canvas.fillText(text,2,0,textWidth);
59154
59170
 
59155
59171
  this.Canvas.restore();
59172
+
59173
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.LEFT_INTER_TEXT_ID;
59156
59174
  }
59157
59175
 
59158
59176
  if (this.StringFormatY.RText)
@@ -59223,6 +59241,8 @@ function ChartCorssCursor()
59223
59241
  }
59224
59242
 
59225
59243
  this.Canvas.restore();
59244
+
59245
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_TEXT_ID;
59226
59246
  }
59227
59247
  else if (this.ShowTextMode.Right==2)
59228
59248
  {
@@ -59240,6 +59260,8 @@ function ChartCorssCursor()
59240
59260
  this.Canvas.fillText(text,-2,0,textWidth);
59241
59261
 
59242
59262
  this.Canvas.restore();
59263
+
59264
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.RIGHT_INTER_TEXT_ID;
59243
59265
  }
59244
59266
  }
59245
59267
 
@@ -59313,10 +59335,10 @@ function ChartCorssCursor()
59313
59335
 
59314
59336
  this.Canvas.restore();
59315
59337
  }
59338
+
59339
+ this.Status|=JSCHART_CORSSCURSOR_STATUS_ID.BOTTOM_TEXT_ID;
59316
59340
  }
59317
59341
  }
59318
-
59319
- this.Status=1;
59320
59342
  }
59321
59343
 
59322
59344
  //data={ e:e, PreventDefault:false, KeyID, Draw:是否需要重绘 }
@@ -59388,6 +59410,7 @@ function ChartCorssCursor()
59388
59410
  }
59389
59411
 
59390
59412
 
59413
+
59391
59414
  ////////////////////////////////////////////////////////////////////////////////
59392
59415
  //深度图十字光标
59393
59416
  function DepthChartCorssCursor()
@@ -86573,6 +86596,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
86573
86596
  if (!item.Frame.LockPaint.GetTooltipData(x,y,tooltip)) continue;
86574
86597
 
86575
86598
  tooltip.HQChart=this;
86599
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
86600
+ if (event && event.Callback)
86601
+ {
86602
+ var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
86603
+ event.Callback(event,sendData,this);
86604
+ }
86605
+
86576
86606
  if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
86577
86607
  return true;
86578
86608
  }