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
package/src/jscommon/umychart.js
CHANGED
|
@@ -1588,6 +1588,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1588
1588
|
|
|
1589
1589
|
this.JSChartContainer=chart;
|
|
1590
1590
|
|
|
1591
|
+
if (option.DefaultCursor) chart.DefaultCursor=option.DefaultCursor;
|
|
1591
1592
|
if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
|
|
1592
1593
|
|
|
1593
1594
|
//是否自动更新
|
|
@@ -2693,6 +2694,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
2693
2694
|
this.IsClickShowCorssCursor=false; //手势点击显示十字光标
|
|
2694
2695
|
this.ChartSplashPaint=null; //等待提示
|
|
2695
2696
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
2697
|
+
this.DefaultCursor="default"; //crosshair , default 默认手型
|
|
2696
2698
|
|
|
2697
2699
|
//绘图缓存
|
|
2698
2700
|
this.CacheCanvas=null;
|
|
@@ -3172,7 +3174,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3172
3174
|
event.Callback(event, sendData, this);
|
|
3173
3175
|
this.CustomChartDrag=sendData.ChartDrag;
|
|
3174
3176
|
|
|
3175
|
-
|
|
3177
|
+
this.SetCursor(sendData);
|
|
3176
3178
|
}
|
|
3177
3179
|
|
|
3178
3180
|
this.TryDragMove_CustomChartDrag=function(sendData)
|
|
@@ -3251,7 +3253,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3251
3253
|
{
|
|
3252
3254
|
if (item.Type==4)
|
|
3253
3255
|
{
|
|
3254
|
-
this.UIElement.style.cursor="pointer";
|
|
3256
|
+
//this.UIElement.style.cursor="pointer";
|
|
3257
|
+
this.SetCursor({Cursor:"pointer"});
|
|
3255
3258
|
var obj={ X:e.clientX };
|
|
3256
3259
|
if (this.GetXDataIndex(obj))
|
|
3257
3260
|
{
|
|
@@ -3261,7 +3264,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3261
3264
|
}
|
|
3262
3265
|
else
|
|
3263
3266
|
{
|
|
3264
|
-
this.UIElement.style.cursor="ew-resize";
|
|
3267
|
+
//this.UIElement.style.cursor="ew-resize";
|
|
3268
|
+
this.SetCursor({Cursor:"ew-resize"});
|
|
3265
3269
|
this.RectSelectDrag={ Index:item.PointIndex, Type:item.Type };
|
|
3266
3270
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] drag rect select ",item);
|
|
3267
3271
|
}
|
|
@@ -3275,7 +3279,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3275
3279
|
var dragBorder=this.Frame.PtInFrameBorder(x,y);
|
|
3276
3280
|
if (dragBorder && dragBorder.Index>=0)
|
|
3277
3281
|
{
|
|
3278
|
-
this.UIElement.style.cursor="n-resize";
|
|
3282
|
+
//this.UIElement.style.cursor="n-resize";
|
|
3283
|
+
this.SetCursor({Cursor:"n-resize"});
|
|
3279
3284
|
this.BorderDrag={ Index:dragBorder.Index };
|
|
3280
3285
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] DragBorder ",dragBorder);
|
|
3281
3286
|
}
|
|
@@ -3287,7 +3292,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3287
3292
|
var dragY=this.TryYDrag(x,y);
|
|
3288
3293
|
if (dragY)
|
|
3289
3294
|
{
|
|
3290
|
-
this.UIElement.style.cursor=dragY.Position==0 ? "n-resize":"row-resize";
|
|
3295
|
+
//this.UIElement.style.cursor=dragY.Position==0 ? "n-resize":"row-resize";
|
|
3296
|
+
var cursor=dragY.Position==0 ? "n-resize":"row-resize";
|
|
3297
|
+
this.SetCursor({Cursor:cursor});
|
|
3291
3298
|
this.YDrag=dragY;
|
|
3292
3299
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] dragY ",dragY);
|
|
3293
3300
|
}
|
|
@@ -3296,7 +3303,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3296
3303
|
var dragUpDown=this.TryUpDownDrag(x,y);
|
|
3297
3304
|
if (dragUpDown)
|
|
3298
3305
|
{
|
|
3299
|
-
this.UIElement.style.cursor="pointer";
|
|
3306
|
+
//this.UIElement.style.cursor="pointer";
|
|
3307
|
+
this.SetCursor({Cursor:"pointer"});
|
|
3300
3308
|
this.UpDownDrag=dragUpDown;
|
|
3301
3309
|
JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] dragUpDown ",dragUpDown);
|
|
3302
3310
|
}
|
|
@@ -3619,8 +3627,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3619
3627
|
|
|
3620
3628
|
if (moveSetp<5 && yMoveSetp<5) return;
|
|
3621
3629
|
|
|
3622
|
-
this.UIElement.style.cursor="default";
|
|
3623
|
-
|
|
3630
|
+
//this.UIElement.style.cursor="default";
|
|
3631
|
+
this.SetCursor({Cursor:"default"});
|
|
3624
3632
|
var x=drag.Click.X-uielement.getBoundingClientRect().left;
|
|
3625
3633
|
var y=drag.Click.Y-uielement.getBoundingClientRect().top;
|
|
3626
3634
|
var x2=e.clientX-uielement.getBoundingClientRect().left;
|
|
@@ -3649,7 +3657,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3649
3657
|
{
|
|
3650
3658
|
var yMove=e.clientY-drag.LastMove.Y;
|
|
3651
3659
|
JSConsole.Chart.Log("[JSChartContainer::OnDragMode_One] UpDownDrag ",this.UpDownDrag,yMove);
|
|
3652
|
-
this.UIElement.style.cursor="pointer";
|
|
3660
|
+
//this.UIElement.style.cursor="pointer";
|
|
3661
|
+
this.SetCursor({Cursor:"pointer"});
|
|
3653
3662
|
if (this.OnUpDonwFrameY(this.UpDownDrag, yMove))
|
|
3654
3663
|
{
|
|
3655
3664
|
bNeedDraw=true;
|
|
@@ -3696,7 +3705,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3696
3705
|
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
3697
3706
|
if (moveSetp<oneStepWidth)
|
|
3698
3707
|
{
|
|
3699
|
-
this.UIElement.style.cursor=cursorStatus;
|
|
3708
|
+
//this.UIElement.style.cursor=cursorStatus;
|
|
3709
|
+
this.SetCursor({Cursor:cursorStatus});
|
|
3700
3710
|
if (bNeedDraw) this.Draw();
|
|
3701
3711
|
return;
|
|
3702
3712
|
}
|
|
@@ -3726,7 +3736,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3726
3736
|
if (this.DragDownloadData) this.DragDownloadData();
|
|
3727
3737
|
}
|
|
3728
3738
|
}
|
|
3729
|
-
this.UIElement.style.cursor=cursorStatus;
|
|
3739
|
+
//this.UIElement.style.cursor=cursorStatus;
|
|
3740
|
+
this.SetCursor({Cursor:cursorStatus});
|
|
3730
3741
|
}
|
|
3731
3742
|
drag.LastMove.X=e.clientX;
|
|
3732
3743
|
}
|
|
@@ -3794,7 +3805,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3794
3805
|
var chartMove=this.GetExtendChartByClassName("DragMovePaint");
|
|
3795
3806
|
if (chartMove && chartMove.Chart) chartMove.Chart.Clear();
|
|
3796
3807
|
if (!this.OnDragChart(this.IndexChartDrag)) this.DrawDynamicInfo();
|
|
3797
|
-
this.UIElement.style.cursor="default";
|
|
3808
|
+
//this.UIElement.style.cursor="default";
|
|
3809
|
+
this.SetCursor({Cursor:"default"});
|
|
3798
3810
|
}
|
|
3799
3811
|
else if (this.CustomChartDrag)
|
|
3800
3812
|
{
|
|
@@ -3884,7 +3896,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3884
3896
|
//清空数据
|
|
3885
3897
|
JSConsole.Chart.Log('[KLineChartContainer::document.onmouseup]',e);
|
|
3886
3898
|
if (this.SelectChartDrawPicture) this.SelectChartDrawPicture.DragInfo=null;
|
|
3887
|
-
this.UIElement.style.cursor="default";
|
|
3899
|
+
//this.UIElement.style.cursor="default";
|
|
3900
|
+
this.SetCursor({Cursor:"default"});
|
|
3888
3901
|
this.MouseDrag=null;
|
|
3889
3902
|
this.ClickDownPoint=null;
|
|
3890
3903
|
this.IsOnTouch=false;
|
|
@@ -5719,7 +5732,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5719
5732
|
var frameID=this.Frame.PtInFrame(x,y);
|
|
5720
5733
|
if (IFrameSplitOperator.IsNumber(frameID) && frameID>=0) //在K线内部移动,调整K线索引
|
|
5721
5734
|
this.CursorIndex=this.Frame.GetXData(x);
|
|
5722
|
-
|
|
5723
5735
|
|
|
5724
5736
|
|
|
5725
5737
|
if (this.EnableBorderDrag && this.Frame && !this.CurrentChartDrawPicture)
|
|
@@ -5842,13 +5854,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5842
5854
|
|
|
5843
5855
|
if (drawPictrueData.PointIndex===100)
|
|
5844
5856
|
{
|
|
5845
|
-
if (drawPictrueData.Cursor) this.UIElement.style.cursor=drawPictrueData.Cursor;
|
|
5846
|
-
else this.UIElement.style.cursor="move";
|
|
5857
|
+
if (drawPictrueData.Cursor) this.SetCursor(drawPictrueData); //this.UIElement.style.cursor=drawPictrueData.Cursor;
|
|
5858
|
+
else this.SetCursor({Cursor:"move"}); //this.UIElement.style.cursor="move";
|
|
5847
5859
|
}
|
|
5848
5860
|
else
|
|
5849
5861
|
{
|
|
5850
|
-
if (drawPictrueData.Cursor) this.UIElement.style.cursor=drawPictrueData.Cursor
|
|
5851
|
-
else this.UIElement.style.cursor="pointer";
|
|
5862
|
+
if (drawPictrueData.Cursor) this.SetCursor(drawPictrueData); //this.UIElement.style.cursor=drawPictrueData.Cursor
|
|
5863
|
+
else this.SetCursor({Cursor:"pointer"}); //this.UIElement.style.cursor="pointer";
|
|
5852
5864
|
}
|
|
5853
5865
|
|
|
5854
5866
|
bDrawPicture=true;
|
|
@@ -5856,7 +5868,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5856
5868
|
}
|
|
5857
5869
|
else
|
|
5858
5870
|
{
|
|
5859
|
-
if (!this.MouseDrag) this.UIElement.style.cursor="default";
|
|
5871
|
+
if (!this.MouseDrag) this.SetCursor({Cursor:"default"}); //this.UIElement.style.cursor="default";
|
|
5860
5872
|
}
|
|
5861
5873
|
}
|
|
5862
5874
|
|
|
@@ -5879,7 +5891,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5879
5891
|
this.DrawDynamicInfo(option);
|
|
5880
5892
|
}
|
|
5881
5893
|
|
|
5882
|
-
|
|
5894
|
+
this.SetCursor(mouseStatus);
|
|
5883
5895
|
|
|
5884
5896
|
if (this.IsShowTooltip && bDrawPicture==false)
|
|
5885
5897
|
{
|
|
@@ -5907,6 +5919,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5907
5919
|
}
|
|
5908
5920
|
}
|
|
5909
5921
|
|
|
5922
|
+
//设置鼠标形状 {Cursor:鼠标形状 }
|
|
5923
|
+
this.SetCursor=function(obj)
|
|
5924
|
+
{
|
|
5925
|
+
if (!obj || !obj.Cursor) return;
|
|
5926
|
+
|
|
5927
|
+
if (obj.Cursor=="default")
|
|
5928
|
+
this.UIElement.style.cursor=this.DefaultCursor;
|
|
5929
|
+
else
|
|
5930
|
+
this.UIElement.style.cursor=obj.Cursor;
|
|
5931
|
+
}
|
|
5932
|
+
|
|
5910
5933
|
this.OnKeyDown=function(e)
|
|
5911
5934
|
{
|
|
5912
5935
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
@@ -8660,6 +8683,7 @@ function CoordinateInfo()
|
|
|
8660
8683
|
this.Value; //坐标数据
|
|
8661
8684
|
this.Message=[]; //坐标输出文字信息 0=左 1=右 2=内左 3=内右
|
|
8662
8685
|
this.TextColor=g_JSChartResource.FrameSplitTextColor //文字颜色
|
|
8686
|
+
this.TextBGColor; //文字背景色
|
|
8663
8687
|
this.TextColor2; //右侧文字颜色,空使用TextColor
|
|
8664
8688
|
this.Font=g_JSChartResource.FrameSplitTextFont; //字体
|
|
8665
8689
|
this.LineColor=g_JSChartResource.FrameSplitPen; //线段颜色
|
|
@@ -10172,9 +10196,10 @@ function AverageWidthFrame()
|
|
|
10172
10196
|
this.Canvas.font=this.VerticalInfo[i].Font;
|
|
10173
10197
|
|
|
10174
10198
|
var textLeft=0;
|
|
10175
|
-
|
|
10199
|
+
|
|
10176
10200
|
this.Canvas.strokeStyle=item.TextColor;
|
|
10177
10201
|
var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;
|
|
10202
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
10178
10203
|
if (x<testWidth/2)
|
|
10179
10204
|
{
|
|
10180
10205
|
this.Canvas.textAlign="left";
|
|
@@ -10208,6 +10233,15 @@ function AverageWidthFrame()
|
|
|
10208
10233
|
yText+=lineLength+2*pixelRatio;
|
|
10209
10234
|
}
|
|
10210
10235
|
|
|
10236
|
+
//item.TextBGColor="rgb(0,255,0)";
|
|
10237
|
+
if (item.TextBGColor) //文字背景色
|
|
10238
|
+
{
|
|
10239
|
+
var rtText={ Left:textLeft, Top:yText+this.XBottomOffset, Width:testWidth, Height:textHeight };
|
|
10240
|
+
this.Canvas.fillStyle=item.TextBGColor;
|
|
10241
|
+
this.Canvas.fillRect(rtText.Left-1, rtText.Top, rtText.Width+2, rtText.Height);
|
|
10242
|
+
}
|
|
10243
|
+
|
|
10244
|
+
this.Canvas.fillStyle=item.TextColor;
|
|
10211
10245
|
this.Canvas.fillText(this.VerticalInfo[i].Message[0],x,yText+this.XBottomOffset);
|
|
10212
10246
|
textRightPrev=textLeft+testWidth;
|
|
10213
10247
|
}
|
|
@@ -28981,6 +29015,7 @@ function ChartStick()
|
|
|
28981
29015
|
this.Draw=function()
|
|
28982
29016
|
{
|
|
28983
29017
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
29018
|
+
if (this.IsHideScriptIndex()) return;
|
|
28984
29019
|
|
|
28985
29020
|
if (this.NotSupportMessage)
|
|
28986
29021
|
{
|
|
@@ -29006,6 +29041,8 @@ function ChartLineStick()
|
|
|
29006
29041
|
this.Draw=function()
|
|
29007
29042
|
{
|
|
29008
29043
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
29044
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
29045
|
+
if (this.IsHideScriptIndex()) return;
|
|
29009
29046
|
|
|
29010
29047
|
if (this.NotSupportMessage)
|
|
29011
29048
|
{
|
|
@@ -39534,7 +39571,7 @@ function DrawToolsButton()
|
|
|
39534
39571
|
{ HTML: { Title: 'M头W底', IClass: 'iconfont icon-draw_wavemw', ID: 'icon-wavemw' }, Name: 'M头W底' },
|
|
39535
39572
|
{ HTML: { Title: '头肩型', IClass: 'iconfont icon-draw_head_shoulders_bt', ID: 'icon-Head-Shoulders' }, Name: '头肩型' },
|
|
39536
39573
|
{ HTML: { Title: '波浪尺', IClass: 'iconfont icon-waveruler', ID: 'icon-wave-ruler' }, Name: '波浪尺' },
|
|
39537
|
-
{ HTML: { Title: 'AB波浪尺', IClass: 'iconfont icon-waveruler', ID: 'icon-wave-
|
|
39574
|
+
{ HTML: { Title: 'AB波浪尺', IClass: 'iconfont icon-waveruler', ID: 'icon-wave-ruler2' }, Name: 'AB波浪尺' },
|
|
39538
39575
|
{ HTML: { Title: '箱型线', IClass: 'iconfont icon-draw_box', ID: 'icon-drawbox' }, Name: '箱型线' },
|
|
39539
39576
|
{ HTML: { Title: '涂鸦线段', IClass: 'iconfont icon-draw_line', ID: 'icon-segment2' }, Name: '涂鸦线段' },
|
|
39540
39577
|
|
|
@@ -44722,6 +44759,7 @@ function FrameSplitMinuteX()
|
|
|
44722
44759
|
info.Value=item[0];
|
|
44723
44760
|
if (this.ShowText) info.Message[0]=item[3];
|
|
44724
44761
|
if (item[4]) info.LineColor=item[4]; //线段颜色
|
|
44762
|
+
if (item[5]) info.TextBGColor=item[5]; //文字背景色
|
|
44725
44763
|
this.Frame.VerticalInfo[i]=info;
|
|
44726
44764
|
}
|
|
44727
44765
|
}
|
|
@@ -48516,7 +48554,8 @@ function DynamicMinuteTitlePainting()
|
|
|
48516
48554
|
|
|
48517
48555
|
if (beforeItem && dataItem) //盘前数据
|
|
48518
48556
|
{
|
|
48519
|
-
if (beforeItem.Date>dataItem.Date || (beforeItem.Date==dataItem.Date && beforeItem.Time>dataItem.Time &&
|
|
48557
|
+
if (beforeItem.Date>dataItem.Date || (beforeItem.Date==dataItem.Date && beforeItem.Time>dataItem.Time && beforeDataVer==1.0)
|
|
48558
|
+
|| (beforeItem.Date==dataItem.Date && parseInt(beforeItem.Time>dataItem.Time) && beforeDataVer==2.0))
|
|
48520
48559
|
return { Type:2, Data:beforeItem, Ver: beforeDataVer, Explain:beforeExplain};
|
|
48521
48560
|
}
|
|
48522
48561
|
|
|
@@ -51930,7 +51969,9 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
51930
51969
|
{ Name:"AnchoredText", ClassName:"ChartDrawAnchoredText", Create:function() { return new ChartDrawAnchoredText();} },
|
|
51931
51970
|
{ Name:"PriceLabel", ClassName:"ChartDrawPriceLabel", Create:function() { return new ChartDrawPriceLabel();} },
|
|
51932
51971
|
{ Name:"PriceNote", ClassName:"ChartDrawPriceNote", Create:function() { return new ChartDrawPriceNote();} },
|
|
51933
|
-
{ Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }}
|
|
51972
|
+
{ Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }},
|
|
51973
|
+
{ Name:"FibRetracement", ClassName:"ChartFibRetracement", Create:function() { return new ChartFibRetracement(); }}, //斐波那契回测
|
|
51974
|
+
{ Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }} //斐波那契扇形
|
|
51934
51975
|
];
|
|
51935
51976
|
|
|
51936
51977
|
IChartDrawPicture.MapIonFont=new Map(
|
|
@@ -54201,7 +54242,7 @@ function ChartDrawPictureParallelChannel()
|
|
|
54201
54242
|
var ptCenter=new Point();
|
|
54202
54243
|
ptCenter.X=linePoint.Start.X+(linePoint.End.X-linePoint.Start.X)/2;
|
|
54203
54244
|
ptCenter.Y=linePoint.Start.Y+(linePoint.End.Y-linePoint.Start.Y)/2;
|
|
54204
|
-
drawPoint[
|
|
54245
|
+
drawPoint[2]=ptCenter;
|
|
54205
54246
|
|
|
54206
54247
|
this.Point[2]=ptCenter;
|
|
54207
54248
|
var xValue=parseInt(this.Frame.GetXData(ptCenter.X))+data.DataOffset;
|
|
@@ -54634,6 +54675,7 @@ function ChartDrawPictureGannFan()
|
|
|
54634
54675
|
else return 3;
|
|
54635
54676
|
}
|
|
54636
54677
|
|
|
54678
|
+
|
|
54637
54679
|
//isDotline 是否是虚线
|
|
54638
54680
|
this.DrawLine=function(ptStart,ptEnd,isDottedline)
|
|
54639
54681
|
{
|
|
@@ -59413,6 +59455,423 @@ function ChartDrawFibWedge()
|
|
|
59413
59455
|
|
|
59414
59456
|
}
|
|
59415
59457
|
|
|
59458
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
59459
|
+
// 斐波那契回测
|
|
59460
|
+
//
|
|
59461
|
+
function ChartFibRetracement()
|
|
59462
|
+
{
|
|
59463
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
59464
|
+
this.newMethod();
|
|
59465
|
+
delete this.newMethod;
|
|
59466
|
+
|
|
59467
|
+
this.ClassName='ChartFibRetracement';
|
|
59468
|
+
this.PointCount=2;
|
|
59469
|
+
this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
59470
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
59471
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
59472
|
+
this.PointToValue_Default=this.PointToValue;
|
|
59473
|
+
this.OnlyMoveXIndex=true;
|
|
59474
|
+
this.IsSupportMagnet=true;
|
|
59475
|
+
this.LineDash=[6,3];
|
|
59476
|
+
this.LineWidth=1;
|
|
59477
|
+
this.EnableBGColor=true;
|
|
59478
|
+
this.ExtendLine={ Left:false, Right: false }; //延长线
|
|
59479
|
+
|
|
59480
|
+
this.AreaConfig=
|
|
59481
|
+
{
|
|
59482
|
+
AryData:
|
|
59483
|
+
[
|
|
59484
|
+
{ Value: 0, Color:"rgb(128,128,128)", Enable:true },
|
|
59485
|
+
{ Value: 0.236, Color:"rgb(242,52,69)", Enable:true },
|
|
59486
|
+
{ Value: 0.382, Color:"rgb(255,152,0)",Enable:true },
|
|
59487
|
+
{ Value: 0.5, Color:"rgb(76,175,80)", Enable:true },
|
|
59488
|
+
{ Value: 0.618, Color:"rgb(8,153,129)", Enable:true },
|
|
59489
|
+
{ Value: 0.786, Color:"rgb(0,188,212)" ,Enable:true },
|
|
59490
|
+
{ Value: 1, Color:"rgb(120,123,134)", Enable:true },
|
|
59491
|
+
{ Value: 1.618, Color:"rgb(41,98,255)",Enable:true },
|
|
59492
|
+
{ Value: 2.618, Color:"rgb(242,54,69)",Enable:false },
|
|
59493
|
+
],
|
|
59494
|
+
|
|
59495
|
+
Opacity:0.3
|
|
59496
|
+
}
|
|
59497
|
+
|
|
59498
|
+
this.SetOption=function(option)
|
|
59499
|
+
{
|
|
59500
|
+
if (!option) return;
|
|
59501
|
+
|
|
59502
|
+
if (option.Font) this.Font=option.Font;
|
|
59503
|
+
if (option.LineWidth) this.LineWidth=option.LineWidth;
|
|
59504
|
+
if (option.LineDash) this.LineDash=option.LineDash;
|
|
59505
|
+
if (IFrameSplitOperator.IsBool(option.EnableBGColor)) this.EnableBGColor=option.EnableBGColor;
|
|
59506
|
+
if (option.ExtendLine)
|
|
59507
|
+
{
|
|
59508
|
+
var item=option.ExtendLine;
|
|
59509
|
+
if (IFrameSplitOperator.IsBool(item.Left)) this.ExtendLine.Left=item.Left;
|
|
59510
|
+
if (IFrameSplitOperator.IsBool(item.Right)) this.ExtendLine.Left=item.Right;
|
|
59511
|
+
}
|
|
59512
|
+
|
|
59513
|
+
if (option.AreaConfig) this.AreaConfig=option.AreaConfig;
|
|
59514
|
+
}
|
|
59515
|
+
|
|
59516
|
+
//导出成存储格式
|
|
59517
|
+
this.ExportStorageData=function()
|
|
59518
|
+
{
|
|
59519
|
+
var storageData=this.ExportBaseData();
|
|
59520
|
+
|
|
59521
|
+
storageData.Value=[];
|
|
59522
|
+
for(var i=0;i<this.Value.length && i<this.PointCount;++i)
|
|
59523
|
+
{
|
|
59524
|
+
var item=this.Value[i];
|
|
59525
|
+
storageData.Value.push( { XValue:item.XValue, YValue:item.YValue } );
|
|
59526
|
+
}
|
|
59527
|
+
|
|
59528
|
+
storageData.Font=this.Font;
|
|
59529
|
+
storageData.EnableBGColor=this.EnableBGColor;
|
|
59530
|
+
storageData.LineDash=this.LineDash;
|
|
59531
|
+
storageData.ExtendLine={ Left:this.ExtendLine.Left, Right:this.ExtendLine.Right };
|
|
59532
|
+
storageData.AreaConfig=CloneData(this.AreaConfig);
|
|
59533
|
+
|
|
59534
|
+
return storageData;
|
|
59535
|
+
}
|
|
59536
|
+
|
|
59537
|
+
this.ImportStorageData=function(storageData)
|
|
59538
|
+
{
|
|
59539
|
+
if (storageData.Font) this.Font=storageData.Font;
|
|
59540
|
+
if (storageData.LineDash) this.LineDash=storageData.LineDash;
|
|
59541
|
+
if (IFrameSplitOperator.IsBool(storageData.EnableBGColor)) this.EnableBGColor=storageData.EnableBGColor;
|
|
59542
|
+
if (storageData.ExtendLine) this.ExtendLine=storageData.ExtendLine;
|
|
59543
|
+
if (storageData.AreaConfig) this.AreaConfig=storageData.AreaConfig;
|
|
59544
|
+
}
|
|
59545
|
+
|
|
59546
|
+
this.Draw=function()
|
|
59547
|
+
{
|
|
59548
|
+
this.LinePoint=[];
|
|
59549
|
+
if (this.IsFrameMinSize()) return;
|
|
59550
|
+
var bCheckXY=true;
|
|
59551
|
+
if (this.ExtendLine.Left || this.ExtendLine.Right) bCheckXY=false;
|
|
59552
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
|
|
59553
|
+
if (!drawPoint) return;
|
|
59554
|
+
if (drawPoint.length!=2) return;
|
|
59555
|
+
|
|
59556
|
+
this.ClipFrame();
|
|
59557
|
+
|
|
59558
|
+
var ptStart=drawPoint[0];
|
|
59559
|
+
var ptEnd=drawPoint[1];
|
|
59560
|
+
|
|
59561
|
+
this.SetLineWidth();
|
|
59562
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
59563
|
+
this.Canvas.setLineDash(this.LineDash);
|
|
59564
|
+
this.Canvas.beginPath();
|
|
59565
|
+
this.Canvas.moveTo(ptStart.X,ptStart.Y);
|
|
59566
|
+
this.Canvas.lineTo(ptEnd.X,ptEnd.Y);
|
|
59567
|
+
this.Canvas.stroke();
|
|
59568
|
+
this.Canvas.setLineDash([]);
|
|
59569
|
+
|
|
59570
|
+
this.DrawBlock(ptStart, ptEnd);
|
|
59571
|
+
|
|
59572
|
+
this.RestoreLineWidth();
|
|
59573
|
+
|
|
59574
|
+
var line={Start:ptStart, End:ptEnd};
|
|
59575
|
+
this.LinePoint.push(line);
|
|
59576
|
+
|
|
59577
|
+
this.DrawPoint(drawPoint); //画点
|
|
59578
|
+
this.Canvas.restore();
|
|
59579
|
+
}
|
|
59580
|
+
|
|
59581
|
+
this.GetArrayAreaConfig=function()
|
|
59582
|
+
{
|
|
59583
|
+
var aryArea=[];
|
|
59584
|
+
for(var i=0;i<this.AreaConfig.AryData.length;++i)
|
|
59585
|
+
{
|
|
59586
|
+
var item=this.AreaConfig.AryData[i];
|
|
59587
|
+
if (item.Enable) aryArea.push(item);
|
|
59588
|
+
}
|
|
59589
|
+
|
|
59590
|
+
aryArea.sort((left,right)=>{ return right.Value-left.Value; })
|
|
59591
|
+
|
|
59592
|
+
return aryArea;
|
|
59593
|
+
}
|
|
59594
|
+
|
|
59595
|
+
this.DrawBlock=function(ptStart, ptEnd)
|
|
59596
|
+
{
|
|
59597
|
+
var yTop=Math.min(ptStart.Y, ptEnd.Y);
|
|
59598
|
+
var yBottom=Math.max(ptStart.Y, ptEnd.Y);
|
|
59599
|
+
var xLeft=Math.min(ptStart.X, ptEnd.X);
|
|
59600
|
+
var xRight=Math.max(ptStart.X, ptEnd.X);
|
|
59601
|
+
var height=yBottom-yTop;
|
|
59602
|
+
//var baseValue=Math.min(this.Value[0].YValue, this.Value[1].YValue);
|
|
59603
|
+
//var diffValue=Math.abs(this.Value[0].YValue-this.Value[1].YValue); //差值
|
|
59604
|
+
|
|
59605
|
+
if (this.ExtendLine.Right) xRight=this.Frame.ChartBorder.GetRight();
|
|
59606
|
+
if (this.ExtendLine.Left) xLeft=this.Frame.ChartBorder.GetLeft();
|
|
59607
|
+
|
|
59608
|
+
var aryArea=this.GetArrayAreaConfig();
|
|
59609
|
+
var yPre=null; //上一个点
|
|
59610
|
+
var clrArea=null;
|
|
59611
|
+
this.Canvas.font=this.Font;
|
|
59612
|
+
if (this.ExtendLine.Left) this.Canvas.textAlign="left";
|
|
59613
|
+
else this.Canvas.textAlign="right";
|
|
59614
|
+
this.Canvas.textBaseline="bottom";
|
|
59615
|
+
|
|
59616
|
+
for(var i=0;i<aryArea.length;++i)
|
|
59617
|
+
{
|
|
59618
|
+
var item=aryArea[i];
|
|
59619
|
+
var y=yBottom-height*item.Value;
|
|
59620
|
+
//var yValue=baseValue+diffValue*item.Value;
|
|
59621
|
+
yValue=this.Frame.GetYData(y,false);
|
|
59622
|
+
y=ToFixedPoint(y);
|
|
59623
|
+
if (this.EnableBGColor && IFrameSplitOperator.IsNumber(yPre))
|
|
59624
|
+
{
|
|
59625
|
+
var rtBG={ Left:xLeft, Right:xRight, Top:yPre, Bottom:y };
|
|
59626
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
59627
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
59628
|
+
this.Canvas.fillStyle=clrArea;
|
|
59629
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
59630
|
+
}
|
|
59631
|
+
|
|
59632
|
+
this.Canvas.strokeStyle=item.Color;
|
|
59633
|
+
this.Canvas.beginPath();
|
|
59634
|
+
this.Canvas.moveTo(xLeft,y);
|
|
59635
|
+
this.Canvas.lineTo(xRight,y);
|
|
59636
|
+
this.Canvas.stroke();
|
|
59637
|
+
|
|
59638
|
+
var line={ Start:{X:xLeft, Y:y}, End:{X:xRight, Y:y} };
|
|
59639
|
+
this.LinePoint.push(line);
|
|
59640
|
+
|
|
59641
|
+
//文字
|
|
59642
|
+
var text=`${item.Value} (${yValue.toFixed(2)})`;
|
|
59643
|
+
this.Canvas.fillStyle=item.Color;
|
|
59644
|
+
if (this.ExtendLine.Left)
|
|
59645
|
+
this.Canvas.fillText(text,xLeft+2,y-2);
|
|
59646
|
+
else
|
|
59647
|
+
this.Canvas.fillText(text,xLeft-2,y-2);
|
|
59648
|
+
|
|
59649
|
+
yPre=y;
|
|
59650
|
+
clrArea=IChartDrawPicture.ColorToRGBA(item.Color, this.AreaConfig.Opacity);
|
|
59651
|
+
}
|
|
59652
|
+
}
|
|
59653
|
+
|
|
59654
|
+
}
|
|
59655
|
+
|
|
59656
|
+
|
|
59657
|
+
function ChartFibSpeedResistanceFan()
|
|
59658
|
+
{
|
|
59659
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
59660
|
+
this.newMethod();
|
|
59661
|
+
delete this.newMethod;
|
|
59662
|
+
|
|
59663
|
+
this.ClassName='ChartFibSpeedResistanceFan';
|
|
59664
|
+
this.PointCount=2;
|
|
59665
|
+
this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
59666
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
59667
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
59668
|
+
this.PointToValue_Default=this.PointToValue;
|
|
59669
|
+
this.OnlyMoveXIndex=true;
|
|
59670
|
+
this.IsSupportMagnet=true;
|
|
59671
|
+
this.LineWidth=1;
|
|
59672
|
+
this.EnableBGColor=true;
|
|
59673
|
+
|
|
59674
|
+
this.AreaConfig=
|
|
59675
|
+
{
|
|
59676
|
+
AryYData:
|
|
59677
|
+
[
|
|
59678
|
+
{ Value: 0, Color:"rgb(128,128,128)", Enable:true },
|
|
59679
|
+
{ Value: 0.25, Color:"rgb(242,52,69)", Enable:true },
|
|
59680
|
+
{ Value: 0.382, Color:"rgb(255,152,0)",Enable:true },
|
|
59681
|
+
{ Value: 0.5, Color:"rgb(76,175,80)", Enable:true },
|
|
59682
|
+
{ Value: 0.618, Color:"rgb(8,153,129)", Enable:true },
|
|
59683
|
+
{ Value: 0.75, Color:"rgb(0,188,212)" ,Enable:true },
|
|
59684
|
+
{ Value: 1, Color:"rgb(120,123,134)", Enable:true },
|
|
59685
|
+
|
|
59686
|
+
],
|
|
59687
|
+
|
|
59688
|
+
AryXData:
|
|
59689
|
+
[
|
|
59690
|
+
{ Value: 0, Color:"rgb(128,128,128)", Enable:true },
|
|
59691
|
+
{ Value: 0.25, Color:"rgb(242,52,69)", Enable:true },
|
|
59692
|
+
{ Value: 0.382, Color:"rgb(255,152,0)",Enable:true },
|
|
59693
|
+
{ Value: 0.5, Color:"rgb(76,175,80)", Enable:true },
|
|
59694
|
+
{ Value: 0.618, Color:"rgb(8,153,129)", Enable:true },
|
|
59695
|
+
{ Value: 0.75, Color:"rgb(0,188,212)" ,Enable:true },
|
|
59696
|
+
{ Value: 1, Color:"rgb(120,123,134)", Enable:true },
|
|
59697
|
+
],
|
|
59698
|
+
|
|
59699
|
+
Opacity:0.3
|
|
59700
|
+
}
|
|
59701
|
+
|
|
59702
|
+
this.Draw=function()
|
|
59703
|
+
{
|
|
59704
|
+
this.LinePoint=[];
|
|
59705
|
+
if (this.IsFrameMinSize()) return;
|
|
59706
|
+
var bCheckXY=false;
|
|
59707
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
|
|
59708
|
+
if (!drawPoint) return;
|
|
59709
|
+
if (drawPoint.length!=2) return;
|
|
59710
|
+
|
|
59711
|
+
this.ClipFrame();
|
|
59712
|
+
|
|
59713
|
+
var ptStart=drawPoint[0];
|
|
59714
|
+
var ptEnd=drawPoint[1];
|
|
59715
|
+
|
|
59716
|
+
this.SetLineWidth();
|
|
59717
|
+
this.DrawBlock(ptEnd, ptStart);
|
|
59718
|
+
this.RestoreLineWidth();
|
|
59719
|
+
|
|
59720
|
+
this.DrawPoint(drawPoint); //画点
|
|
59721
|
+
this.Canvas.restore();
|
|
59722
|
+
}
|
|
59723
|
+
|
|
59724
|
+
//获取在第几象限
|
|
59725
|
+
this.GetQuadrant=function(ptStart,ptEnd)
|
|
59726
|
+
{
|
|
59727
|
+
if (ptStart.X<ptEnd.X && ptStart.Y>ptEnd.Y) return 1;
|
|
59728
|
+
else if (ptStart.X>ptEnd.X && ptStart.Y>ptEnd.Y) return 2;
|
|
59729
|
+
else if (ptStart.X<ptEnd.X && ptStart.Y< ptEnd.Y) return 4;
|
|
59730
|
+
else return 3;
|
|
59731
|
+
}
|
|
59732
|
+
|
|
59733
|
+
this.DrawBlock=function(ptStart, ptEnd)
|
|
59734
|
+
{
|
|
59735
|
+
var center=ptEnd;
|
|
59736
|
+
var xDiff=ptEnd.X-ptStart.X;
|
|
59737
|
+
var yDiff=ptEnd.Y-ptStart.Y;
|
|
59738
|
+
var quadrant=this.GetQuadrant(center,ptStart); //象限
|
|
59739
|
+
|
|
59740
|
+
var aryYData=this.GetArrayAreaConfig(this.AreaConfig.AryYData);
|
|
59741
|
+
var ptPre=null; //上一个点
|
|
59742
|
+
var clrArea=null;
|
|
59743
|
+
this.Canvas.font=this.Font;
|
|
59744
|
+
var textOffset=4;
|
|
59745
|
+
if (quadrant==1 || quadrant==4)
|
|
59746
|
+
{
|
|
59747
|
+
this.Canvas.textAlign="right";
|
|
59748
|
+
textOffset=-4;
|
|
59749
|
+
}
|
|
59750
|
+
else
|
|
59751
|
+
{
|
|
59752
|
+
this.Canvas.textAlign="left";
|
|
59753
|
+
textOffset=4;
|
|
59754
|
+
}
|
|
59755
|
+
this.Canvas.textBaseline="middle";
|
|
59756
|
+
for(var i=0;i<aryYData.length;++i)
|
|
59757
|
+
{
|
|
59758
|
+
var item=aryYData[i];
|
|
59759
|
+
var y=item.Value*yDiff+ptStart.Y;
|
|
59760
|
+
|
|
59761
|
+
var pt=this.CalculateExtendLineEndPoint([center, {X:ptStart.X, Y:y}]);
|
|
59762
|
+
|
|
59763
|
+
if (ptPre)
|
|
59764
|
+
{
|
|
59765
|
+
this.Canvas.beginPath();
|
|
59766
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
59767
|
+
this.Canvas.lineTo(ptPre.X,ptPre.Y);
|
|
59768
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
59769
|
+
this.Canvas.closePath();
|
|
59770
|
+
this.Canvas.fillStyle=clrArea;
|
|
59771
|
+
this.Canvas.fill();
|
|
59772
|
+
}
|
|
59773
|
+
|
|
59774
|
+
this.Canvas.strokeStyle=item.Color;
|
|
59775
|
+
this.Canvas.beginPath();
|
|
59776
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
59777
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
59778
|
+
this.Canvas.stroke();
|
|
59779
|
+
|
|
59780
|
+
this.LinePoint.push({Start:center, End:pt});
|
|
59781
|
+
|
|
59782
|
+
if (item.Value!=1)
|
|
59783
|
+
{
|
|
59784
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
59785
|
+
this.Canvas.beginPath();
|
|
59786
|
+
this.Canvas.moveTo(center.X,y);
|
|
59787
|
+
this.Canvas.lineTo(ptStart.X,y);
|
|
59788
|
+
this.Canvas.stroke();
|
|
59789
|
+
}
|
|
59790
|
+
|
|
59791
|
+
ptPre=pt;
|
|
59792
|
+
clrArea=IChartDrawPicture.ColorToRGBA(item.Color, this.AreaConfig.Opacity);
|
|
59793
|
+
|
|
59794
|
+
//文字
|
|
59795
|
+
var text=`${item.Value}`;
|
|
59796
|
+
this.Canvas.fillStyle=item.Color;
|
|
59797
|
+
this.Canvas.fillText(text,center.X+textOffset,y);
|
|
59798
|
+
}
|
|
59799
|
+
|
|
59800
|
+
var aryXData=this.GetArrayAreaConfig(this.AreaConfig.AryXData);
|
|
59801
|
+
var ptPre=null;
|
|
59802
|
+
this.Canvas.textAlign="center";
|
|
59803
|
+
if (quadrant==3 || quadrant==4)
|
|
59804
|
+
{
|
|
59805
|
+
this.Canvas.textBaseline="bottom";
|
|
59806
|
+
textOffset=-5;
|
|
59807
|
+
}
|
|
59808
|
+
else
|
|
59809
|
+
{
|
|
59810
|
+
this.Canvas.textBaseline="top";
|
|
59811
|
+
textOffset=5;
|
|
59812
|
+
}
|
|
59813
|
+
|
|
59814
|
+
for(var i=0;i<aryXData.length;++i)
|
|
59815
|
+
{
|
|
59816
|
+
var item=aryXData[i];
|
|
59817
|
+
var x=item.Value*xDiff+ptStart.X;
|
|
59818
|
+
|
|
59819
|
+
var pt=this.CalculateExtendLineEndPoint([center, {X:x, Y:ptStart.Y}]);
|
|
59820
|
+
|
|
59821
|
+
if (ptPre) //面积
|
|
59822
|
+
{
|
|
59823
|
+
this.Canvas.beginPath();
|
|
59824
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
59825
|
+
this.Canvas.lineTo(ptPre.X,ptPre.Y);
|
|
59826
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
59827
|
+
this.Canvas.closePath();
|
|
59828
|
+
this.Canvas.fillStyle=clrArea;
|
|
59829
|
+
this.Canvas.fill();
|
|
59830
|
+
}
|
|
59831
|
+
|
|
59832
|
+
this.Canvas.strokeStyle=item.Color;
|
|
59833
|
+
this.Canvas.beginPath();
|
|
59834
|
+
this.Canvas.moveTo(center.X,center.Y);
|
|
59835
|
+
this.Canvas.lineTo(pt.X,pt.Y);
|
|
59836
|
+
this.Canvas.stroke();
|
|
59837
|
+
|
|
59838
|
+
this.LinePoint.push({Start:center, End:pt});
|
|
59839
|
+
|
|
59840
|
+
if (item.Value!=1)
|
|
59841
|
+
{
|
|
59842
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
59843
|
+
this.Canvas.beginPath();
|
|
59844
|
+
this.Canvas.moveTo(x,center.Y);
|
|
59845
|
+
this.Canvas.lineTo(x,ptStart.Y);
|
|
59846
|
+
this.Canvas.stroke();
|
|
59847
|
+
}
|
|
59848
|
+
|
|
59849
|
+
ptPre=pt;
|
|
59850
|
+
clrArea=IChartDrawPicture.ColorToRGBA(item.Color, this.AreaConfig.Opacity);
|
|
59851
|
+
|
|
59852
|
+
//文字
|
|
59853
|
+
var text=`${item.Value}`;
|
|
59854
|
+
this.Canvas.fillStyle=item.Color;
|
|
59855
|
+
this.Canvas.fillText(text,x,center.Y+textOffset);
|
|
59856
|
+
}
|
|
59857
|
+
}
|
|
59858
|
+
|
|
59859
|
+
this.GetArrayAreaConfig=function(aryData)
|
|
59860
|
+
{
|
|
59861
|
+
var aryArea=[];
|
|
59862
|
+
for(var i=0;i<aryData.length;++i)
|
|
59863
|
+
{
|
|
59864
|
+
var item=aryData[i];
|
|
59865
|
+
if (item.Enable) aryArea.push(item);
|
|
59866
|
+
}
|
|
59867
|
+
|
|
59868
|
+
aryArea.sort((left,right)=>{ return right.Value-left.Value; })
|
|
59869
|
+
|
|
59870
|
+
return aryArea;
|
|
59871
|
+
}
|
|
59872
|
+
|
|
59873
|
+
}
|
|
59874
|
+
|
|
59416
59875
|
function ChartDrawStorage()
|
|
59417
59876
|
{
|
|
59418
59877
|
this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{Guid, Symbol, Period, ClassName, Value}
|
|
@@ -70798,7 +71257,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
70798
71257
|
if (moveSetp<5 && yMoveSetp<5) return;
|
|
70799
71258
|
if (!this.EnableSelectRect) return;
|
|
70800
71259
|
|
|
70801
|
-
this.UIElement.style.cursor="default";
|
|
71260
|
+
//this.UIElement.style.cursor="default";
|
|
71261
|
+
this.SetCursor({Cursor:"default"});
|
|
70802
71262
|
var x=drag.Click.X-uielement.getBoundingClientRect().left;
|
|
70803
71263
|
var y=drag.Click.Y-uielement.getBoundingClientRect().top;
|
|
70804
71264
|
var x2=e.clientX-uielement.getBoundingClientRect().left;
|
|
@@ -85740,7 +86200,7 @@ function MinuteCoordinateData()
|
|
|
85740
86200
|
{
|
|
85741
86201
|
Full: //完整模式
|
|
85742
86202
|
[
|
|
85743
|
-
[0, 0, "rgb(200,200,200)", "09:30"], //[0]=索引 [1]=线段类型 [2]=文字颜色(弃用) [3]=刻度文字 [4]=线段颜色
|
|
86203
|
+
[0, 0, "rgb(200,200,200)", "09:30"], //[0]=索引 [1]=线段类型 [2]=文字颜色(弃用) [3]=刻度文字 [4]=线段颜色 [5]=背景色
|
|
85744
86204
|
[31, 0, "RGB(200,200,200)", "10:00"],
|
|
85745
86205
|
[61, 0, "RGB(200,200,200)", "10:30"],
|
|
85746
86206
|
[91, 0, "RGB(200,200,200)", "11:00"],
|