hqchart 1.1.12513 → 1.1.12522
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.
- package/lib/umychart.vue.js +67 -22
- package/package.json +1 -1
- package/src/jscommon/umychart.js +487 -27
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +488 -28
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +488 -28
- package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +13 -1
- package/src/jscommon/umychart.wechat/umychart.index.wechat.js +6 -0
|
@@ -5668,6 +5668,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5668
5668
|
|
|
5669
5669
|
this.JSChartContainer=chart;
|
|
5670
5670
|
|
|
5671
|
+
if (option.DefaultCursor) chart.DefaultCursor=option.DefaultCursor;
|
|
5671
5672
|
if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
|
|
5672
5673
|
|
|
5673
5674
|
//是否自动更新
|
|
@@ -6773,6 +6774,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6773
6774
|
this.IsClickShowCorssCursor=false; //手势点击显示十字光标
|
|
6774
6775
|
this.ChartSplashPaint=null; //等待提示
|
|
6775
6776
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
6777
|
+
this.DefaultCursor="default"; //crosshair , default 默认手型
|
|
6776
6778
|
|
|
6777
6779
|
//绘图缓存
|
|
6778
6780
|
this.CacheCanvas=null;
|
|
@@ -7252,7 +7254,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7252
7254
|
event.Callback(event, sendData, this);
|
|
7253
7255
|
this.CustomChartDrag=sendData.ChartDrag;
|
|
7254
7256
|
|
|
7255
|
-
|
|
7257
|
+
this.SetCursor(sendData);
|
|
7256
7258
|
}
|
|
7257
7259
|
|
|
7258
7260
|
this.TryDragMove_CustomChartDrag=function(sendData)
|
|
@@ -7331,7 +7333,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7331
7333
|
{
|
|
7332
7334
|
if (item.Type==4)
|
|
7333
7335
|
{
|
|
7334
|
-
this.UIElement.style.cursor="pointer";
|
|
7336
|
+
//this.UIElement.style.cursor="pointer";
|
|
7337
|
+
this.SetCursor({Cursor:"pointer"});
|
|
7335
7338
|
var obj={ X:e.clientX };
|
|
7336
7339
|
if (this.GetXDataIndex(obj))
|
|
7337
7340
|
{
|
|
@@ -7341,7 +7344,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7341
7344
|
}
|
|
7342
7345
|
else
|
|
7343
7346
|
{
|
|
7344
|
-
this.UIElement.style.cursor="ew-resize";
|
|
7347
|
+
//this.UIElement.style.cursor="ew-resize";
|
|
7348
|
+
this.SetCursor({Cursor:"ew-resize"});
|
|
7345
7349
|
this.RectSelectDrag={ Index:item.PointIndex, Type:item.Type };
|
|
7346
7350
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] drag rect select ",item);
|
|
7347
7351
|
}
|
|
@@ -7355,7 +7359,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7355
7359
|
var dragBorder=this.Frame.PtInFrameBorder(x,y);
|
|
7356
7360
|
if (dragBorder && dragBorder.Index>=0)
|
|
7357
7361
|
{
|
|
7358
|
-
this.UIElement.style.cursor="n-resize";
|
|
7362
|
+
//this.UIElement.style.cursor="n-resize";
|
|
7363
|
+
this.SetCursor({Cursor:"n-resize"});
|
|
7359
7364
|
this.BorderDrag={ Index:dragBorder.Index };
|
|
7360
7365
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] DragBorder ",dragBorder);
|
|
7361
7366
|
}
|
|
@@ -7367,7 +7372,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7367
7372
|
var dragY=this.TryYDrag(x,y);
|
|
7368
7373
|
if (dragY)
|
|
7369
7374
|
{
|
|
7370
|
-
this.UIElement.style.cursor=dragY.Position==0 ? "n-resize":"row-resize";
|
|
7375
|
+
//this.UIElement.style.cursor=dragY.Position==0 ? "n-resize":"row-resize";
|
|
7376
|
+
var cursor=dragY.Position==0 ? "n-resize":"row-resize";
|
|
7377
|
+
this.SetCursor({Cursor:cursor});
|
|
7371
7378
|
this.YDrag=dragY;
|
|
7372
7379
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] dragY ",dragY);
|
|
7373
7380
|
}
|
|
@@ -7376,7 +7383,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7376
7383
|
var dragUpDown=this.TryUpDownDrag(x,y);
|
|
7377
7384
|
if (dragUpDown)
|
|
7378
7385
|
{
|
|
7379
|
-
this.UIElement.style.cursor="pointer";
|
|
7386
|
+
//this.UIElement.style.cursor="pointer";
|
|
7387
|
+
this.SetCursor({Cursor:"pointer"});
|
|
7380
7388
|
this.UpDownDrag=dragUpDown;
|
|
7381
7389
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] dragUpDown ",dragUpDown);
|
|
7382
7390
|
}
|
|
@@ -7699,8 +7707,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7699
7707
|
|
|
7700
7708
|
if (moveSetp<5 && yMoveSetp<5) return;
|
|
7701
7709
|
|
|
7702
|
-
this.UIElement.style.cursor="default";
|
|
7703
|
-
|
|
7710
|
+
//this.UIElement.style.cursor="default";
|
|
7711
|
+
this.SetCursor({Cursor:"default"});
|
|
7704
7712
|
var x=drag.Click.X-uielement.getBoundingClientRect().left;
|
|
7705
7713
|
var y=drag.Click.Y-uielement.getBoundingClientRect().top;
|
|
7706
7714
|
var x2=e.clientX-uielement.getBoundingClientRect().left;
|
|
@@ -7729,7 +7737,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7729
7737
|
{
|
|
7730
7738
|
var yMove=e.clientY-drag.LastMove.Y;
|
|
7731
7739
|
JSConsole.Chart.Log("[JSChartContainer::OnDragMode_One] UpDownDrag ",this.UpDownDrag,yMove);
|
|
7732
|
-
this.UIElement.style.cursor="pointer";
|
|
7740
|
+
//this.UIElement.style.cursor="pointer";
|
|
7741
|
+
this.SetCursor({Cursor:"pointer"});
|
|
7733
7742
|
if (this.OnUpDonwFrameY(this.UpDownDrag, yMove))
|
|
7734
7743
|
{
|
|
7735
7744
|
bNeedDraw=true;
|
|
@@ -7776,7 +7785,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7776
7785
|
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
7777
7786
|
if (moveSetp<oneStepWidth)
|
|
7778
7787
|
{
|
|
7779
|
-
this.UIElement.style.cursor=cursorStatus;
|
|
7788
|
+
//this.UIElement.style.cursor=cursorStatus;
|
|
7789
|
+
this.SetCursor({Cursor:cursorStatus});
|
|
7780
7790
|
if (bNeedDraw) this.Draw();
|
|
7781
7791
|
return;
|
|
7782
7792
|
}
|
|
@@ -7806,7 +7816,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7806
7816
|
if (this.DragDownloadData) this.DragDownloadData();
|
|
7807
7817
|
}
|
|
7808
7818
|
}
|
|
7809
|
-
this.UIElement.style.cursor=cursorStatus;
|
|
7819
|
+
//this.UIElement.style.cursor=cursorStatus;
|
|
7820
|
+
this.SetCursor({Cursor:cursorStatus});
|
|
7810
7821
|
}
|
|
7811
7822
|
drag.LastMove.X=e.clientX;
|
|
7812
7823
|
}
|
|
@@ -7874,7 +7885,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7874
7885
|
var chartMove=this.GetExtendChartByClassName("DragMovePaint");
|
|
7875
7886
|
if (chartMove && chartMove.Chart) chartMove.Chart.Clear();
|
|
7876
7887
|
if (!this.OnDragChart(this.IndexChartDrag)) this.DrawDynamicInfo();
|
|
7877
|
-
this.UIElement.style.cursor="default";
|
|
7888
|
+
//this.UIElement.style.cursor="default";
|
|
7889
|
+
this.SetCursor({Cursor:"default"});
|
|
7878
7890
|
}
|
|
7879
7891
|
else if (this.CustomChartDrag)
|
|
7880
7892
|
{
|
|
@@ -7964,7 +7976,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7964
7976
|
//清空数据
|
|
7965
7977
|
JSConsole.Chart.Log('[KLineChartContainer::document.onmouseup]',e);
|
|
7966
7978
|
if (this.SelectChartDrawPicture) this.SelectChartDrawPicture.DragInfo=null;
|
|
7967
|
-
this.UIElement.style.cursor="default";
|
|
7979
|
+
//this.UIElement.style.cursor="default";
|
|
7980
|
+
this.SetCursor({Cursor:"default"});
|
|
7968
7981
|
this.MouseDrag=null;
|
|
7969
7982
|
this.ClickDownPoint=null;
|
|
7970
7983
|
this.IsOnTouch=false;
|
|
@@ -9799,7 +9812,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9799
9812
|
var frameID=this.Frame.PtInFrame(x,y);
|
|
9800
9813
|
if (IFrameSplitOperator.IsNumber(frameID) && frameID>=0) //在K线内部移动,调整K线索引
|
|
9801
9814
|
this.CursorIndex=this.Frame.GetXData(x);
|
|
9802
|
-
|
|
9803
9815
|
|
|
9804
9816
|
|
|
9805
9817
|
if (this.EnableBorderDrag && this.Frame && !this.CurrentChartDrawPicture)
|
|
@@ -9922,13 +9934,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9922
9934
|
|
|
9923
9935
|
if (drawPictrueData.PointIndex===100)
|
|
9924
9936
|
{
|
|
9925
|
-
if (drawPictrueData.Cursor) this.UIElement.style.cursor=drawPictrueData.Cursor;
|
|
9926
|
-
else this.UIElement.style.cursor="move";
|
|
9937
|
+
if (drawPictrueData.Cursor) this.SetCursor(drawPictrueData); //this.UIElement.style.cursor=drawPictrueData.Cursor;
|
|
9938
|
+
else this.SetCursor({Cursor:"move"}); //this.UIElement.style.cursor="move";
|
|
9927
9939
|
}
|
|
9928
9940
|
else
|
|
9929
9941
|
{
|
|
9930
|
-
if (drawPictrueData.Cursor) this.UIElement.style.cursor=drawPictrueData.Cursor
|
|
9931
|
-
else this.UIElement.style.cursor="pointer";
|
|
9942
|
+
if (drawPictrueData.Cursor) this.SetCursor(drawPictrueData); //this.UIElement.style.cursor=drawPictrueData.Cursor
|
|
9943
|
+
else this.SetCursor({Cursor:"pointer"}); //this.UIElement.style.cursor="pointer";
|
|
9932
9944
|
}
|
|
9933
9945
|
|
|
9934
9946
|
bDrawPicture=true;
|
|
@@ -9936,7 +9948,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9936
9948
|
}
|
|
9937
9949
|
else
|
|
9938
9950
|
{
|
|
9939
|
-
if (!this.MouseDrag) this.UIElement.style.cursor="default";
|
|
9951
|
+
if (!this.MouseDrag) this.SetCursor({Cursor:"default"}); //this.UIElement.style.cursor="default";
|
|
9940
9952
|
}
|
|
9941
9953
|
}
|
|
9942
9954
|
|
|
@@ -9959,7 +9971,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9959
9971
|
this.DrawDynamicInfo(option);
|
|
9960
9972
|
}
|
|
9961
9973
|
|
|
9962
|
-
|
|
9974
|
+
this.SetCursor(mouseStatus);
|
|
9963
9975
|
|
|
9964
9976
|
if (this.IsShowTooltip && bDrawPicture==false)
|
|
9965
9977
|
{
|
|
@@ -9987,6 +9999,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9987
9999
|
}
|
|
9988
10000
|
}
|
|
9989
10001
|
|
|
10002
|
+
//设置鼠标形状 {Cursor:鼠标形状 }
|
|
10003
|
+
this.SetCursor=function(obj)
|
|
10004
|
+
{
|
|
10005
|
+
if (!obj || !obj.Cursor) return;
|
|
10006
|
+
|
|
10007
|
+
if (obj.Cursor=="default")
|
|
10008
|
+
this.UIElement.style.cursor=this.DefaultCursor;
|
|
10009
|
+
else
|
|
10010
|
+
this.UIElement.style.cursor=obj.Cursor;
|
|
10011
|
+
}
|
|
10012
|
+
|
|
9990
10013
|
this.OnKeyDown=function(e)
|
|
9991
10014
|
{
|
|
9992
10015
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
@@ -12740,6 +12763,7 @@ function CoordinateInfo()
|
|
|
12740
12763
|
this.Value; //坐标数据
|
|
12741
12764
|
this.Message=[]; //坐标输出文字信息 0=左 1=右 2=内左 3=内右
|
|
12742
12765
|
this.TextColor=g_JSChartResource.FrameSplitTextColor //文字颜色
|
|
12766
|
+
this.TextBGColor; //文字背景色
|
|
12743
12767
|
this.TextColor2; //右侧文字颜色,空使用TextColor
|
|
12744
12768
|
this.Font=g_JSChartResource.FrameSplitTextFont; //字体
|
|
12745
12769
|
this.LineColor=g_JSChartResource.FrameSplitPen; //线段颜色
|
|
@@ -14252,9 +14276,10 @@ function AverageWidthFrame()
|
|
|
14252
14276
|
this.Canvas.font=this.VerticalInfo[i].Font;
|
|
14253
14277
|
|
|
14254
14278
|
var textLeft=0;
|
|
14255
|
-
|
|
14279
|
+
|
|
14256
14280
|
this.Canvas.strokeStyle=item.TextColor;
|
|
14257
14281
|
var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;
|
|
14282
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
14258
14283
|
if (x<testWidth/2)
|
|
14259
14284
|
{
|
|
14260
14285
|
this.Canvas.textAlign="left";
|
|
@@ -14288,6 +14313,15 @@ function AverageWidthFrame()
|
|
|
14288
14313
|
yText+=lineLength+2*pixelRatio;
|
|
14289
14314
|
}
|
|
14290
14315
|
|
|
14316
|
+
//item.TextBGColor="rgb(0,255,0)";
|
|
14317
|
+
if (item.TextBGColor) //文字背景色
|
|
14318
|
+
{
|
|
14319
|
+
var rtText={ Left:textLeft, Top:yText+this.XBottomOffset, Width:testWidth, Height:textHeight };
|
|
14320
|
+
this.Canvas.fillStyle=item.TextBGColor;
|
|
14321
|
+
this.Canvas.fillRect(rtText.Left-1, rtText.Top, rtText.Width+2, rtText.Height);
|
|
14322
|
+
}
|
|
14323
|
+
|
|
14324
|
+
this.Canvas.fillStyle=item.TextColor;
|
|
14291
14325
|
this.Canvas.fillText(this.VerticalInfo[i].Message[0],x,yText+this.XBottomOffset);
|
|
14292
14326
|
textRightPrev=textLeft+testWidth;
|
|
14293
14327
|
}
|
|
@@ -33061,6 +33095,7 @@ function ChartStick()
|
|
|
33061
33095
|
this.Draw=function()
|
|
33062
33096
|
{
|
|
33063
33097
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
33098
|
+
if (this.IsHideScriptIndex()) return;
|
|
33064
33099
|
|
|
33065
33100
|
if (this.NotSupportMessage)
|
|
33066
33101
|
{
|
|
@@ -33086,6 +33121,8 @@ function ChartLineStick()
|
|
|
33086
33121
|
this.Draw=function()
|
|
33087
33122
|
{
|
|
33088
33123
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
33124
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
33125
|
+
if (this.IsHideScriptIndex()) return;
|
|
33089
33126
|
|
|
33090
33127
|
if (this.NotSupportMessage)
|
|
33091
33128
|
{
|
|
@@ -43614,7 +43651,7 @@ function DrawToolsButton()
|
|
|
43614
43651
|
{ HTML: { Title: 'M头W底', IClass: 'iconfont icon-draw_wavemw', ID: 'icon-wavemw' }, Name: 'M头W底' },
|
|
43615
43652
|
{ HTML: { Title: '头肩型', IClass: 'iconfont icon-draw_head_shoulders_bt', ID: 'icon-Head-Shoulders' }, Name: '头肩型' },
|
|
43616
43653
|
{ HTML: { Title: '波浪尺', IClass: 'iconfont icon-waveruler', ID: 'icon-wave-ruler' }, Name: '波浪尺' },
|
|
43617
|
-
{ HTML: { Title: 'AB波浪尺', IClass: 'iconfont icon-waveruler', ID: 'icon-wave-
|
|
43654
|
+
{ HTML: { Title: 'AB波浪尺', IClass: 'iconfont icon-waveruler', ID: 'icon-wave-ruler2' }, Name: 'AB波浪尺' },
|
|
43618
43655
|
{ HTML: { Title: '箱型线', IClass: 'iconfont icon-draw_box', ID: 'icon-drawbox' }, Name: '箱型线' },
|
|
43619
43656
|
{ HTML: { Title: '涂鸦线段', IClass: 'iconfont icon-draw_line', ID: 'icon-segment2' }, Name: '涂鸦线段' },
|
|
43620
43657
|
|
|
@@ -48802,6 +48839,7 @@ function FrameSplitMinuteX()
|
|
|
48802
48839
|
info.Value=item[0];
|
|
48803
48840
|
if (this.ShowText) info.Message[0]=item[3];
|
|
48804
48841
|
if (item[4]) info.LineColor=item[4]; //线段颜色
|
|
48842
|
+
if (item[5]) info.TextBGColor=item[5]; //文字背景色
|
|
48805
48843
|
this.Frame.VerticalInfo[i]=info;
|
|
48806
48844
|
}
|
|
48807
48845
|
}
|
|
@@ -52596,7 +52634,8 @@ function DynamicMinuteTitlePainting()
|
|
|
52596
52634
|
|
|
52597
52635
|
if (beforeItem && dataItem) //盘前数据
|
|
52598
52636
|
{
|
|
52599
|
-
if (beforeItem.Date>dataItem.Date || (beforeItem.Date==dataItem.Date && beforeItem.Time>dataItem.Time &&
|
|
52637
|
+
if (beforeItem.Date>dataItem.Date || (beforeItem.Date==dataItem.Date && beforeItem.Time>dataItem.Time && beforeDataVer==1.0)
|
|
52638
|
+
|| (beforeItem.Date==dataItem.Date && parseInt(beforeItem.Time>dataItem.Time) && beforeDataVer==2.0))
|
|
52600
52639
|
return { Type:2, Data:beforeItem, Ver: beforeDataVer, Explain:beforeExplain};
|
|
52601
52640
|
}
|
|
52602
52641
|
|
|
@@ -56010,7 +56049,9 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
56010
56049
|
{ Name:"AnchoredText", ClassName:"ChartDrawAnchoredText", Create:function() { return new ChartDrawAnchoredText();} },
|
|
56011
56050
|
{ Name:"PriceLabel", ClassName:"ChartDrawPriceLabel", Create:function() { return new ChartDrawPriceLabel();} },
|
|
56012
56051
|
{ Name:"PriceNote", ClassName:"ChartDrawPriceNote", Create:function() { return new ChartDrawPriceNote();} },
|
|
56013
|
-
{ Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }}
|
|
56052
|
+
{ Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }},
|
|
56053
|
+
{ Name:"FibRetracement", ClassName:"ChartFibRetracement", Create:function() { return new ChartFibRetracement(); }}, //斐波那契回测
|
|
56054
|
+
{ Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }} //斐波那契扇形
|
|
56014
56055
|
];
|
|
56015
56056
|
|
|
56016
56057
|
IChartDrawPicture.MapIonFont=new Map(
|
|
@@ -58281,7 +58322,7 @@ function ChartDrawPictureParallelChannel()
|
|
|
58281
58322
|
var ptCenter=new Point();
|
|
58282
58323
|
ptCenter.X=linePoint.Start.X+(linePoint.End.X-linePoint.Start.X)/2;
|
|
58283
58324
|
ptCenter.Y=linePoint.Start.Y+(linePoint.End.Y-linePoint.Start.Y)/2;
|
|
58284
|
-
drawPoint[
|
|
58325
|
+
drawPoint[2]=ptCenter;
|
|
58285
58326
|
|
|
58286
58327
|
this.Point[2]=ptCenter;
|
|
58287
58328
|
var xValue=parseInt(this.Frame.GetXData(ptCenter.X))+data.DataOffset;
|
|
@@ -58714,6 +58755,7 @@ function ChartDrawPictureGannFan()
|
|
|
58714
58755
|
else return 3;
|
|
58715
58756
|
}
|
|
58716
58757
|
|
|
58758
|
+
|
|
58717
58759
|
//isDotline 是否是虚线
|
|
58718
58760
|
this.DrawLine=function(ptStart,ptEnd,isDottedline)
|
|
58719
58761
|
{
|
|
@@ -63493,6 +63535,423 @@ function ChartDrawFibWedge()
|
|
|
63493
63535
|
|
|
63494
63536
|
}
|
|
63495
63537
|
|
|
63538
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
63539
|
+
// 斐波那契回测
|
|
63540
|
+
//
|
|
63541
|
+
function ChartFibRetracement()
|
|
63542
|
+
{
|
|
63543
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
63544
|
+
this.newMethod();
|
|
63545
|
+
delete this.newMethod;
|
|
63546
|
+
|
|
63547
|
+
this.ClassName='ChartFibRetracement';
|
|
63548
|
+
this.PointCount=2;
|
|
63549
|
+
this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
63550
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
63551
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
63552
|
+
this.PointToValue_Default=this.PointToValue;
|
|
63553
|
+
this.OnlyMoveXIndex=true;
|
|
63554
|
+
this.IsSupportMagnet=true;
|
|
63555
|
+
this.LineDash=[6,3];
|
|
63556
|
+
this.LineWidth=1;
|
|
63557
|
+
this.EnableBGColor=true;
|
|
63558
|
+
this.ExtendLine={ Left:false, Right: false }; //延长线
|
|
63559
|
+
|
|
63560
|
+
this.AreaConfig=
|
|
63561
|
+
{
|
|
63562
|
+
AryData:
|
|
63563
|
+
[
|
|
63564
|
+
{ Value: 0, Color:"rgb(128,128,128)", Enable:true },
|
|
63565
|
+
{ Value: 0.236, Color:"rgb(242,52,69)", Enable:true },
|
|
63566
|
+
{ Value: 0.382, Color:"rgb(255,152,0)",Enable:true },
|
|
63567
|
+
{ Value: 0.5, Color:"rgb(76,175,80)", Enable:true },
|
|
63568
|
+
{ Value: 0.618, Color:"rgb(8,153,129)", Enable:true },
|
|
63569
|
+
{ Value: 0.786, Color:"rgb(0,188,212)" ,Enable:true },
|
|
63570
|
+
{ Value: 1, Color:"rgb(120,123,134)", Enable:true },
|
|
63571
|
+
{ Value: 1.618, Color:"rgb(41,98,255)",Enable:true },
|
|
63572
|
+
{ Value: 2.618, Color:"rgb(242,54,69)",Enable:false },
|
|
63573
|
+
],
|
|
63574
|
+
|
|
63575
|
+
Opacity:0.3
|
|
63576
|
+
}
|
|
63577
|
+
|
|
63578
|
+
this.SetOption=function(option)
|
|
63579
|
+
{
|
|
63580
|
+
if (!option) return;
|
|
63581
|
+
|
|
63582
|
+
if (option.Font) this.Font=option.Font;
|
|
63583
|
+
if (option.LineWidth) this.LineWidth=option.LineWidth;
|
|
63584
|
+
if (option.LineDash) this.LineDash=option.LineDash;
|
|
63585
|
+
if (IFrameSplitOperator.IsBool(option.EnableBGColor)) this.EnableBGColor=option.EnableBGColor;
|
|
63586
|
+
if (option.ExtendLine)
|
|
63587
|
+
{
|
|
63588
|
+
var item=option.ExtendLine;
|
|
63589
|
+
if (IFrameSplitOperator.IsBool(item.Left)) this.ExtendLine.Left=item.Left;
|
|
63590
|
+
if (IFrameSplitOperator.IsBool(item.Right)) this.ExtendLine.Left=item.Right;
|
|
63591
|
+
}
|
|
63592
|
+
|
|
63593
|
+
if (option.AreaConfig) this.AreaConfig=option.AreaConfig;
|
|
63594
|
+
}
|
|
63595
|
+
|
|
63596
|
+
//导出成存储格式
|
|
63597
|
+
this.ExportStorageData=function()
|
|
63598
|
+
{
|
|
63599
|
+
var storageData=this.ExportBaseData();
|
|
63600
|
+
|
|
63601
|
+
storageData.Value=[];
|
|
63602
|
+
for(var i=0;i<this.Value.length && i<this.PointCount;++i)
|
|
63603
|
+
{
|
|
63604
|
+
var item=this.Value[i];
|
|
63605
|
+
storageData.Value.push( { XValue:item.XValue, YValue:item.YValue } );
|
|
63606
|
+
}
|
|
63607
|
+
|
|
63608
|
+
storageData.Font=this.Font;
|
|
63609
|
+
storageData.EnableBGColor=this.EnableBGColor;
|
|
63610
|
+
storageData.LineDash=this.LineDash;
|
|
63611
|
+
storageData.ExtendLine={ Left:this.ExtendLine.Left, Right:this.ExtendLine.Right };
|
|
63612
|
+
storageData.AreaConfig=CloneData(this.AreaConfig);
|
|
63613
|
+
|
|
63614
|
+
return storageData;
|
|
63615
|
+
}
|
|
63616
|
+
|
|
63617
|
+
this.ImportStorageData=function(storageData)
|
|
63618
|
+
{
|
|
63619
|
+
if (storageData.Font) this.Font=storageData.Font;
|
|
63620
|
+
if (storageData.LineDash) this.LineDash=storageData.LineDash;
|
|
63621
|
+
if (IFrameSplitOperator.IsBool(storageData.EnableBGColor)) this.EnableBGColor=storageData.EnableBGColor;
|
|
63622
|
+
if (storageData.ExtendLine) this.ExtendLine=storageData.ExtendLine;
|
|
63623
|
+
if (storageData.AreaConfig) this.AreaConfig=storageData.AreaConfig;
|
|
63624
|
+
}
|
|
63625
|
+
|
|
63626
|
+
this.Draw=function()
|
|
63627
|
+
{
|
|
63628
|
+
this.LinePoint=[];
|
|
63629
|
+
if (this.IsFrameMinSize()) return;
|
|
63630
|
+
var bCheckXY=true;
|
|
63631
|
+
if (this.ExtendLine.Left || this.ExtendLine.Right) bCheckXY=false;
|
|
63632
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
|
|
63633
|
+
if (!drawPoint) return;
|
|
63634
|
+
if (drawPoint.length!=2) return;
|
|
63635
|
+
|
|
63636
|
+
this.ClipFrame();
|
|
63637
|
+
|
|
63638
|
+
var ptStart=drawPoint[0];
|
|
63639
|
+
var ptEnd=drawPoint[1];
|
|
63640
|
+
|
|
63641
|
+
this.SetLineWidth();
|
|
63642
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
63643
|
+
this.Canvas.setLineDash(this.LineDash);
|
|
63644
|
+
this.Canvas.beginPath();
|
|
63645
|
+
this.Canvas.moveTo(ptStart.X,ptStart.Y);
|
|
63646
|
+
this.Canvas.lineTo(ptEnd.X,ptEnd.Y);
|
|
63647
|
+
this.Canvas.stroke();
|
|
63648
|
+
this.Canvas.setLineDash([]);
|
|
63649
|
+
|
|
63650
|
+
this.DrawBlock(ptStart, ptEnd);
|
|
63651
|
+
|
|
63652
|
+
this.RestoreLineWidth();
|
|
63653
|
+
|
|
63654
|
+
var line={Start:ptStart, End:ptEnd};
|
|
63655
|
+
this.LinePoint.push(line);
|
|
63656
|
+
|
|
63657
|
+
this.DrawPoint(drawPoint); //画点
|
|
63658
|
+
this.Canvas.restore();
|
|
63659
|
+
}
|
|
63660
|
+
|
|
63661
|
+
this.GetArrayAreaConfig=function()
|
|
63662
|
+
{
|
|
63663
|
+
var aryArea=[];
|
|
63664
|
+
for(var i=0;i<this.AreaConfig.AryData.length;++i)
|
|
63665
|
+
{
|
|
63666
|
+
var item=this.AreaConfig.AryData[i];
|
|
63667
|
+
if (item.Enable) aryArea.push(item);
|
|
63668
|
+
}
|
|
63669
|
+
|
|
63670
|
+
aryArea.sort((left,right)=>{ return right.Value-left.Value; })
|
|
63671
|
+
|
|
63672
|
+
return aryArea;
|
|
63673
|
+
}
|
|
63674
|
+
|
|
63675
|
+
this.DrawBlock=function(ptStart, ptEnd)
|
|
63676
|
+
{
|
|
63677
|
+
var yTop=Math.min(ptStart.Y, ptEnd.Y);
|
|
63678
|
+
var yBottom=Math.max(ptStart.Y, ptEnd.Y);
|
|
63679
|
+
var xLeft=Math.min(ptStart.X, ptEnd.X);
|
|
63680
|
+
var xRight=Math.max(ptStart.X, ptEnd.X);
|
|
63681
|
+
var height=yBottom-yTop;
|
|
63682
|
+
//var baseValue=Math.min(this.Value[0].YValue, this.Value[1].YValue);
|
|
63683
|
+
//var diffValue=Math.abs(this.Value[0].YValue-this.Value[1].YValue); //差值
|
|
63684
|
+
|
|
63685
|
+
if (this.ExtendLine.Right) xRight=this.Frame.ChartBorder.GetRight();
|
|
63686
|
+
if (this.ExtendLine.Left) xLeft=this.Frame.ChartBorder.GetLeft();
|
|
63687
|
+
|
|
63688
|
+
var aryArea=this.GetArrayAreaConfig();
|
|
63689
|
+
var yPre=null; //上一个点
|
|
63690
|
+
var clrArea=null;
|
|
63691
|
+
this.Canvas.font=this.Font;
|
|
63692
|
+
if (this.ExtendLine.Left) this.Canvas.textAlign="left";
|
|
63693
|
+
else this.Canvas.textAlign="right";
|
|
63694
|
+
this.Canvas.textBaseline="bottom";
|
|
63695
|
+
|
|
63696
|
+
for(var i=0;i<aryArea.length;++i)
|
|
63697
|
+
{
|
|
63698
|
+
var item=aryArea[i];
|
|
63699
|
+
var y=yBottom-height*item.Value;
|
|
63700
|
+
//var yValue=baseValue+diffValue*item.Value;
|
|
63701
|
+
yValue=this.Frame.GetYData(y,false);
|
|
63702
|
+
y=ToFixedPoint(y);
|
|
63703
|
+
if (this.EnableBGColor && IFrameSplitOperator.IsNumber(yPre))
|
|
63704
|
+
{
|
|
63705
|
+
var rtBG={ Left:xLeft, Right:xRight, Top:yPre, Bottom:y };
|
|
63706
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
63707
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
63708
|
+
this.Canvas.fillStyle=clrArea;
|
|
63709
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
63710
|
+
}
|
|
63711
|
+
|
|
63712
|
+
this.Canvas.strokeStyle=item.Color;
|
|
63713
|
+
this.Canvas.beginPath();
|
|
63714
|
+
this.Canvas.moveTo(xLeft,y);
|
|
63715
|
+
this.Canvas.lineTo(xRight,y);
|
|
63716
|
+
this.Canvas.stroke();
|
|
63717
|
+
|
|
63718
|
+
var line={ Start:{X:xLeft, Y:y}, End:{X:xRight, Y:y} };
|
|
63719
|
+
this.LinePoint.push(line);
|
|
63720
|
+
|
|
63721
|
+
//文字
|
|
63722
|
+
var text=`${item.Value} (${yValue.toFixed(2)})`;
|
|
63723
|
+
this.Canvas.fillStyle=item.Color;
|
|
63724
|
+
if (this.ExtendLine.Left)
|
|
63725
|
+
this.Canvas.fillText(text,xLeft+2,y-2);
|
|
63726
|
+
else
|
|
63727
|
+
this.Canvas.fillText(text,xLeft-2,y-2);
|
|
63728
|
+
|
|
63729
|
+
yPre=y;
|
|
63730
|
+
clrArea=IChartDrawPicture.ColorToRGBA(item.Color, this.AreaConfig.Opacity);
|
|
63731
|
+
}
|
|
63732
|
+
}
|
|
63733
|
+
|
|
63734
|
+
}
|
|
63735
|
+
|
|
63736
|
+
|
|
63737
|
+
function ChartFibSpeedResistanceFan()
|
|
63738
|
+
{
|
|
63739
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
63740
|
+
this.newMethod();
|
|
63741
|
+
delete this.newMethod;
|
|
63742
|
+
|
|
63743
|
+
this.ClassName='ChartFibSpeedResistanceFan';
|
|
63744
|
+
this.PointCount=2;
|
|
63745
|
+
this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
63746
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
63747
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
63748
|
+
this.PointToValue_Default=this.PointToValue;
|
|
63749
|
+
this.OnlyMoveXIndex=true;
|
|
63750
|
+
this.IsSupportMagnet=true;
|
|
63751
|
+
this.LineWidth=1;
|
|
63752
|
+
this.EnableBGColor=true;
|
|
63753
|
+
|
|
63754
|
+
this.AreaConfig=
|
|
63755
|
+
{
|
|
63756
|
+
AryYData:
|
|
63757
|
+
[
|
|
63758
|
+
{ Value: 0, Color:"rgb(128,128,128)", Enable:true },
|
|
63759
|
+
{ Value: 0.25, Color:"rgb(242,52,69)", Enable:true },
|
|
63760
|
+
{ Value: 0.382, Color:"rgb(255,152,0)",Enable:true },
|
|
63761
|
+
{ Value: 0.5, Color:"rgb(76,175,80)", Enable:true },
|
|
63762
|
+
{ Value: 0.618, Color:"rgb(8,153,129)", Enable:true },
|
|
63763
|
+
{ Value: 0.75, Color:"rgb(0,188,212)" ,Enable:true },
|
|
63764
|
+
{ Value: 1, Color:"rgb(120,123,134)", Enable:true },
|
|
63765
|
+
|
|
63766
|
+
],
|
|
63767
|
+
|
|
63768
|
+
AryXData:
|
|
63769
|
+
[
|
|
63770
|
+
{ Value: 0, Color:"rgb(128,128,128)", Enable:true },
|
|
63771
|
+
{ Value: 0.25, Color:"rgb(242,52,69)", Enable:true },
|
|
63772
|
+
{ Value: 0.382, Color:"rgb(255,152,0)",Enable:true },
|
|
63773
|
+
{ Value: 0.5, Color:"rgb(76,175,80)", Enable:true },
|
|
63774
|
+
{ Value: 0.618, Color:"rgb(8,153,129)", Enable:true },
|
|
63775
|
+
{ Value: 0.75, Color:"rgb(0,188,212)" ,Enable:true },
|
|
63776
|
+
{ Value: 1, Color:"rgb(120,123,134)", Enable:true },
|
|
63777
|
+
],
|
|
63778
|
+
|
|
63779
|
+
Opacity:0.3
|
|
63780
|
+
}
|
|
63781
|
+
|
|
63782
|
+
this.Draw=function()
|
|
63783
|
+
{
|
|
63784
|
+
this.LinePoint=[];
|
|
63785
|
+
if (this.IsFrameMinSize()) return;
|
|
63786
|
+
var bCheckXY=false;
|
|
63787
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
|
|
63788
|
+
if (!drawPoint) return;
|
|
63789
|
+
if (drawPoint.length!=2) return;
|
|
63790
|
+
|
|
63791
|
+
this.ClipFrame();
|
|
63792
|
+
|
|
63793
|
+
var ptStart=drawPoint[0];
|
|
63794
|
+
var ptEnd=drawPoint[1];
|
|
63795
|
+
|
|
63796
|
+
this.SetLineWidth();
|
|
63797
|
+
this.DrawBlock(ptEnd, ptStart);
|
|
63798
|
+
this.RestoreLineWidth();
|
|
63799
|
+
|
|
63800
|
+
this.DrawPoint(drawPoint); //画点
|
|
63801
|
+
this.Canvas.restore();
|
|
63802
|
+
}
|
|
63803
|
+
|
|
63804
|
+
//获取在第几象限
|
|
63805
|
+
this.GetQuadrant=function(ptStart,ptEnd)
|
|
63806
|
+
{
|
|
63807
|
+
if (ptStart.X<ptEnd.X && ptStart.Y>ptEnd.Y) return 1;
|
|
63808
|
+
else if (ptStart.X>ptEnd.X && ptStart.Y>ptEnd.Y) return 2;
|
|
63809
|
+
else if (ptStart.X<ptEnd.X && ptStart.Y< ptEnd.Y) return 4;
|
|
63810
|
+
else return 3;
|
|
63811
|
+
}
|
|
63812
|
+
|
|
63813
|
+
this.DrawBlock=function(ptStart, ptEnd)
|
|
63814
|
+
{
|
|
63815
|
+
var center=ptEnd;
|
|
63816
|
+
var xDiff=ptEnd.X-ptStart.X;
|
|
63817
|
+
var yDiff=ptEnd.Y-ptStart.Y;
|
|
63818
|
+
var quadrant=this.GetQuadrant(center,ptStart); //象限
|
|
63819
|
+
|
|
63820
|
+
var aryYData=this.GetArrayAreaConfig(this.AreaConfig.AryYData);
|
|
63821
|
+
var ptPre=null; //上一个点
|
|
63822
|
+
var clrArea=null;
|
|
63823
|
+
this.Canvas.font=this.Font;
|
|
63824
|
+
var textOffset=4;
|
|
63825
|
+
if (quadrant==1 || quadrant==4)
|
|
63826
|
+
{
|
|
63827
|
+
this.Canvas.textAlign="right";
|
|
63828
|
+
textOffset=-4;
|
|
63829
|
+
}
|
|
63830
|
+
else
|
|
63831
|
+
{
|
|
63832
|
+
this.Canvas.textAlign="left";
|
|
63833
|
+
textOffset=4;
|
|
63834
|
+
}
|
|
63835
|
+
this.Canvas.textBaseline="middle";
|
|
63836
|
+
for(var i=0;i<aryYData.length;++i)
|
|
63837
|
+
{
|
|
63838
|
+
var item=aryYData[i];
|
|
63839
|
+
var y=item.Value*yDiff+ptStart.Y;
|
|
63840
|
+
|
|
63841
|
+
var pt=this.CalculateExtendLineEndPoint([center, {X:ptStart.X, Y:y}]);
|
|
63842
|
+
|
|
63843
|
+
if (ptPre)
|
|
63844
|
+
{
|
|
63845
|
+
this.Canvas.beginPath();
|
|
63846
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
63847
|
+
this.Canvas.lineTo(ptPre.X,ptPre.Y);
|
|
63848
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
63849
|
+
this.Canvas.closePath();
|
|
63850
|
+
this.Canvas.fillStyle=clrArea;
|
|
63851
|
+
this.Canvas.fill();
|
|
63852
|
+
}
|
|
63853
|
+
|
|
63854
|
+
this.Canvas.strokeStyle=item.Color;
|
|
63855
|
+
this.Canvas.beginPath();
|
|
63856
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
63857
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
63858
|
+
this.Canvas.stroke();
|
|
63859
|
+
|
|
63860
|
+
this.LinePoint.push({Start:center, End:pt});
|
|
63861
|
+
|
|
63862
|
+
if (item.Value!=1)
|
|
63863
|
+
{
|
|
63864
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
63865
|
+
this.Canvas.beginPath();
|
|
63866
|
+
this.Canvas.moveTo(center.X,y);
|
|
63867
|
+
this.Canvas.lineTo(ptStart.X,y);
|
|
63868
|
+
this.Canvas.stroke();
|
|
63869
|
+
}
|
|
63870
|
+
|
|
63871
|
+
ptPre=pt;
|
|
63872
|
+
clrArea=IChartDrawPicture.ColorToRGBA(item.Color, this.AreaConfig.Opacity);
|
|
63873
|
+
|
|
63874
|
+
//文字
|
|
63875
|
+
var text=`${item.Value}`;
|
|
63876
|
+
this.Canvas.fillStyle=item.Color;
|
|
63877
|
+
this.Canvas.fillText(text,center.X+textOffset,y);
|
|
63878
|
+
}
|
|
63879
|
+
|
|
63880
|
+
var aryXData=this.GetArrayAreaConfig(this.AreaConfig.AryXData);
|
|
63881
|
+
var ptPre=null;
|
|
63882
|
+
this.Canvas.textAlign="center";
|
|
63883
|
+
if (quadrant==3 || quadrant==4)
|
|
63884
|
+
{
|
|
63885
|
+
this.Canvas.textBaseline="bottom";
|
|
63886
|
+
textOffset=-5;
|
|
63887
|
+
}
|
|
63888
|
+
else
|
|
63889
|
+
{
|
|
63890
|
+
this.Canvas.textBaseline="top";
|
|
63891
|
+
textOffset=5;
|
|
63892
|
+
}
|
|
63893
|
+
|
|
63894
|
+
for(var i=0;i<aryXData.length;++i)
|
|
63895
|
+
{
|
|
63896
|
+
var item=aryXData[i];
|
|
63897
|
+
var x=item.Value*xDiff+ptStart.X;
|
|
63898
|
+
|
|
63899
|
+
var pt=this.CalculateExtendLineEndPoint([center, {X:x, Y:ptStart.Y}]);
|
|
63900
|
+
|
|
63901
|
+
if (ptPre) //面积
|
|
63902
|
+
{
|
|
63903
|
+
this.Canvas.beginPath();
|
|
63904
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
63905
|
+
this.Canvas.lineTo(ptPre.X,ptPre.Y);
|
|
63906
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
63907
|
+
this.Canvas.closePath();
|
|
63908
|
+
this.Canvas.fillStyle=clrArea;
|
|
63909
|
+
this.Canvas.fill();
|
|
63910
|
+
}
|
|
63911
|
+
|
|
63912
|
+
this.Canvas.strokeStyle=item.Color;
|
|
63913
|
+
this.Canvas.beginPath();
|
|
63914
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
63915
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
63916
|
+
this.Canvas.stroke();
|
|
63917
|
+
|
|
63918
|
+
this.LinePoint.push({Start:center, End:pt});
|
|
63919
|
+
|
|
63920
|
+
if (item.Value!=1)
|
|
63921
|
+
{
|
|
63922
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
63923
|
+
this.Canvas.beginPath();
|
|
63924
|
+
this.Canvas.moveTo(x,center.Y);
|
|
63925
|
+
this.Canvas.lineTo(x,ptStart.Y);
|
|
63926
|
+
this.Canvas.stroke();
|
|
63927
|
+
}
|
|
63928
|
+
|
|
63929
|
+
ptPre=pt;
|
|
63930
|
+
clrArea=IChartDrawPicture.ColorToRGBA(item.Color, this.AreaConfig.Opacity);
|
|
63931
|
+
|
|
63932
|
+
//文字
|
|
63933
|
+
var text=`${item.Value}`;
|
|
63934
|
+
this.Canvas.fillStyle=item.Color;
|
|
63935
|
+
this.Canvas.fillText(text,x,center.Y+textOffset);
|
|
63936
|
+
}
|
|
63937
|
+
}
|
|
63938
|
+
|
|
63939
|
+
this.GetArrayAreaConfig=function(aryData)
|
|
63940
|
+
{
|
|
63941
|
+
var aryArea=[];
|
|
63942
|
+
for(var i=0;i<aryData.length;++i)
|
|
63943
|
+
{
|
|
63944
|
+
var item=aryData[i];
|
|
63945
|
+
if (item.Enable) aryArea.push(item);
|
|
63946
|
+
}
|
|
63947
|
+
|
|
63948
|
+
aryArea.sort((left,right)=>{ return right.Value-left.Value; })
|
|
63949
|
+
|
|
63950
|
+
return aryArea;
|
|
63951
|
+
}
|
|
63952
|
+
|
|
63953
|
+
}
|
|
63954
|
+
|
|
63496
63955
|
function ChartDrawStorage()
|
|
63497
63956
|
{
|
|
63498
63957
|
this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{Guid, Symbol, Period, ClassName, Value}
|
|
@@ -74878,7 +75337,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
74878
75337
|
if (moveSetp<5 && yMoveSetp<5) return;
|
|
74879
75338
|
if (!this.EnableSelectRect) return;
|
|
74880
75339
|
|
|
74881
|
-
this.UIElement.style.cursor="default";
|
|
75340
|
+
//this.UIElement.style.cursor="default";
|
|
75341
|
+
this.SetCursor({Cursor:"default"});
|
|
74882
75342
|
var x=drag.Click.X-uielement.getBoundingClientRect().left;
|
|
74883
75343
|
var y=drag.Click.Y-uielement.getBoundingClientRect().top;
|
|
74884
75344
|
var x2=e.clientX-uielement.getBoundingClientRect().left;
|
|
@@ -89820,7 +90280,7 @@ function MinuteCoordinateData()
|
|
|
89820
90280
|
{
|
|
89821
90281
|
Full: //完整模式
|
|
89822
90282
|
[
|
|
89823
|
-
[0, 0, "rgb(200,200,200)", "09:30"], //[0]=索引 [1]=线段类型 [2]=文字颜色(弃用) [3]=刻度文字 [4]=线段颜色
|
|
90283
|
+
[0, 0, "rgb(200,200,200)", "09:30"], //[0]=索引 [1]=线段类型 [2]=文字颜色(弃用) [3]=刻度文字 [4]=线段颜色 [5]=背景色
|
|
89824
90284
|
[31, 0, "RGB(200,200,200)", "10:00"],
|
|
89825
90285
|
[61, 0, "RGB(200,200,200)", "10:30"],
|
|
89826
90286
|
[91, 0, "RGB(200,200,200)", "11:00"],
|
|
@@ -128427,7 +128887,7 @@ function ScrollBarBGChart()
|
|
|
128427
128887
|
|
|
128428
128888
|
|
|
128429
128889
|
|
|
128430
|
-
var HQCHART_VERSION="1.1.
|
|
128890
|
+
var HQCHART_VERSION="1.1.12521";
|
|
128431
128891
|
|
|
128432
128892
|
function PrintHQChartVersion()
|
|
128433
128893
|
{
|