hqchart 1.1.13606 → 1.1.13623

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.
@@ -4617,7 +4617,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4617
4617
 
4618
4618
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
4619
4619
  else item.TitleHeight=chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
4620
- if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
4620
+ if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) frame.IsShowTitleArrow=item.IsShowTitleArrow;
4621
+ if (IFrameSplitOperator.IsNumber(item.TitleArrowType)) frame.TitleArrowType=item.TitleArrowType;
4621
4622
  if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
4622
4623
  if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
4623
4624
  if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
@@ -5086,7 +5087,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5086
5087
  if (IFrameSplitOperator.IsBool(item.IsDrawTitleBG)) chart.Frame.SubFrame[index].Frame.IsDrawTitleBG=item.IsDrawTitleBG;
5087
5088
  if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[index].Frame.IsShowNameArrow=item.IsShowNameArrow;
5088
5089
 
5089
- if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[index].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
5090
+ if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) frame.IsShowTitleArrow=item.IsShowTitleArrow;
5091
+ if (IFrameSplitOperator.IsNumber(item.TitleArrowType)) frame.TitleArrowType=item.TitleArrowType;
5090
5092
  if (item.IsShowIndexName==false) chart.Frame.SubFrame[index].Frame.IsShowIndexName=false;
5091
5093
  if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[index].Frame.IsShowOverlayIndexName=false;
5092
5094
  if (!IFrameSplitOperator.IsUndefined(item.HorizontalReserved)) frame.HorizontalReserved=item.HorizontalReserved;
@@ -5497,7 +5499,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5497
5499
  if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;
5498
5500
 
5499
5501
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
5500
-
5501
5502
  if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
5502
5503
  if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
5503
5504
  if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
@@ -6537,6 +6538,7 @@ var JSCHART_EVENT_ID=
6537
6538
  ON_FORMAT_CALL_AUCTION_INDEX_TITLE:153, //集合竞价指标窗口标题内容
6538
6539
 
6539
6540
  ON_FORMAT_KLINE_HIGH_LOW_TITLE:154, //K线最高最低价格式化内容
6541
+ ON_CUSTOM_CORSSCURSOR_POSITION:155, //自定义十字光标X轴的输出的位置
6540
6542
  }
6541
6543
 
6542
6544
  var JSCHART_OPERATOR_ID=
@@ -12321,6 +12323,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12321
12323
  else windowItem.TitleHeight=frame.ChartBorder.TitleHeight;
12322
12324
 
12323
12325
  if (IFrameSplitOperator.IsBool(windowItem.IsShowTitleArrow)) frame.IsShowTitleArrow=windowItem.IsShowTitleArrow;
12326
+ if (IFrameSplitOperator.IsNumber(windowItem.TitleArrowType)) frame.TitleArrowType=windowItem.TitleArrowType;
12324
12327
  if (IFrameSplitOperator.IsBool(windowItem.IsShowIndexName)) frame.IsShowIndexName=windowItem.IsShowIndexName;
12325
12328
  if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
12326
12329
  if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
@@ -12383,6 +12386,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12383
12386
  if (IFrameSplitOperator.IsNumber(option.SplitCount)) subFrame.Frame.YSplitOperator.SplitCount=option.SplitCount;
12384
12387
  if (IFrameSplitOperator.IsNumber(option.TitleHeight)) subFrame.Frame.ChartBorder.TitleHeight=option.TitleHeight;
12385
12388
  if (IFrameSplitOperator.IsBool(option.IsShowTitleArrow)) subFrame.Frame.IsShowTitleArrow=option.IsShowTitleArrow;
12389
+ if (IFrameSplitOperator.IsNumber(option.TitleArrowType)) subFrame.Frame.TitleArrowType=option.TitleArrowType;
12386
12390
  if (IFrameSplitOperator.IsBool(option.IsShowIndexName)) subFrame.Frame.IsShowIndexName=option.IsShowIndexName;
12387
12391
  if (IFrameSplitOperator.IsBool(option.IsShowOverlayIndexName)) subFrame.Frame.IsShowOverlayIndexName=option.IsShowOverlayIndexName;
