hqchart 1.1.13227 → 1.1.13238

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.
@@ -9170,6 +9170,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9170
9170
 
9171
9171
  //更新滚动条
9172
9172
  if (typeof(this.UpdateScrollBar)=='function') this.UpdateScrollBar();
9173
+
9174
+ if (this.LastMouseStatus.MouseOnToolbar) //工具栏按钮提示信息
9175
+ {
9176
+ var frame=this.LastMouseStatus.MouseOnToolbar.Frame;
9177
+ if (frame && frame.DrawToolbarTooltip) frame.DrawToolbarTooltip(this.LastMouseStatus.MouseOnToolbar);
9178
+ }
9173
9179
 
9174
9180
  //发送图形状态给外部
9175
9181
  if (this.mapEvent.has(JSCHART_EVENT_ID.CHART_STATUS))
@@ -14454,11 +14460,12 @@ function AverageWidthFrame()
14454
14460
 
14455
14461
  this.Canvas.font=this.ButtonTooltip.Font;
14456
14462
  this.Canvas.textAlign="left";
14457
- this.Canvas.textBaseline="middle";
14463
+ this.Canvas.textBaseline="bottom";
14458
14464
 
14459
- var textWidth=this.Canvas.measureText(text).width+8;
14465
+ var mergin= this.ButtonTooltip.Mergin;
14466
+ var textWidth=this.Canvas.measureText(text).width+mergin.Left+mergin.Right;
14460
14467
  var textHeight=this.GetFontHeight();
14461
- var bgHeight=textHeight+10;
14468
+ var bgHeight=textHeight+mergin.Top+mergin.Bottom;
14462
14469
  if (mouseOnToolbar.ID=="TitleButton")
14463
14470
  {
14464
14471
  var x=mouseOnToolbar.Point.X;
@@ -14484,14 +14491,33 @@ function AverageWidthFrame()
14484
14491
  if (y<0) y=border.TopEx+1;
14485
14492
  if (x+textWidth>border.ChartWidth) x=border.ChartWidth-textWidth-2;
14486
14493
  }
14487
-
14488
-
14489
14494
 
14490
- this.Canvas.fillStyle=this.ButtonTooltip.ColorBG;
14491
- this.Canvas.fillRect(x,y,textWidth,bgHeight); //画一个背景色, 不然是一个黑的背景
14495
+ if (IFrameSplitOperator.IsNumber(this.ButtonTooltip.BorderRadius)) //圆角
14496
+ {
14497
+ var roundRadius=this.ButtonTooltip.BorderRadius;
14498
+ this.Canvas.beginPath();
14499
+ this.Canvas.roundRect(ToFixedPoint(x), ToFixedPoint(y), ToFixedRect(textWidth), ToFixedRect(bgHeight), [roundRadius]);
14500
+ this.Canvas.closePath();
14492
14501
 
14493
- this.Canvas.fillStyle=this.ButtonTooltip.Color;
14494
- this.Canvas.fillText(text, x+4,y+bgHeight/2);
14502
+ this.Canvas.fillStyle=this.ButtonTooltip.ColorBG;
14503
+ this.Canvas.fill();
14504
+
14505
+ this.Canvas.strokeStyle=this.ButtonTooltip.ColorBorder;
14506
+ this.Canvas.stroke();
14507
+
14508
+ this.Canvas.fillStyle=this.ButtonTooltip.Color;
14509
+ this.Canvas.fillText(text, x+mergin.Left, y+bgHeight-mergin.Bottom);
14510
+ }
14511
+ else
14512
+ {
14513
+ this.Canvas.fillStyle=this.ButtonTooltip.ColorBG;
14514
+ this.Canvas.fillRect(x,y,textWidth,bgHeight); //画一个背景色, 不然是一个黑的背景
14515
+ this.Canvas.fillStyle=this.ButtonTooltip.Color;
14516
+ this.Canvas.fillText(text, x+mergin.Left,y+bgHeight-mergin.Bottom);
14517
+ }
14518
+
14519
+
14520
+
14495
14521
  }
14496
14522
 
14497
14523
  //isLimit 是否限制在当前坐标下
@@ -29685,6 +29711,10 @@ function ChartKLine()
29685
29711
 
29686
29712
  this.Draw=function()
29687
29713
  {
29714
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
29715
+ if (this.IsShowIndexTitleOnly()) return;
29716
+ if (this.IsHideScriptIndex()) return;
29717
+
29688
29718
  this.IsShowOrderText=false;
29689
29719
  this.TooltipRect=[];
29690
29720
  this.InfoTooltipRect=[];
@@ -35069,7 +35099,9 @@ function ChartPointDot()
35069
35099
 
35070
35100
  this.Draw=function()
35071
35101
  {
35072
- if (!this.IsShow || this.ChartFrame.IsMinSize) return;
35102
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
35103
+ if (this.IsShowIndexTitleOnly()) return;
35104
+ if (this.IsHideScriptIndex()) return;
35073
35105
 
35074
35106
  if (this.NotSupportMessage)
35075
35107
  {
@@ -35899,7 +35931,9 @@ function ChartStickLine()
35899
35931
 
35900
35932
  this.Draw=function()
35901
35933
  {
35902
- if (this.ChartFrame.IsMinSize) return;
35934
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
35935
+ if (this.IsShowIndexTitleOnly()) return;
35936
+ if (this.IsHideScriptIndex()) return;
35903
35937
 
35904
35938
  if (this.NotSupportMessage)
35905
35939
  {
@@ -39000,7 +39034,9 @@ function ChartBand()
39000
39034
 
39001
39035
  this.Draw=function()
39002
39036
  {
39003
- if (this.ChartFrame.IsMinSize) return;
39037
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
39038
+ if (this.IsShowIndexTitleOnly()) return;
39039
+ if (this.IsHideScriptIndex()) return;
39004
39040
 
39005
39041
  if (this.NotSupportMessage)
39006
39042
  {
@@ -52976,15 +53012,17 @@ function ChartCorssCursor()
52976
53012
  this.DrawRightButton=function(drawTop, drawRight, drawWidth, drawHeight, data)
52977
53013
  {
52978
53014
  this.Canvas.fillStyle=this.RightButton.BGColor;
52979
- var rtButtom={Left:drawRight-drawWidth, Top:drawTop, Width:drawWidth, Height:drawHeight };
52980
- this.RightButton.Rect=rtButtom;
53015
+ var rtButton={Left:drawRight-drawWidth, Top:drawTop, Width:drawWidth, Height:drawHeight };
53016
+ rtButton.Right=rtButton.Left+rtButton.Width;
53017
+ rtButton.Bottom=rtButton.Top+rtButton.Height;
53018
+ this.RightButton.Rect=rtButton;
52981
53019
  this.RightButton.Data=data;
52982
- this.Canvas.fillRect(ToFixedPoint(rtButtom.Left+1),ToFixedPoint(rtButtom.Top),ToFixedRect(rtButtom.Width),ToFixedRect(rtButtom.Height));
53020
+ this.Canvas.fillRect(ToFixedPoint(rtButton.Left+1),ToFixedPoint(rtButton.Top),ToFixedRect(rtButton.Width),ToFixedRect(rtButton.Height));
52983
53021
 
52984
53022
  var pixelRatio=GetDevicePixelRatio();
52985
53023
  var spaceWidth=3;
52986
- var yCenter=(rtButtom.Top+spaceWidth)+(rtButtom.Height-spaceWidth*2)/2;
52987
- var xCenter=(rtButtom.Left+spaceWidth)+(rtButtom.Width-spaceWidth*2)/2;
53024
+ var yCenter=(rtButton.Top+spaceWidth)+(rtButton.Height-spaceWidth*2)/2;
53025
+ var xCenter=(rtButton.Left+spaceWidth)+(rtButton.Width-spaceWidth*2)/2;
52988
53026
 
52989
53027
  if (this.RightButton.Icon)
52990
53028
  {
@@ -53005,10 +53043,10 @@ function ChartCorssCursor()
53005
53043
  this.Canvas.linewidth=1*pixelRatio;
53006
53044
  this.Canvas.beginPath();
53007
53045
  this.Canvas.moveTo(ToFixedPoint(x), ToFixedPoint(yCenter));
53008
- this.Canvas.lineTo(ToFixedPoint(x+rtButtom.Width-spaceWidth*2), ToFixedPoint(yCenter));
53046
+ this.Canvas.lineTo(ToFixedPoint(x+rtButton.Width-spaceWidth*2), ToFixedPoint(yCenter));
53009
53047
 
53010
53048
  this.Canvas.moveTo(ToFixedPoint(xCenter),ToFixedPoint(y));
53011
- this.Canvas.lineTo(ToFixedPoint(xCenter), ToFixedPoint(y+rtButtom.Height-spaceWidth*2));
53049
+ this.Canvas.lineTo(ToFixedPoint(xCenter), ToFixedPoint(y+rtButton.Height-spaceWidth*2));
53012
53050
 
53013
53051
  this.Canvas.stroke();
53014
53052
  this.Canvas.restore();
@@ -68622,10 +68660,12 @@ function JSChartResource()
68622
68660
 
68623
68661
  Tooltip:
68624
68662
  {
68625
- Font:14*GetDevicePixelRatio() +"px 微软雅黑",
68626
- Color:'rgb(255,255,255)',
68627
- ColorBG:'rgb(42,46,57)',
68628
- ColorBorder:'rgb(0,0,0)'
68663
+ Font:13*GetDevicePixelRatio() +"px 微软雅黑",
68664
+ Color:'rgb(71,71,71)',
68665
+ ColorBG:'rgb(255,255,255)',
68666
+ ColorBorder:'rgb(0,0,0)',
68667
+ BorderRadius:2,
68668
+ Mergin:{ Left:4, Right:4, Top:2, Bottom:3 },
68629
68669
  }
68630
68670
  }
68631
68671
 
@@ -69926,6 +69966,24 @@ function JSChartResource()
69926
69966
  T_SetButtonStyle(buttons.MaxMinWindow, this.Buttons.MaxMinWindow);
69927
69967
  T_SetButtonStyle(buttons.TitleWindow, this.Buttons.TitleWindow);
69928
69968
  T_SetButtonStyle(buttons.ExportData, this.Buttons.ExportData);
69969
+
69970
+ if (buttons.Tooltip)
69971
+ {
69972
+ var item=buttons.Tooltip;
69973
+ var src=this.Buttons.Tooltip;
69974
+ if (item.Font) src.Font=item.Font;
69975
+ if (item.Color) src.Color=item.Color;
69976
+ if (item.ColorBG) src.ColorBG=item.ColorBG;
69977
+ if (item.ColorBorder) src.ColorBorder=item.ColorBorder;
69978
+ if (item.BorderRadius) src.BorderRadius=item.BorderRadius;
69979
+ if (item.Margin)
69980
+ {
69981
+ if (IFrameSplitOperator.IsNumber(item.Margin.Left)) src.Margin.Left=item.Margin.Left;
69982
+ if (IFrameSplitOperator.IsNumber(item.Margin.Top)) src.Margin.Top=item.Margin.Top;
69983
+ if (IFrameSplitOperator.IsNumber(item.Margin.Bottom)) src.Margin.Bottom=item.Margin.Bottom;
69984
+ if (IFrameSplitOperator.IsNumber(item.Margin.Right)) src.Margin.Right=item.Margin.Right;
69985
+ }
69986
+ }
69929
69987
  }
69930
69988
 
69931
69989
  if (style.ChartDrawVolProfile)
@@ -71262,7 +71320,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
71262
71320
  this.TickApiUrl=g_JSChartResource.Domain+'/API/StockDetail'; //当天分笔数据
71263
71321
 
71264
71322
  this.MinuteDialog; //双击历史K线 弹出分钟走势图
71265
- this.RightMenu; //右键菜单
71266
71323
 
71267
71324
  this.BeforeBindMainData=null; //function(funcName) 在BindMainData() 调用前回调用
71268
71325
  this.AfterBindMainData=null; //function(funcName) 在BindMainData() 调用前后调用
@@ -76684,6 +76741,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76684
76741
  {
76685
76742
  var windowCount=this.Frame.SubFrame.length; //窗口个数
76686
76743
  var klineChart=this.ChartPaint[0];
76744
+ var klineType=klineChart.DrawType;
76745
+ var bThinAKBar=klineChart.IsThinAKBar;
76687
76746
  var priceGap=klineChart.PriceGap; //缺口配置信息
76688
76747
  var coordinateType=null, yCoordinateType=null; //坐标类型
76689
76748
  var mainFrame=null;
@@ -76816,17 +76875,17 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
76816
76875
  Name:"主图线型",
76817
76876
  SubMenu:
76818
76877
  [
76819
- { Name:"K线(空心阳线)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[3]} },
76820
- { Name:"K线(实心阳线)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[0]} },
76821
- { Name:"美国线", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[2, true, { IsThinAKBar:false }]} },
76822
- { Name:"美国线(细)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[2, true, { IsThinAKBar:true }]} },
76823
- { Name:"收盘线", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[1]} },
76824
- { Name:"收盘面积", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[4]} },
76825
- { Name:"K线(空心阳线阴线)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[6]} },
76826
- { Name:"Heikin Ashi", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[11]} },
76827
- { Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]} },
76828
- { Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]} },
76829
- { Name:"HLC Area", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[15]} },
76878
+ { Name:"K线(空心阳线)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[3]}, Checked:klineType==0 },
76879
+ { Name:"K线(实心阳线)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[0]}, Checked:klineType==3 },
76880
+ { Name:"美国线", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[2, true, { IsThinAKBar:false }]}, Checked:(klineType==2&&!bThinAKBar) },
76881
+ { Name:"美国线(细)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[2, true, { IsThinAKBar:true }]}, Checked:(klineType==2&&bThinAKBar) },
76882
+ { Name:"收盘线", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[1]}, Checked:klineType==1},
76883
+ { Name:"收盘面积", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[4]}, Checked:klineType==4 },
76884
+ { Name:"K线(空心阳线阴线)", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[6]}, Checked:klineType==6 },
76885
+ { Name:"Heikin Ashi", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[11]}, Checked:klineType==11 },
76886
+ { Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
76887
+ { Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
76888
+ { Name:"HLC Area", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[15]}, Checked:klineType==15 },
76830
76889
  ]
76831
76890
  },
76832
76891
  {
@@ -105144,6 +105203,11 @@ function JSDraw(errorHandler,symbolData)
105144
105203
  return offset;
105145
105204
  }
105146
105205
 
105206
+ this.KLINETYPE=function(type)
105207
+ {
105208
+ return type;
105209
+ }
105210
+
105147
105211
  this.FIRSTDRAW=function(value)
105148
105212
  {
105149
105213
  return value;
@@ -111911,6 +111975,7 @@ function JSExecute(ast,option)
111911
111975
  var vLineConfig=null;
111912
111976
  var isFirstDraw=null;
111913
111977
  let xOffset=null, yOffset=null;
111978
+ var klineType=null;
111914
111979
  for(let j=0; j<item.Expression.Expression.length; ++j)
111915
111980
  {
111916
111981
  let itemExpression=item.Expression.Expression[j];
@@ -112068,6 +112133,10 @@ function JSExecute(ast,option)
112068
112133
  vLineConfig=itemExpression.Draw;
112069
112134
  varName=null;
112070
112135
  }
112136
+ else if (itemExpression.Callee.Name=="KLINETYPE")
112137
+ {
112138
+ klineType=itemExpression.Out;
112139
+ }
112071
112140
  }
112072
112141
  }
112073
112142
  else if (itemExpression.Type==Syntax.BinaryExpression)
@@ -112215,6 +112284,7 @@ function JSExecute(ast,option)
112215
112284
  if (IFrameSplitOperator.IsNumber(xOffset)) outVar.XOffset=xOffset;
112216
112285
  if (IFrameSplitOperator.IsNumber(yOffset)) outVar.YOffset=yOffset;
112217
112286
  if (IFrameSplitOperator.IsBool(isFirstDraw)) outVar.IsFirstDraw=isFirstDraw;
112287
+ if (IFrameSplitOperator.IsNumber(klineType)) outVar.KLineType=klineType;
112218
112288
  this.OutVarTable.push(outVar);
112219
112289
  }
112220
112290
  else if (varName)
@@ -112654,6 +112724,9 @@ function JSExecute(ast,option)
112654
112724
  node.Draw=this.Draw.DRAWKLINE_IF(args[0],args[1],args[2],args[3],args[4]);
112655
112725
  node.Out=[];
112656
112726
  break;
112727
+ case "KLINETYPE": //K线类型 和DRAWKLINE连用
112728
+ node.Out=this.Draw.KLINETYPE(args[0]);
112729
+ break;
112657
112730
  case "DRAWOVERLAYKLINE":
112658
112731
  node.Draw=this.Draw.DRAWOVERLAYKLINE(args[0],args[1],args[2],args[3]);
112659
112732
  node.Out=[];
@@ -115387,6 +115460,7 @@ function ScriptIndex(name,script,args,option)
115387
115460
 
115388
115461
  if (IFrameSplitOperator.IsBool(varItem.IsFirstDraw)) chart.IsDrawFirst=varItem.IsFirstDraw;
115389
115462
 
115463
+ this.SetChartIndexName(chart);
115390
115464
  hqChart.ChartPaint.push(chart);
115391
115465
  }
115392
115466
 
@@ -115453,10 +115527,12 @@ function ScriptIndex(name,script,args,option)
115453
115527
  chart.Data.Data=varItem.Draw.DrawData;
115454
115528
  chart.IsShowMaxMinPrice=false;
115455
115529
  chart.IsShowKTooltip=false;
115530
+ if (IFrameSplitOperator.IsNumber(varItem.KLineType)) chart.DrawType=varItem.KLineType;
115456
115531
 
115457
115532
  if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
115458
115533
  chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
115459
115534
 
115535
+ this.SetChartIndexName(chart);
115460
115536
  hqChart.ChartPaint.push(chart);
115461
115537
  }
115462
115538
 
@@ -117296,6 +117372,7 @@ function OverlayScriptIndex(name,script,args,option)
117296
117372
 
117297
117373
  if (IFrameSplitOperator.IsBool(varItem.IsFirstDraw)) chart.IsDrawFirst=varItem.IsFirstDraw;
117298
117374
 
117375
+ this.SetChartIndexName(chart);
117299
117376
  frame.ChartPaint.push(chart);
117300
117377
  }
117301
117378
 
@@ -120888,6 +120965,16 @@ function GetBlackStyle()
120888
120965
  {
120889
120966
  MoveOnColor:"rgb(255,255,255)",
120890
120967
  Color:"rgb(156,156,156)"
120968
+ },
120969
+
120970
+ Tooltip:
120971
+ {
120972
+ //Font:12*GetDevicePixelRatio() +"px 微软雅黑",
120973
+ Color:'rgb(204,204,204)',
120974
+ ColorBG:'rgb(32,32,32)',
120975
+ ColorBorder:'rgb(69,69,69)',
120976
+ //BorderRadius:4,
120977
+ //Mergin:{ Left:4, Right:4, Top:2, Bottom:4 },
120891
120978
  }
120892
120979
  },
120893
120980
 
@@ -132023,7 +132110,7 @@ function ScrollBarBGChart()
132023
132110
 
132024
132111
 
132025
132112
 
132026
- var HQCHART_VERSION="1.1.13225";
132113
+ var HQCHART_VERSION="1.1.13237";
132027
132114
 
132028
132115
  function PrintHQChartVersion()
132029
132116
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13225";
8
+ var HQCHART_VERSION="1.1.13237";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {