hqchart 1.1.14864 → 1.1.14874
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 +96 -25
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +59 -0
- package/src/jscommon/umychart.js +253 -21
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +313 -22
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +313 -22
|
@@ -7946,6 +7946,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7946
7946
|
|
|
7947
7947
|
this.DestroyPopMenu();
|
|
7948
7948
|
|
|
7949
|
+
if (this.DestroyPopMinuteChart) this.DestroyPopMinuteChart();
|
|
7950
|
+
|
|
7949
7951
|
this.StopLatestPointFlash();
|
|
7950
7952
|
|
|
7951
7953
|
document.oncontextmenu=null;
|
|
@@ -18699,6 +18701,7 @@ function AverageWidthFrame()
|
|
|
18699
18701
|
if (IFrameSplitOperator.IsNumber(item.Margin.Bottom)) lineInfo.Margin.Bottom=item.Margin.Bottom;
|
|
18700
18702
|
}
|
|
18701
18703
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) lineInfo.YOffset=item.YOffset;
|
|
18704
|
+
if (IFrameSplitOperator.IsNumber(item.Align)) lineInfo.Align=item.Align;
|
|
18702
18705
|
|
|
18703
18706
|
lineInfo.Height=lineHeight+lineInfo.Margin.Top+lineInfo.Margin.Bottom;
|
|
18704
18707
|
|
|
@@ -18736,13 +18739,17 @@ function AverageWidthFrame()
|
|
|
18736
18739
|
|
|
18737
18740
|
if (width<=0 || height<=0) return null;
|
|
18738
18741
|
|
|
18739
|
-
|
|
18742
|
+
var drawInfo={ Width:width, Height:height, AryLine:aryLine, Align:2 }; //Align 1=left 2=center 3=right
|
|
18743
|
+
if (IFrameSplitOperator.IsNumber(obj.Align)) drawInfo.Align=obj.Align;
|
|
18744
|
+
|
|
18745
|
+
return drawInfo;
|
|
18740
18746
|
}
|
|
18741
18747
|
|
|
18742
18748
|
//X轴底部文字多行输出
|
|
18743
18749
|
this.DrawMultiLineVText=function(drawInfo)
|
|
18744
18750
|
{
|
|
18745
18751
|
var xLeft=drawInfo.XCenter-drawInfo.Width/2;
|
|
18752
|
+
if (drawInfo.Align==1) xLeft=drawInfo.XCenter;
|
|
18746
18753
|
if (drawInfo.TextRightPrev!=null && drawInfo.TextRightPrev>xLeft)
|
|
18747
18754
|
return false;
|
|
18748
18755
|
|
|
@@ -18754,8 +18761,19 @@ function AverageWidthFrame()
|
|
|
18754
18761
|
for(var i=0, j=0;i<drawInfo.AryLine.length;++i)
|
|
18755
18762
|
{
|
|
18756
18763
|
var lineItem=drawInfo.AryLine[i];
|
|
18757
|
-
if (
|
|
18758
|
-
|
|
18764
|
+
if (drawInfo.Align==1)
|
|
18765
|
+
{
|
|
18766
|
+
var xLeft=drawInfo.XCenter-drawInfo.Width/2;
|
|
18767
|
+
if (lineItem.Align==1) xLeft=drawInfo.XCenter;
|
|
18768
|
+
else if (lineItem.Align==2) xLeft=drawInfo.XCenter+drawInfo.Width-lineItem.Width;
|
|
18769
|
+
}
|
|
18770
|
+
else
|
|
18771
|
+
{
|
|
18772
|
+
var xLeft=drawInfo.XCenter-lineItem.Width/2;
|
|
18773
|
+
if (lineItem.Align==1) xLeft=drawInfo.XCenter-drawInfo.Width/2;
|
|
18774
|
+
else if (lineItem.Align==2) xLeft=drawInfo.XCenter+drawInfo.Width/2-lineItem.Width;
|
|
18775
|
+
}
|
|
18776
|
+
|
|
18759
18777
|
if (xLeft<1) xLeft=1;
|
|
18760
18778
|
yText+=lineItem.Height;
|
|
18761
18779
|
for(j=0;j<lineItem.AryText.length;++j)
|
|
@@ -24067,7 +24085,7 @@ function OverlayKLineFrame()
|
|
|
24067
24085
|
|
|
24068
24086
|
var text=item.Message[1];
|
|
24069
24087
|
if (Array.isArray(item.Message[1])) text=item.Message[1][0];
|
|
24070
|
-
|
|
24088
|
+
this.Canvas.fillStyle=item.TextColor;
|
|
24071
24089
|
if (rightExtendText && rightExtendText.Align)
|
|
24072
24090
|
{
|
|
24073
24091
|
var textWidth=rightWidth;
|
|
@@ -24079,7 +24097,6 @@ function OverlayKLineFrame()
|
|
|
24079
24097
|
{
|
|
24080
24098
|
var xText=right+2;
|
|
24081
24099
|
if (rightLine && rightLine.Width>0) xText+=rightLine.Width;
|
|
24082
|
-
this.Canvas.fillStyle=item.TextColor;
|
|
24083
24100
|
this.Canvas.textAlign="left";
|
|
24084
24101
|
this.Canvas.fillText(text,xText,y);
|
|
24085
24102
|
}
|
|
@@ -37910,6 +37927,7 @@ function ChartKLineTable()
|
|
|
37910
37927
|
|
|
37911
37928
|
this.TextFont;
|
|
37912
37929
|
this.TextColor='rgb(0,0,0)';
|
|
37930
|
+
this.Style=0; //0=全部窗口模式 1=顶部指定行数 2=底部指定行数;
|
|
37913
37931
|
|
|
37914
37932
|
this.AryTableData=[];
|
|
37915
37933
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
@@ -37935,9 +37953,15 @@ function ChartKLineTable()
|
|
|
37935
37953
|
{
|
|
37936
37954
|
if (!this.BGColor) return;
|
|
37937
37955
|
|
|
37938
|
-
|
|
37956
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
37957
|
+
if ((this.Style===1 || this.Style===2) && this.RowHeightType==1)
|
|
37958
|
+
{
|
|
37959
|
+
var height=this.RowCount*this.RowHeight;
|
|
37960
|
+
height=Math.min(rtBG.Height,height);
|
|
37961
|
+
this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-2, height);
|
|
37962
|
+
}
|
|
37963
|
+
else
|
|
37939
37964
|
{
|
|
37940
|
-
this.Canvas.fillStyle=this.BGColor;
|
|
37941
37965
|
this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-1, rtBG.Height);
|
|
37942
37966
|
}
|
|
37943
37967
|
}
|
|
@@ -37946,8 +37970,11 @@ function ChartKLineTable()
|
|
|
37946
37970
|
{
|
|
37947
37971
|
if (!this.BorderColor) return;
|
|
37948
37972
|
|
|
37973
|
+
var lineCount=30;
|
|
37974
|
+
if (this.Style===1 || this.Style===2) lineCount=this.RowCount+1;
|
|
37975
|
+
|
|
37949
37976
|
var yLine=rtBG.Top;
|
|
37950
|
-
for(var i=0;i<
|
|
37977
|
+
for(var i=0;i<lineCount;++i)
|
|
37951
37978
|
{
|
|
37952
37979
|
this.Canvas.beginPath();
|
|
37953
37980
|
this.Canvas.moveTo(rtBG.Left,ToFixedPoint(yLine));
|
|
@@ -37997,12 +38024,29 @@ function ChartKLineTable()
|
|
|
37997
38024
|
var bottom=border.Bottom;
|
|
37998
38025
|
|
|
37999
38026
|
//绘制背景
|
|
38000
|
-
|
|
38001
|
-
|
|
38002
|
-
|
|
38003
|
-
|
|
38004
|
-
|
|
38027
|
+
if (this.Style===1)
|
|
38028
|
+
{
|
|
38029
|
+
var rtBG={ Left:border.LeftEx, Top:border.TopTitle, Right:border.RightEx, Bottom:border.TopEx };
|
|
38030
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
38031
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
38032
|
+
}
|
|
38033
|
+
else if (this.Style===2)
|
|
38034
|
+
{
|
|
38035
|
+
var rtBG={ Left:border.LeftEx, Top:border.BottomEx, Right:border.RightEx, Bottom:border.Bottom };
|
|
38036
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
38037
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
38038
|
+
top=rtBG.Top;
|
|
38039
|
+
}
|
|
38040
|
+
else
|
|
38041
|
+
{
|
|
38042
|
+
var rtBG={ Left:border.LeftEx, Top:top, Right:border.RightEx, Bottom:bottom };
|
|
38043
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
38044
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
38045
|
+
}
|
|
38046
|
+
|
|
38005
38047
|
this.CalculateRowHeight(rtBG);
|
|
38048
|
+
|
|
38049
|
+
this.DrawBG(rtBG);
|
|
38006
38050
|
|
|
38007
38051
|
var itemHeight=this.RowHeight;
|
|
38008
38052
|
var itemWidth=dataWidth+distanceWidth;
|
|
@@ -38035,7 +38079,7 @@ function ChartKLineTable()
|
|
|
38035
38079
|
if (!bDrawName) this.DrawRow(mapItem, top, bottom, left, right); //绘制一列
|
|
38036
38080
|
}
|
|
38037
38081
|
|
|
38038
|
-
if (this.RowNamePosition==3) this.DrawRightRowName();
|
|
38082
|
+
if (this.RowNamePosition==3) this.DrawRightRowName(rtBG);
|
|
38039
38083
|
|
|
38040
38084
|
this.DrawBorder(rtBG);
|
|
38041
38085
|
}
|
|
@@ -38082,20 +38126,51 @@ function ChartKLineTable()
|
|
|
38082
38126
|
}
|
|
38083
38127
|
|
|
38084
38128
|
//绘制右侧行名
|
|
38085
|
-
this.DrawRightRowName=function()
|
|
38129
|
+
this.DrawRightRowName=function(rtBG)
|
|
38086
38130
|
{
|
|
38087
38131
|
var border=this.ChartFrame.GetBorder();
|
|
38088
38132
|
|
|
38089
38133
|
if (this.BGColor)
|
|
38090
38134
|
{
|
|
38091
|
-
|
|
38092
|
-
|
|
38093
|
-
|
|
38094
|
-
|
|
38095
|
-
|
|
38135
|
+
if (this.Style===1)
|
|
38136
|
+
{
|
|
38137
|
+
var height=this.RowCount*this.RowHeight;
|
|
38138
|
+
height=Math.min(rtBG.Height,height);
|
|
38139
|
+
var width=border.ChartWidth-rtBG.Right-2;
|
|
38140
|
+
var maxTextWidth=0;
|
|
38141
|
+
for(var i=0;i<this.RowName.length;++i)
|
|
38142
|
+
{
|
|
38143
|
+
var item=this.RowName[i];
|
|
38144
|
+
if (!item || !item.Name) continue;
|
|
38145
|
+
|
|
38146
|
+
var textWidth=this.Canvas.measureText(item.Name).width;
|
|
38147
|
+
if (textWidth>maxTextWidth) maxTextWidth=textWidth;
|
|
38148
|
+
}
|
|
38149
|
+
if (maxTextWidth>0)
|
|
38150
|
+
{
|
|
38151
|
+
maxTextWidth+=4;
|
|
38152
|
+
width=Math.min(width, maxTextWidth);
|
|
38153
|
+
}
|
|
38154
|
+
|
|
38155
|
+
var rtRightBG={Left:rtBG.Right+1, Top:rtBG.Top+1, Width:width, Height:height };
|
|
38156
|
+
rtRightBG.Right=rtRightBG.Left+rtRightBG.Width;
|
|
38157
|
+
rtRightBG.Bottom=rtRightBG.Top+rtRightBG.Height;
|
|
38158
|
+
|
|
38159
|
+
|
|
38160
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
38161
|
+
this.Canvas.fillRect(rtRightBG.Left, rtRightBG.Top, rtRightBG.Width, rtRightBG.Height);
|
|
38162
|
+
}
|
|
38163
|
+
else
|
|
38164
|
+
{
|
|
38165
|
+
var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
|
|
38166
|
+
rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
|
|
38167
|
+
rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
|
|
38168
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
38169
|
+
this.Canvas.fillRect(rtRightBG.Left+1, rtRightBG.Top, rtRightBG.Width-2, rtRightBG.Height);
|
|
38170
|
+
}
|
|
38096
38171
|
}
|
|
38097
38172
|
|
|
38098
|
-
var x=
|
|
38173
|
+
var x=rtBG.Right, y=rtBG.Top;
|
|
38099
38174
|
var yOffset=3;
|
|
38100
38175
|
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
38101
38176
|
for(var i=0;i<this.RowName.length;++i)
|
|
@@ -68443,9 +68518,14 @@ function IChartDrawPicture()
|
|
|
68443
68518
|
pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset);
|
|
68444
68519
|
pt.Y=this.Frame.GetYFromData(item.YValue);
|
|
68445
68520
|
}
|
|
68521
|
+
|
|
68522
|
+
if (Path2DHelper.PtInPoint(x,y,pt,radius))
|
|
68523
|
+
return i;
|
|
68524
|
+
/*
|
|
68446
68525
|
this.Canvas.beginPath();
|
|
68447
68526
|
this.Canvas.arc(pt.X,pt.Y,radius,0,360);
|
|
68448
68527
|
if (this.Canvas.isPointInPath(x,y)) return i;
|
|
68528
|
+
*/
|
|
68449
68529
|
}
|
|
68450
68530
|
|
|
68451
68531
|
return -1;
|
|
@@ -68463,6 +68543,20 @@ function IChartDrawPicture()
|
|
|
68463
68543
|
var pixel=GetDevicePixelRatio();
|
|
68464
68544
|
lineWidth*=pixel;
|
|
68465
68545
|
for(var i=0;i<this.LinePoint.length; ++i)
|
|
68546
|
+
{
|
|
68547
|
+
var item=this.LinePoint[i];
|
|
68548
|
+
var ptStart=item.Start;
|
|
68549
|
+
var ptEnd=item.End;
|
|
68550
|
+
|
|
68551
|
+
if (Path2DHelper.PtInLine(x, y, ptStart, ptEnd, lineWidth))
|
|
68552
|
+
{
|
|
68553
|
+
return i;
|
|
68554
|
+
}
|
|
68555
|
+
}
|
|
68556
|
+
return -1;
|
|
68557
|
+
|
|
68558
|
+
/*
|
|
68559
|
+
for(var i=0;i<this.LinePoint.length; ++i)
|
|
68466
68560
|
{
|
|
68467
68561
|
var item=this.LinePoint[i];
|
|
68468
68562
|
var ptStart=item.Start;
|
|
@@ -68491,6 +68585,7 @@ function IChartDrawPicture()
|
|
|
68491
68585
|
}
|
|
68492
68586
|
|
|
68493
68587
|
return -1;
|
|
68588
|
+
*/
|
|
68494
68589
|
}
|
|
68495
68590
|
|
|
68496
68591
|
//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
@@ -71184,6 +71279,18 @@ function ChartDrawPictureRect()
|
|
|
71184
71279
|
//点是否在线段上 水平线段
|
|
71185
71280
|
this.IsPointInLine=function(aryPoint,x,y,option)
|
|
71186
71281
|
{
|
|
71282
|
+
var lineWidth=5;
|
|
71283
|
+
var pixel=GetDevicePixelRatio();
|
|
71284
|
+
if (IFrameSplitOperator.IsPlusNumber(this.LineWidth) && this.LineWidth>lineWidth) lineWidth=this.LineWidth;
|
|
71285
|
+
if (option && IFrameSplitOperator.IsNumber(option.Zoom)) lineWidth+=option.Zoom;
|
|
71286
|
+
else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) lineWidth+=this.Option.Zoom;
|
|
71287
|
+
lineWidth*=pixel;
|
|
71288
|
+
if (Path2DHelper.PtInLine(x,y,aryPoint[0], aryPoint[1], lineWidth))
|
|
71289
|
+
return true;
|
|
71290
|
+
|
|
71291
|
+
return false;
|
|
71292
|
+
|
|
71293
|
+
/*
|
|
71187
71294
|
var radius=5;
|
|
71188
71295
|
if (option && IFrameSplitOperator.IsNumber(option.Zoom)) radius+=option.Zoom;
|
|
71189
71296
|
else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) radius+=this.Option.Zoom;
|
|
@@ -71198,11 +71305,14 @@ function ChartDrawPictureRect()
|
|
|
71198
71305
|
this.Canvas.closePath();
|
|
71199
71306
|
if (this.Canvas.isPointInPath(x,y))
|
|
71200
71307
|
return true;
|
|
71308
|
+
*/
|
|
71201
71309
|
}
|
|
71202
71310
|
|
|
71203
71311
|
//垂直线段
|
|
71204
71312
|
this.IsPointInLine2=function(aryPoint,x,y,option)
|
|
71205
71313
|
{
|
|
71314
|
+
return this.IsPointInLine(aryPoint,x,y,option);
|
|
71315
|
+
/*
|
|
71206
71316
|
var radius=5;
|
|
71207
71317
|
if (option && IFrameSplitOperator.IsNumber(option.Zoom)) radius+=option.Zoom;
|
|
71208
71318
|
else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) radius+=this.Option.Zoom;
|
|
@@ -71217,6 +71327,7 @@ function ChartDrawPictureRect()
|
|
|
71217
71327
|
this.Canvas.closePath();
|
|
71218
71328
|
if (this.Canvas.isPointInPath(x,y))
|
|
71219
71329
|
return true;
|
|
71330
|
+
*/
|
|
71220
71331
|
}
|
|
71221
71332
|
}
|
|
71222
71333
|
|
|
@@ -84861,6 +84972,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84861
84972
|
this.PopMinuteChart=null;
|
|
84862
84973
|
}
|
|
84863
84974
|
|
|
84975
|
+
this.ClosePopMinuteChart=function()
|
|
84976
|
+
{
|
|
84977
|
+
if (!this.PopMinuteChart) return;
|
|
84978
|
+
|
|
84979
|
+
this.PopMinuteChart.Close();
|
|
84980
|
+
}
|
|
84981
|
+
|
|
84864
84982
|
this.ShowMinuteChartDialog=function(data, x,y)
|
|
84865
84983
|
{
|
|
84866
84984
|
if (!this.PopMinuteChart) return;
|
|
@@ -87449,6 +87567,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
87449
87567
|
//周期切换
|
|
87450
87568
|
this.ChangePeriod=function(period,option)
|
|
87451
87569
|
{
|
|
87570
|
+
this.ClosePopMinuteChart();
|
|
87571
|
+
|
|
87452
87572
|
var oldData={ Period:this.Period, Right:this.Right, KLineDrawType:this.KLineDrawType, Symbol:this.Symbol};
|
|
87453
87573
|
|
|
87454
87574
|
var isChangeKLineDrawType=false;
|
|
@@ -89007,6 +89127,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
89007
89127
|
this.ClearIndexRunCount();
|
|
89008
89128
|
this.UnlockCorssCursor();
|
|
89009
89129
|
this.Frame.ClearYCoordinateMaxMin();
|
|
89130
|
+
this.ClosePopMinuteChart();
|
|
89010
89131
|
|
|
89011
89132
|
|
|
89012
89133
|
this.Symbol=symbol;
|
|
@@ -107255,6 +107376,117 @@ function GetLocalTime(i) //得到标准时区的时间的函数
|
|
|
107255
107376
|
return new Date(utcTime + 3600000 * i);
|
|
107256
107377
|
}
|
|
107257
107378
|
|
|
107379
|
+
//图形路径方法
|
|
107380
|
+
function Path2DHelper() { }
|
|
107381
|
+
const PI2 = Math.PI * 2;
|
|
107382
|
+
|
|
107383
|
+
//点是否在线段上
|
|
107384
|
+
Path2DHelper.PtInLine=function(x, y, pt, pt2, lineWidth)
|
|
107385
|
+
{
|
|
107386
|
+
if (lineWidth<=0) return false;
|
|
107387
|
+
|
|
107388
|
+
var x0=pt.X, y0=pt.Y;
|
|
107389
|
+
var x1=pt2.X, y1=pt2.Y;
|
|
107390
|
+
|
|
107391
|
+
const _l = lineWidth;
|
|
107392
|
+
let _a = 0;
|
|
107393
|
+
let _b = x0;
|
|
107394
|
+
|
|
107395
|
+
// Quick reject
|
|
107396
|
+
if (
|
|
107397
|
+
(y > y0 + _l && y > y1 + _l)
|
|
107398
|
+
|| (y < y0 - _l && y < y1 - _l)
|
|
107399
|
+
|| (x > x0 + _l && x > x1 + _l)
|
|
107400
|
+
|| (x < x0 - _l && x < x1 - _l)
|
|
107401
|
+
)
|
|
107402
|
+
{
|
|
107403
|
+
return false;
|
|
107404
|
+
}
|
|
107405
|
+
|
|
107406
|
+
if (x0 !== x1)
|
|
107407
|
+
{
|
|
107408
|
+
_a = (y0 - y1) / (x0 - x1);
|
|
107409
|
+
_b = (x0 * y1 - x1 * y0) / (x0 - x1);
|
|
107410
|
+
}
|
|
107411
|
+
else
|
|
107412
|
+
{
|
|
107413
|
+
return Math.abs(x - x0) <= _l / 2;
|
|
107414
|
+
}
|
|
107415
|
+
|
|
107416
|
+
const tmp = _a * x - y + _b;
|
|
107417
|
+
const _s = tmp * tmp / (_a * _a + 1);
|
|
107418
|
+
return _s <= _l / 2 * _l / 2;
|
|
107419
|
+
}
|
|
107420
|
+
|
|
107421
|
+
//点是否在圆点上
|
|
107422
|
+
Path2DHelper.PtInPoint=function(x,y, ptCenter, radius)
|
|
107423
|
+
{
|
|
107424
|
+
if (radius<=0) return false;
|
|
107425
|
+
|
|
107426
|
+
var cx=ptCenter.X;
|
|
107427
|
+
var cy=ptCenter.Y;
|
|
107428
|
+
|
|
107429
|
+
x -= cx;
|
|
107430
|
+
y -= cy;
|
|
107431
|
+
const d = Math.sqrt(x * x + y * y); //到圆心的距离
|
|
107432
|
+
|
|
107433
|
+
if (d>radius) return false;
|
|
107434
|
+
|
|
107435
|
+
return true;
|
|
107436
|
+
}
|
|
107437
|
+
|
|
107438
|
+
Path2DHelper.PtInArc=function(x, y, ptCenter, radius, startAngle, endAngle,lineWidth, anticlockwise)
|
|
107439
|
+
{
|
|
107440
|
+
if (lineWidth<=0) return false;
|
|
107441
|
+
|
|
107442
|
+
const _l = lineWidth;
|
|
107443
|
+
var cx=ptCenter.X;
|
|
107444
|
+
var cy=ptCenter.Y;
|
|
107445
|
+
|
|
107446
|
+
x -= cx;
|
|
107447
|
+
y -= cy;
|
|
107448
|
+
const d = Math.sqrt(x * x + y * y);
|
|
107449
|
+
|
|
107450
|
+
if ((d - _l > r) || (d + _l < r))
|
|
107451
|
+
return false;
|
|
107452
|
+
|
|
107453
|
+
// TODO
|
|
107454
|
+
if (Math.abs(startAngle - endAngle) % PI2 < 1e-4)
|
|
107455
|
+
{
|
|
107456
|
+
// Is a circle
|
|
107457
|
+
return true;
|
|
107458
|
+
}
|
|
107459
|
+
|
|
107460
|
+
if (anticlockwise)
|
|
107461
|
+
{
|
|
107462
|
+
const tmp = startAngle;
|
|
107463
|
+
startAngle = Path2DHelper.FormatRadian(endAngle);
|
|
107464
|
+
endAngle = Path2DHelper.FormatRadian(tmp);
|
|
107465
|
+
}
|
|
107466
|
+
else
|
|
107467
|
+
{
|
|
107468
|
+
startAngle = Path2DHelper.FormatRadian(startAngle);
|
|
107469
|
+
endAngle = Path2DHelper.FormatRadian(endAngle);
|
|
107470
|
+
}
|
|
107471
|
+
|
|
107472
|
+
if (startAngle > endAngle)
|
|
107473
|
+
endAngle += PI2;
|
|
107474
|
+
|
|
107475
|
+
var angle = Math.atan2(y, x);
|
|
107476
|
+
if (angle < 0)
|
|
107477
|
+
angle += PI2;
|
|
107478
|
+
|
|
107479
|
+
return (angle >= startAngle && angle <= endAngle) || (angle + PI2 >= startAngle && angle + PI2 <= endAngle);
|
|
107480
|
+
}
|
|
107481
|
+
|
|
107482
|
+
//统一弧度方向
|
|
107483
|
+
Path2DHelper.FormatRadian=function(angle)
|
|
107484
|
+
{
|
|
107485
|
+
angle%= PI2;
|
|
107486
|
+
if (angle<0) angle += PI2;
|
|
107487
|
+
return angle;
|
|
107488
|
+
}
|
|
107489
|
+
|
|
107258
107490
|
|
|
107259
107491
|
|
|
107260
107492
|
|
|
@@ -130345,6 +130577,9 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
130345
130577
|
case SCRIPT_CHART_NAME.BASELINE_BAR:
|
|
130346
130578
|
this.CreateBaseLineBar(hqChart,windowIndex,item,i);
|
|
130347
130579
|
break;
|
|
130580
|
+
case SCRIPT_CHART_NAME.KLINE_TABLE:
|
|
130581
|
+
this.CreateKLineTable(hqChart,windowIndex,item,i);
|
|
130582
|
+
break;
|
|
130348
130583
|
case "DRAWCOLORKLINE":
|
|
130349
130584
|
this.CreateDrawColorKLine(hqChart,windowIndex,item,i);
|
|
130350
130585
|
break;
|
|
@@ -131154,6 +131389,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
131154
131389
|
}
|
|
131155
131390
|
|
|
131156
131391
|
chart.BuildCacheData();
|
|
131392
|
+
this.SetChartIndexName(chart);
|
|
131157
131393
|
frame.ChartPaint.push(chart);
|
|
131158
131394
|
}
|
|
131159
131395
|
|
|
@@ -131184,6 +131420,61 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
131184
131420
|
frame.ChartPaint.push(chart);
|
|
131185
131421
|
}
|
|
131186
131422
|
|
|
131423
|
+
this.CreateKLineTable=function(hqChart,windowIndex,varItem,id)
|
|
131424
|
+
{
|
|
131425
|
+
var overlayIndex=this.OverlayIndex;
|
|
131426
|
+
var frame=overlayIndex.Frame;
|
|
131427
|
+
var chart=new ChartKLineTable();
|
|
131428
|
+
chart.Canvas=hqChart.Canvas;
|
|
131429
|
+
chart.Name=varItem.Name;
|
|
131430
|
+
chart.HQChart=hqChart;
|
|
131431
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
131432
|
+
chart.ChartFrame=frame.Frame;
|
|
131433
|
+
chart.Identify=overlayIndex.Identify;
|
|
131434
|
+
|
|
131435
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
131436
|
+
chart.AryTableData=varItem.Draw.DrawData;
|
|
131437
|
+
if (IFrameSplitOperator.IsNumber(varItem.Draw.RowCount)) chart.RowCount=varItem.Draw.RowCount;
|
|
131438
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
131439
|
+
|
|
131440
|
+
var config=varItem.Draw.Config;
|
|
131441
|
+
if (config)
|
|
131442
|
+
{
|
|
131443
|
+
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
131444
|
+
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
131445
|
+
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
131446
|
+
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
131447
|
+
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
131448
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
131449
|
+
|
|
131450
|
+
if (config.ItemMergin)
|
|
131451
|
+
{
|
|
131452
|
+
var subItem=config.ItemMergin;
|
|
131453
|
+
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
131454
|
+
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
131455
|
+
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
131456
|
+
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
131457
|
+
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
131458
|
+
}
|
|
131459
|
+
|
|
131460
|
+
if (config.TextFont)
|
|
131461
|
+
{
|
|
131462
|
+
var subItem=config.TextFont;
|
|
131463
|
+
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
131464
|
+
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
131465
|
+
}
|
|
131466
|
+
}
|
|
131467
|
+
|
|
131468
|
+
chart.BuildCacheData();
|
|
131469
|
+
frame.ChartPaint.push(chart);
|
|
131470
|
+
|
|
131471
|
+
var titleIndex=windowIndex+1;
|
|
131472
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
131473
|
+
var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);
|
|
131474
|
+
titleData.DataType="ChartKLineTable";
|
|
131475
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
131476
|
+
}
|
|
131477
|
+
|
|
131187
131478
|
|
|
131188
131479
|
//创建通道
|
|
131189
131480
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id)
|
|
@@ -161653,7 +161944,7 @@ function HQChartScriptWorker()
|
|
|
161653
161944
|
|
|
161654
161945
|
|
|
161655
161946
|
|
|
161656
|
-
var HQCHART_VERSION="1.1.
|
|
161947
|
+
var HQCHART_VERSION="1.1.14873";
|
|
161657
161948
|
|
|
161658
161949
|
function PrintHQChartVersion()
|
|
161659
161950
|
{
|