12388
12392
  if (IFrameSplitOperator.IsNumber(option.IndexParamSpace)) subFrame.Frame.IndexParamSpace=option.IndexParamSpace;
@@ -14222,7 +14226,8 @@ function IChartFramePainting()
14222
14226
 
14223
14227
  this.YSpecificMaxMin=null; //指定Y轴最大最小值
14224
14228
  this.IsShowBorder = true; //是否显示边框
14225
- this.IsShowTitleArrow=true; //是否显示指标信息上涨下跌箭头
14229
+ this.IsShowTitleArrow=g_JSChartResource.IndexTitle.EnableIndexArrow; //是否显示指标信息上涨下跌箭头
14230
+ this.TitleArrowType=g_JSChartResource.IndexTitle.ArrowType; //指标信息上涨下跌箭头类型 0=独立颜色 1=跟指标名字颜色一致
14226
14231
  this.IsShowIndexName=true; //是否显示指标名字
14227
14232
  this.IsShowOverlayIndexName=true; //是否显示叠加指标名字
14228
14233
  //this.OverlayIndexType= { Position:0, LineSpace:5 };
@@ -50355,6 +50360,22 @@ IFrameSplitOperator.IsNumber=function(value)
50355
50360
  return typeof(value)=='number';
50356
50361
  }
50357
50362
 
50363
+ //批量判断是否是数值类型
50364
+ IFrameSplitOperator.IsNumberV2=function(...aryValue)
50365
+ {
50366
+ if (!aryValue) return false;
50367
+ if (aryValue.length==0) return false;
50368
+
50369
+ for(const value of aryValue)
50370
+ {
50371
+ if (value==null) return false;
50372
+ if (isNaN(value)) return false;
50373
+ if (typeof(value)!='number') return false;
50374
+ }
50375
+
50376
+ return true;
50377
+ }
50378
+
50358
50379
  //判断是否是正数
50359
50380
  IFrameSplitOperator.IsPlusNumber=function(value)
50360
50381
  {
@@ -53645,8 +53666,8 @@ function ChartCorssCursor()
53645
53666
  }
53646
53667
  }
53647
53668
 
53648
- //X轴 Bottom=10 使用第1个指标框位置
53649
- if ((this.ShowTextMode.Bottom==1 || this.ShowTextMode.Bottom==2 || this.ShowTextMode.Bottom==10) && this.StringFormatX.Operator())
53669
+ //X轴 Bottom==8 自定义
53670
+ if ((this.ShowTextMode.Bottom==1 || this.ShowTextMode.Bottom==2 || this.ShowTextMode.Bottom==8) && this.StringFormatX.Operator())
53650
53671
  {
53651
53672
  var text=this.StringFormatX.Text;
53652
53673
  this.Canvas.font=this.Font;
@@ -53655,49 +53676,53 @@ function ChartCorssCursor()
53655
53676
 
53656
53677
  var yCenter=bottom+2+this.TextHeight/2;
53657
53678
  var yTop=bottom+2;
53679
+ var bShowText=true;
53658
53680
  if (this.ShowTextMode.Bottom==2)
53659
53681
  {
53660
53682
  yCenter=bottom-this.TextHeight/2-2;
53661
53683
  yTop=bottom-this.TextHeight-2;
53662
53684
  }
53663
- else if (this.ShowTextMode.Bottom==10)
53685
+ else if (this.ShowTextMode.Bottom==8)
53664
53686
  {
53665
- var frame=this.Frame.SubFrame[0].Frame;
53666
- if (frame.GetCorssCursorTop)
53687
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_CORSSCURSOR_POSITION);
53688
+ if (event && event.Callback)
53667
53689
  {
53668
- var value=frame.GetCorssCursorTop();
53669
- if (IFrameSplitOperator.IsNumber(value))
53670
- {
53671
- yCenter=value+this.TextHeight/2;
53672
- yTop=value;
53673
- }
53690
+ var sendData={ YCenter:yCenter, YTop:yTop, Height:this.TextHeight, IsShowText:bShowText };
53691
+ event.Callback(event, sendData, this);
53692
+
53693
+ yCenter=sendData.YCenter;
53694
+ yTop=sendData.YTop;
53695
+ bShowText=sendData.IsShowText;
53674
53696
  }
53675
53697
  }
53676
53698
 
53677
53699
  //JSConsole.Chart.Log('[ChartCorssCursor::Draw] ',yCenter);
53678
- if (x-textWidth/2<3) //左边位置不够了, 顶着左边画
53700
+ if (bShowText)
53679
53701
  {
53680
- this.DrawTextBGRect(x-1,yTop,textWidth,this.TextHeight);
53681
- this.Canvas.textAlign="left";
53682
- this.Canvas.textBaseline="middle";
53683
- this.Canvas.fillStyle=this.TextColor;
53684
- this.Canvas.fillText(text,x+1,yCenter,textWidth);
53685
- }
53686
- else if (x+textWidth/2>=right)
53687
- {
53688
- this.DrawTextBGRect(right-textWidth,yTop,textWidth,this.TextHeight);
53689
- this.Canvas.textAlign="right";
53690
- this.Canvas.textBaseline="middle";
53691
- this.Canvas.fillStyle=this.TextColor;
53692
- this.Canvas.fillText(text,right-2,yCenter,textWidth);
53693
- }
53694
- else
53695
- {
53696
- this.DrawTextBGRect(x-textWidth/2,yTop,textWidth,this.TextHeight);
53697
- this.Canvas.textAlign="center";
53698
- this.Canvas.textBaseline="middle";
53699
- this.Canvas.fillStyle=this.TextColor;
53700
- this.Canvas.fillText(text,x,yCenter,textWidth);
53702
+ if (x-textWidth/2<3) //左边位置不够了, 顶着左边画
53703
+ {
53704
+ this.DrawTextBGRect(x-1,yTop,textWidth,this.TextHeight);
53705
+ this.Canvas.textAlign="left";
53706
+ this.Canvas.textBaseline="middle";
53707
+ this.Canvas.fillStyle=this.TextColor;
53708
+ this.Canvas.fillText(text,x+1,yCenter,textWidth);
53709
+ }
53710
+ else if (x+textWidth/2>=right)
53711
+ {
53712
+ this.DrawTextBGRect(right-textWidth,yTop,textWidth,this.TextHeight);
53713
+ this.Canvas.textAlign="right";
53714
+ this.Canvas.textBaseline="middle";
53715
+ this.Canvas.fillStyle=this.TextColor;
53716
+ this.Canvas.fillText(text,right-2,yCenter,textWidth);
53717
+ }
53718
+ else
53719
+ {
53720
+ this.DrawTextBGRect(x-textWidth/2,yTop,textWidth,this.TextHeight);
53721
+ this.Canvas.textAlign="center";
53722
+ this.Canvas.textBaseline="middle";
53723
+ this.Canvas.fillStyle=this.TextColor;
53724
+ this.Canvas.fillText(text,x,yCenter,textWidth);
53725
+ }
53701
53726
  }
53702
53727
  }
53703
53728
 
@@ -54201,7 +54226,7 @@ function ChartCorssCursor()
54201
54226
  }
54202
54227
 
54203
54228
  //X轴 Bottom=10 使用第1个指标框位置
54204
- if ((this.ShowTextMode.Bottom===1 || this.ShowTextMode.Bottom==10) && this.StringFormatX.Operator())
54229
+ if ((this.ShowTextMode.Bottom===1 || this.ShowTextMode.Bottom==8) && this.StringFormatX.Operator())
54205
54230
  {
54206
54231
  var text=this.StringFormatX.Text;
54207
54232
  this.Canvas.font=this.Font;
@@ -54209,64 +54234,67 @@ function ChartCorssCursor()
54209
54234
  this.Canvas.fillStyle=this.TextBGColor;
54210
54235
  var textWidth=this.Canvas.measureText(text).width+4; //前后各空2个像素
54211
54236
  var xText=left;
54212
-
54213
- if (this.ShowTextMode.Bottom==10)
54237
+ var bShowText=true;
54238
+ if (this.ShowTextMode.Bottom==8)
54214
54239
  {
54215
- var frame=this.Frame.SubFrame[0].Frame;
54216
- if (frame.GetCorssCursorTop)
54240
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_CORSSCURSOR_POSITION);
54241
+ if (event && event.Callback)
54217
54242
  {
54218
- var value=frame.GetCorssCursorTop();
54219
- if (IFrameSplitOperator.IsNumber(value))
54220
- {
54221
- xText=value;
54222
- }
54243
+ var sendData={ XText:xText, Height:this.TextHeight, IsShowText:bShowText };
54244
+ event.Callback(event, sendData, this);
54245
+
54246
+ xText=sendData.XText;
54247
+ bShowText=sendData.IsShowText;
54223
54248
  }
54224
54249
  }
54225
54250
 
54226
- if (y-textWidth/2<3) //左边位置不够了, 顶着左边画
54251
+ if (bShowText)
54227
54252
  {
54228
- var yText=y;
54229
- this.Canvas.save();
54230
- this.Canvas.translate(xText, yText);
54231
- this.Canvas.rotate(90 * Math.PI / 180); //数据和框子旋转180度
54253
+ if (y-textWidth/2<3) //左边位置不够了, 顶着左边画
54254
+ {
54255
+ var yText=y;
54256
+ this.Canvas.save();
54257
+ this.Canvas.translate(xText, yText);
54258
+ this.Canvas.rotate(90 * Math.PI / 180); //数据和框子旋转180度
54232
54259
 
54233
- this.Canvas.fillRect(0,0,textWidth,this.TextHeight);
54234
- this.Canvas.textAlign="left";
54235
- this.Canvas.textBaseline="middle";
54236
- this.Canvas.fillStyle=this.TextColor;
54237
- this.Canvas.fillText(text,2,this.TextHeight/2,textWidth);
54260
+ this.Canvas.fillRect(0,0,textWidth,this.TextHeight);
54261
+ this.Canvas.textAlign="left";
54262
+ this.Canvas.textBaseline="middle";
54263
+ this.Canvas.fillStyle=this.TextColor;
54264
+ this.Canvas.fillText(text,2,this.TextHeight/2,textWidth);
54238
54265
 
54239
- this.Canvas.restore();
54240
- }
54241
- else if (y+textWidth/2>=bottom)
54242
- {
54243
- var yText=y;
54244
- this.Canvas.save();
54245
- this.Canvas.translate(xText, yText);
54246
- this.Canvas.rotate(90 * Math.PI / 180); //数据和框子旋转180度
54266
+ this.Canvas.restore();
54267
+ }
54268
+ else if (y+textWidth/2>=bottom)
54269
+ {
54270
+ var yText=y;
54271
+ this.Canvas.save();
54272
+ this.Canvas.translate(xText, yText);
54273
+ this.Canvas.rotate(90 * Math.PI / 180); //数据和框子旋转180度
54247
54274
 
54248
- this.Canvas.fillRect(-textWidth,0,textWidth,this.TextHeight);
54249
- this.Canvas.textAlign="right";
54250
- this.Canvas.textBaseline="middle";
54251
- this.Canvas.fillStyle=this.TextColor;
54252
- this.Canvas.fillText(text,-2,this.TextHeight/2,textWidth);
54275
+ this.Canvas.fillRect(-textWidth,0,textWidth,this.TextHeight);
54276
+ this.Canvas.textAlign="right";
54277
+ this.Canvas.textBaseline="middle";
54278
+ this.Canvas.fillStyle=this.TextColor;
54279
+ this.Canvas.fillText(text,-2,this.TextHeight/2,textWidth);
54253
54280
 
54254
- this.Canvas.restore();
54255
- }
54256
- else
54257
- {
54258
- var yText=y;
54259
- this.Canvas.save();
54260
- this.Canvas.translate(xText, yText);
54261
- this.Canvas.rotate(90 * Math.PI / 180); //数据和框子旋转180度
54281
+ this.Canvas.restore();
54282
+ }
54283
+ else
54284
+ {
54285
+ var yText=y;
54286
+ this.Canvas.save();
54287
+ this.Canvas.translate(xText, yText);
54288
+ this.Canvas.rotate(90 * Math.PI / 180); //数据和框子旋转180度
54262
54289
 
54263
- this.Canvas.fillRect(-textWidth/2,0,textWidth,this.TextHeight);
54264
- this.Canvas.textAlign="center";
54265
- this.Canvas.textBaseline="middle";
54266
- this.Canvas.fillStyle=this.TextColor;
54267
- this.Canvas.fillText(text,0,this.TextHeight/2,textWidth);
54290
+ this.Canvas.fillRect(-textWidth/2,0,textWidth,this.TextHeight);
54291
+ this.Canvas.textAlign="center";
54292
+ this.Canvas.textBaseline="middle";
54293
+ this.Canvas.fillStyle=this.TextColor;
54294
+ this.Canvas.fillText(text,0,this.TextHeight/2,textWidth);
54268
54295
 
54269
- this.Canvas.restore();
54296
+ this.Canvas.restore();
54297
+ }
54270
54298
  }
54271
54299
  }
54272
54300
 
@@ -57235,9 +57263,11 @@ function DynamicChartTitlePainting()
57235
57263
  this.ColorIndex; //五彩K线名字 {Name:'名字'}
57236
57264
  this.IsShowColorIndexTitle=true;
57237
57265
  this.IsShowUpDownArrow=true; //指标数据是否显示 上涨下跌箭头
57266
+ this.TitleArrowType=0; //指标数据上涨下跌箭头类型 0=独立颜色 1=跟指标颜色一致
57238
57267
  this.IsShowIndexName=true; //是否显示指标名字
57239
57268
  this.IsShowIndexTitle=true; //是否显示指标标题信息
57240
57269
  this.IsShowNameArrow=false;
57270
+ this.NameArrowConfig=CloneData(g_JSChartResource.IndexTitle.NameArrow);
57241
57271
 
57242
57272
  this.TradeIndex; //专家系统名字{Name:'名字', Param:'参数'}
57243
57273
  this.IsShowTradeIndexTitle=true;
@@ -57706,6 +57736,7 @@ function DynamicChartTitlePainting()
57706
57736
  this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;
57707
57737
  this.IsShowNameArrow=this.Frame.IsShowNameArrow;
57708
57738
  this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
57739
+ this.TitleArrowType=this.Frame.TitleArrowType;
57709
57740
  this.IsShowIndexName=this.Frame.IsShowIndexName;
57710
57741
  this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;
57711
57742
  this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;
@@ -57990,6 +58021,8 @@ function DynamicChartTitlePainting()
57990
58021
  if (preValue>value) arrowSuper={ Text:'↓', TextColor:this.UpDownArrowConfig.DownColor };
57991
58022
  else if (preValue<value) arrowSuper={ Text:'↑', TextColor:this.UpDownArrowConfig.UpColor};
57992
58023
  else arrowSuper={ Text:'→', TextColor:this.UpDownArrowConfig.UnchangeColor };
58024
+
58025
+ if (this.TitleArrowType==1) arrowSuper.TextColor=item.Color;
57993
58026
  }
57994
58027
  }
57995
58028
 
@@ -58497,10 +58530,16 @@ function DynamicChartTitlePainting()
58497
58530
  if (this.IsDrawTitleBG)
58498
58531
  {
58499
58532
  var title=this.Title;
58500
- if (this.IsShowNameArrow) title+='▼';
58501
58533
  var textWidth=this.Canvas.measureText(title).width;
58534
+ var arrowWidth=0;
58535
+ if (this.IsShowNameArrow && this.NameArrowConfig)
58536
+ {
58537
+ arrowWidth=this.Canvas.measureText(this.NameArrowConfig.Symbol).width;
58538
+ if (IFrameSplitOperator.IsNumber(this.NameArrowConfig.Space)) arrowWidth+=this.NameArrowConfig.Space;
58539
+ }
58540
+
58502
58541
  var bgHeight=this.Canvas.measureText("擎").width+4*pixelRatio;
58503
- var bgWidth=textWidth+4*pixelRatio;
58542
+ var bgWidth=textWidth+arrowWidth+4*pixelRatio;
58504
58543
 
58505
58544
  this.TitleRect=
58506
58545
  {
@@ -58520,15 +58559,24 @@ function DynamicChartTitlePainting()
58520
58559
  this.Canvas.strokeRect(ToFixedPoint(drawRect.Left),ToFixedPoint(drawRect.Top),ToFixedRect(drawRect.Width),ToFixedRect(drawRect.Height));
58521
58560
  }
58522
58561
 
58562
+ var xText=left+2*pixelRatio;
58523
58563
  this.Canvas.fillStyle=this.TitleColor;
58524
- this.Canvas.fillText(title,left+2*pixelRatio,bottom,textWidth);
58564
+ this.Canvas.fillText(title,xText,bottom);
58565
+ xText+=textWidth;
58566
+ if (this.IsShowNameArrow && this.NameArrowConfig)
58567
+ {
58568
+ if (IFrameSplitOperator.IsNumber(this.NameArrowConfig.Space)) xText+=this.NameArrowConfig.Space;
58569
+ this.Canvas.fillStyle=this.NameArrowConfig.Color;
58570
+ this.Canvas.fillText(this.NameArrowConfig.Symbol,xText,bottom);
58571
+ }
58572
+
58525
58573
  left+=bgWidth+2*pixelRatio;
58526
58574
  left+=this.TitleSpace;
58527
58575
  }
58528
58576
  else
58529
58577
  {
58530
58578
  this.Canvas.fillStyle=this.TitleColor;
58531
- this.Canvas.fillText(this.Title,left,bottom,textWidth);
58579
+ this.Canvas.fillText(this.Title,left,bottom);
58532
58580
  left+=textWidth;
58533
58581
  left+=this.TitleSpace;
58534
58582
  }
@@ -58641,11 +58689,17 @@ function DynamicChartTitlePainting()
58641
58689
  {
58642
58690
  var pixelRatio=GetDevicePixelRatio();
58643
58691
  var title=this.Title;
58644
- if (this.IsShowNameArrow) title+='▼';
58645
58692
  var textWidth=this.Canvas.measureText(title).width;
58693
+ var arrowWidth=0;
58694
+ if (this.IsShowNameArrow && this.NameArrowConfig)
58695
+ {
58696
+ arrowWidth=this.Canvas.measureText(this.NameArrowConfig.Symbol).width;
58697
+ if (IFrameSplitOperator.IsNumber(this.NameArrowConfig.Space)) arrowWidth+=this.NameArrowConfig.Space;
58698
+ }
58699
+
58646
58700
  var bgHeight=this.Canvas.measureText("擎").width+4*pixelRatio;
58647
58701
  var roundRadius=this.BorderRoundRadius*pixelRatio;
58648
- var bgWidth=textWidth+4*pixelRatio+roundRadius*2;
58702
+ var bgWidth=textWidth+arrowWidth+4*pixelRatio+roundRadius*2;
58649
58703
 
58650
58704
  rtButton.Top=rtButton.YCenter-bgHeight/2-1,
58651
58705
  rtButton.Width=bgWidth;
@@ -58691,8 +58745,16 @@ function DynamicChartTitlePainting()
58691
58745
  }
58692
58746
  }
58693
58747
 
58748
+ var xText=rtButton.Left+roundRadius+2*pixelRatio;
58694
58749
  this.Canvas.fillStyle=this.TitleColor;
58695
- this.Canvas.fillText(title,rtButton.Left+roundRadius+2*pixelRatio,rtButton.YCenter,textWidth);
58750
+ this.Canvas.fillText(title,xText,rtButton.YCenter);
58751
+ xText+=textWidth;
58752
+ if (this.IsShowNameArrow && this.NameArrowConfig)
58753
+ {
58754
+ if (IFrameSplitOperator.IsNumber(this.NameArrowConfig.Space)) xText+=this.NameArrowConfig.Space;
58755
+ this.Canvas.fillStyle=this.NameArrowConfig.Color;
58756
+ this.Canvas.fillText(this.NameArrowConfig.Symbol,xText,rtButton.YCenter);
58757
+ }
58696
58758
  }
58697
58759
 
58698
58760
  //绘制按钮
@@ -70715,7 +70777,12 @@ function JSChartResource()
70715
70777
  UpColor:"rgb(238,21,21)", //上涨
70716
70778
  DownColor:"rgb(25,158,0)", //下跌
70717
70779
  UnchangeColor:"rgb(0,0,0)" //不变
70718
- }
70780
+ },
70781
+
70782
+ ArrowType:0,
70783
+ EnableIndexArrow:true, //指标数值是否带上涨下跌箭头
70784
+
70785
+ NameArrow:{ Color:"rgb(43,54,69)", Space:2, Symbol:'▼' },
70719
70786
  }
70720
70787
 
70721
70788
  this.Title={
@@ -72013,6 +72080,17 @@ function JSChartResource()
72013
72080
  if (subItem.DownColor) this.IndexTitle.UpDownArrow.DownColor = subItem.DownColor;
72014
72081
  if (subItem.UnchangeColor) this.IndexTitle.UpDownArrow.UnchangeColor = subItem.UnchangeColor;
72015
72082
  }
72083
+
72084
+ if (IFrameSplitOperator.IsNumber(item.ArrowType)) this.IndexTitle.ArrowType=item.ArrowType;
72085
+ if (IFrameSplitOperator.IsBool(item.EnableIndexArrow)) this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;
72086
+
72087
+ if (item.NameArrow)
72088
+ {
72089
+ var subItem=item.NameArrow;
72090
+ if (subItem.Color) this.IndexTitle.NameArrow.Color = subItem.Color;
72091
+ if (subItem.Symbol) this.IndexTitle.NameArrow.Symbol = subItem.Symbol;
72092
+ if (IFrameSplitOperator.IsNumber(subItem.Space)) this.IndexTitle.NameArrow.Space = subItem.Space;
72093
+ }
72016
72094
  }
72017
72095
 
72018
72096
  if (style.Frame)
@@ -74788,6 +74866,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
74788
74866
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
74789
74867
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
74790
74868
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
74869
+ this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
74791
74870
 
74792
74871
  //创建等待提示
74793
74872
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -77984,7 +78063,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
77984
78063
 
77985
78064
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) this.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
77986
78065
  else item.TitleHeight=this.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
77987
- if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) this.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
78066
+ if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) subFrame.Frame.IsShowTitleArrow=item.IsShowTitleArrow;
78067
+ if (IFrameSplitOperator.IsNumber(item.TitleArrowType)) subFrame.Frame.TitleArrowType=item.TitleArrowType;
77988
78068
  if (item.IsShowIndexName==false) this.Frame.SubFrame[i].Frame.IsShowIndexName=false;
77989
78069
  if (item.IsShowOverlayIndexName==false) this.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
77990
78070
  if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) this.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
@@ -83394,6 +83474,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
83394
83474
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
83395
83475
  this.ChartCorssCursor.StringFormatY.ShareAfterVol=this.ShareAfterVol;
83396
83476
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
83477
+ this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83397
83478
 
83398
83479
 
83399
83480
  //创建等待提示
@@ -89003,6 +89084,7 @@ function KLineChartHScreenContainer(uielement)
89003
89084
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
89004
89085
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
89005
89086
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
89087
+ this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89006
89088
 
89007
89089
  //创建等待提示
89008
89090
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -89148,6 +89230,7 @@ function MinuteChartHScreenContainer(uielement)
89148
89230
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
89149
89231
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89150
89232
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
89233
+ this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89151
89234
 
89152
89235
  //创建等待提示
89153
89236
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -123754,7 +123837,9 @@ function GetBlackStyle()
123754
123837
  UpColor:"rgb(238,21,21)", //上涨
123755
123838
  DownColor:"rgb(25,158,0)", //下跌
123756
123839
  UnchangeColor:"rgb(190, 190 ,190)" //不变
123757
- }
123840
+ },
123841
+
123842
+ NameArrow:{ Color:"rgb(190, 190 ,190)", Space:2, Symbol:'▼' },
123758
123843
  },
123759
123844
 
123760
123845
  Title:
@@ -137096,7 +137181,7 @@ function ScrollBarBGChart()
137096
137181
 
137097
137182
 
137098
137183
 
137099
- var HQCHART_VERSION="1.1.13605";
137184
+ var HQCHART_VERSION="1.1.13622";
137100
137185
 
137101
137186
  function PrintHQChartVersion()
137102
137187
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13605";
8
+ var HQCHART_VERSION="1.1.13622";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {