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
|
@@ -7902,6 +7902,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7902
7902
|
|
|
7903
7903
|
this.DestroyPopMenu();
|
|
7904
7904
|
|
|
7905
|
+
if (this.DestroyPopMinuteChart) this.DestroyPopMinuteChart();
|
|
7906
|
+
|
|
7905
7907
|
this.StopLatestPointFlash();
|
|
7906
7908
|
|
|
7907
7909
|
document.oncontextmenu=null;
|
|
@@ -18655,6 +18657,7 @@ function AverageWidthFrame()
|
|
|
18655
18657
|
if (IFrameSplitOperator.IsNumber(item.Margin.Bottom)) lineInfo.Margin.Bottom=item.Margin.Bottom;
|
|
18656
18658
|
}
|
|
18657
18659
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) lineInfo.YOffset=item.YOffset;
|
|
18660
|
+
if (IFrameSplitOperator.IsNumber(item.Align)) lineInfo.Align=item.Align;
|
|
18658
18661
|
|
|
18659
18662
|
lineInfo.Height=lineHeight+lineInfo.Margin.Top+lineInfo.Margin.Bottom;
|
|
18660
18663
|
|
|
@@ -18692,13 +18695,17 @@ function AverageWidthFrame()
|
|
|
18692
18695
|
|
|
18693
18696
|
if (width<=0 || height<=0) return null;
|
|
18694
18697
|
|
|
18695
|
-
|
|
18698
|
+
var drawInfo={ Width:width, Height:height, AryLine:aryLine, Align:2 }; //Align 1=left 2=center 3=right
|
|
18699
|
+
if (IFrameSplitOperator.IsNumber(obj.Align)) drawInfo.Align=obj.Align;
|
|
18700
|
+
|
|
18701
|
+
return drawInfo;
|
|
18696
18702
|
}
|
|
18697
18703
|
|
|
18698
18704
|
//X轴底部文字多行输出
|
|
18699
18705
|
this.DrawMultiLineVText=function(drawInfo)
|
|
18700
18706
|
{
|
|
18701
18707
|
var xLeft=drawInfo.XCenter-drawInfo.Width/2;
|
|
18708
|
+
if (drawInfo.Align==1) xLeft=drawInfo.XCenter;
|
|
18702
18709
|
if (drawInfo.TextRightPrev!=null && drawInfo.TextRightPrev>xLeft)
|
|
18703
18710
|
return false;
|
|
18704
18711
|
|
|
@@ -18710,8 +18717,19 @@ function AverageWidthFrame()
|
|
|
18710
18717
|
for(var i=0, j=0;i<drawInfo.AryLine.length;++i)
|
|
18711
18718
|
{
|
|
18712
18719
|
var lineItem=drawInfo.AryLine[i];
|
|
18713
|
-
if (
|
|
18714
|
-
|
|
18720
|
+
if (drawInfo.Align==1)
|
|
18721
|
+
{
|
|
18722
|
+
var xLeft=drawInfo.XCenter-drawInfo.Width/2;
|
|
18723
|
+
if (lineItem.Align==1) xLeft=drawInfo.XCenter;
|
|
18724
|
+
else if (lineItem.Align==2) xLeft=drawInfo.XCenter+drawInfo.Width-lineItem.Width;
|
|
18725
|
+
}
|
|
18726
|
+
else
|
|
18727
|
+
{
|
|
18728
|
+
var xLeft=drawInfo.XCenter-lineItem.Width/2;
|
|
18729
|
+
if (lineItem.Align==1) xLeft=drawInfo.XCenter-drawInfo.Width/2;
|
|
18730
|
+
else if (lineItem.Align==2) xLeft=drawInfo.XCenter+drawInfo.Width/2-lineItem.Width;
|
|
18731
|
+
}
|
|
18732
|
+
|
|
18715
18733
|
if (xLeft<1) xLeft=1;
|
|
18716
18734
|
yText+=lineItem.Height;
|
|
18717
18735
|
for(j=0;j<lineItem.AryText.length;++j)
|
|
@@ -24023,7 +24041,7 @@ function OverlayKLineFrame()
|
|
|
24023
24041
|
|
|
24024
24042
|
var text=item.Message[1];
|
|
24025
24043
|
if (Array.isArray(item.Message[1])) text=item.Message[1][0];
|
|
24026
|
-
|
|
24044
|
+
this.Canvas.fillStyle=item.TextColor;
|
|
24027
24045
|
if (rightExtendText && rightExtendText.Align)
|
|
24028
24046
|
{
|
|
24029
24047
|
var textWidth=rightWidth;
|
|
@@ -24035,7 +24053,6 @@ function OverlayKLineFrame()
|
|
|
24035
24053
|
{
|
|
24036
24054
|
var xText=right+2;
|
|
24037
24055
|
if (rightLine && rightLine.Width>0) xText+=rightLine.Width;
|
|
24038
|
-
this.Canvas.fillStyle=item.TextColor;
|
|
24039
24056
|
this.Canvas.textAlign="left";
|
|
24040
24057
|
this.Canvas.fillText(text,xText,y);
|
|
24041
24058
|
}
|
|
@@ -37866,6 +37883,7 @@ function ChartKLineTable()
|
|
|
37866
37883
|
|
|
37867
37884
|
this.TextFont;
|
|
37868
37885
|
this.TextColor='rgb(0,0,0)';
|
|
37886
|
+
this.Style=0; //0=全部窗口模式 1=顶部指定行数 2=底部指定行数;
|
|
37869
37887
|
|
|
37870
37888
|
this.AryTableData=[];
|
|
37871
37889
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
@@ -37891,9 +37909,15 @@ function ChartKLineTable()
|
|
|
37891
37909
|
{
|
|
37892
37910
|
if (!this.BGColor) return;
|
|
37893
37911
|
|
|
37894
|
-
|
|
37912
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
37913
|
+
if ((this.Style===1 || this.Style===2) && this.RowHeightType==1)
|
|
37914
|
+
{
|
|
37915
|
+
var height=this.RowCount*this.RowHeight;
|
|
37916
|
+
height=Math.min(rtBG.Height,height);
|
|
37917
|
+
this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-2, height);
|
|
37918
|
+
}
|
|
37919
|
+
else
|
|
37895
37920
|
{
|
|
37896
|
-
this.Canvas.fillStyle=this.BGColor;
|
|
37897
37921
|
this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-1, rtBG.Height);
|
|
37898
37922
|
}
|
|
37899
37923
|
}
|
|
@@ -37902,8 +37926,11 @@ function ChartKLineTable()
|
|
|
37902
37926
|
{
|
|
37903
37927
|
if (!this.BorderColor) return;
|
|
37904
37928
|
|
|
37929
|
+
var lineCount=30;
|
|
37930
|
+
if (this.Style===1 || this.Style===2) lineCount=this.RowCount+1;
|
|
37931
|
+
|
|
37905
37932
|
var yLine=rtBG.Top;
|
|
37906
|
-
for(var i=0;i<
|
|
37933
|
+
for(var i=0;i<lineCount;++i)
|
|
37907
37934
|
{
|
|
37908
37935
|
this.Canvas.beginPath();
|
|
37909
37936
|
this.Canvas.moveTo(rtBG.Left,ToFixedPoint(yLine));
|
|
@@ -37953,12 +37980,29 @@ function ChartKLineTable()
|
|
|
37953
37980
|
var bottom=border.Bottom;
|
|
37954
37981
|
|
|
37955
37982
|
//绘制背景
|
|
37956
|
-
|
|
37957
|
-
|
|
37958
|
-
|
|
37959
|
-
|
|
37960
|
-
|
|
37983
|
+
if (this.Style===1)
|
|
37984
|
+
{
|
|
37985
|
+
var rtBG={ Left:border.LeftEx, Top:border.TopTitle, Right:border.RightEx, Bottom:border.TopEx };
|
|
37986
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
37987
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
37988
|
+
}
|
|
37989
|
+
else if (this.Style===2)
|
|
37990
|
+
{
|
|
37991
|
+
var rtBG={ Left:border.LeftEx, Top:border.BottomEx, Right:border.RightEx, Bottom:border.Bottom };
|
|
37992
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
37993
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
37994
|
+
top=rtBG.Top;
|
|
37995
|
+
}
|
|
37996
|
+
else
|
|
37997
|
+
{
|
|
37998
|
+
var rtBG={ Left:border.LeftEx, Top:top, Right:border.RightEx, Bottom:bottom };
|
|
37999
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
38000
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
38001
|
+
}
|
|
38002
|
+
|
|
37961
38003
|
this.CalculateRowHeight(rtBG);
|
|
38004
|
+
|
|
38005
|
+
this.DrawBG(rtBG);
|
|
37962
38006
|
|
|
37963
38007
|
var itemHeight=this.RowHeight;
|
|
37964
38008
|
var itemWidth=dataWidth+distanceWidth;
|
|
@@ -37991,7 +38035,7 @@ function ChartKLineTable()
|
|
|
37991
38035
|
if (!bDrawName) this.DrawRow(mapItem, top, bottom, left, right); //绘制一列
|
|
37992
38036
|
}
|
|
37993
38037
|
|
|
37994
|
-
if (this.RowNamePosition==3) this.DrawRightRowName();
|
|
38038
|
+
if (this.RowNamePosition==3) this.DrawRightRowName(rtBG);
|
|
37995
38039
|
|
|
37996
38040
|
this.DrawBorder(rtBG);
|
|
37997
38041
|
}
|
|
@@ -38038,20 +38082,51 @@ function ChartKLineTable()
|
|
|
38038
38082
|
}
|
|
38039
38083
|
|
|
38040
38084
|
//绘制右侧行名
|
|
38041
|
-
this.DrawRightRowName=function()
|
|
38085
|
+
this.DrawRightRowName=function(rtBG)
|
|
38042
38086
|
{
|
|
38043
38087
|
var border=this.ChartFrame.GetBorder();
|
|
38044
38088
|
|
|
38045
38089
|
if (this.BGColor)
|
|
38046
38090
|
{
|
|
38047
|
-
|
|
38048
|
-
|
|
38049
|
-
|
|
38050
|
-
|
|
38051
|
-
|
|
38091
|
+
if (this.Style===1)
|
|
38092
|
+
{
|
|
38093
|
+
var height=this.RowCount*this.RowHeight;
|
|
38094
|
+
height=Math.min(rtBG.Height,height);
|
|
38095
|
+
var width=border.ChartWidth-rtBG.Right-2;
|
|
38096
|
+
var maxTextWidth=0;
|
|
38097
|
+
for(var i=0;i<this.RowName.length;++i)
|
|
38098
|
+
{
|
|
38099
|
+
var item=this.RowName[i];
|
|
38100
|
+
if (!item || !item.Name) continue;
|
|
38101
|
+
|
|
38102
|
+
var textWidth=this.Canvas.measureText(item.Name).width;
|
|
38103
|
+
if (textWidth>maxTextWidth) maxTextWidth=textWidth;
|
|
38104
|
+
}
|
|
38105
|
+
if (maxTextWidth>0)
|
|
38106
|
+
{
|
|
38107
|
+
maxTextWidth+=4;
|
|
38108
|
+
width=Math.min(width, maxTextWidth);
|
|
38109
|
+
}
|
|
38110
|
+
|
|
38111
|
+
var rtRightBG={Left:rtBG.Right+1, Top:rtBG.Top+1, Width:width, Height:height };
|
|
38112
|
+
rtRightBG.Right=rtRightBG.Left+rtRightBG.Width;
|
|
38113
|
+
rtRightBG.Bottom=rtRightBG.Top+rtRightBG.Height;
|
|
38114
|
+
|
|
38115
|
+
|
|
38116
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
38117
|
+
this.Canvas.fillRect(rtRightBG.Left, rtRightBG.Top, rtRightBG.Width, rtRightBG.Height);
|
|
38118
|
+
}
|
|
38119
|
+
else
|
|
38120
|
+
{
|
|
38121
|
+
var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
|
|
38122
|
+
rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
|
|
38123
|
+
rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
|
|
38124
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
38125
|
+
this.Canvas.fillRect(rtRightBG.Left+1, rtRightBG.Top, rtRightBG.Width-2, rtRightBG.Height);
|
|
38126
|
+
}
|
|
38052
38127
|
}
|
|
38053
38128
|
|
|
38054
|
-
var x=
|
|
38129
|
+
var x=rtBG.Right, y=rtBG.Top;
|
|
38055
38130
|
var yOffset=3;
|
|
38056
38131
|
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
38057
38132
|
for(var i=0;i<this.RowName.length;++i)
|
|
@@ -68399,9 +68474,14 @@ function IChartDrawPicture()
|
|
|
68399
68474
|
pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset);
|
|
68400
68475
|
pt.Y=this.Frame.GetYFromData(item.YValue);
|
|
68401
68476
|
}
|
|
68477
|
+
|
|
68478
|
+
if (Path2DHelper.PtInPoint(x,y,pt,radius))
|
|
68479
|
+
return i;
|
|
68480
|
+
/*
|
|
68402
68481
|
this.Canvas.beginPath();
|
|
68403
68482
|
this.Canvas.arc(pt.X,pt.Y,radius,0,360);
|
|
68404
68483
|
if (this.Canvas.isPointInPath(x,y)) return i;
|
|
68484
|
+
*/
|
|
68405
68485
|
}
|
|
68406
68486
|
|
|
68407
68487
|
return -1;
|
|
@@ -68419,6 +68499,20 @@ function IChartDrawPicture()
|
|
|
68419
68499
|
var pixel=GetDevicePixelRatio();
|
|
68420
68500
|
lineWidth*=pixel;
|
|
68421
68501
|
for(var i=0;i<this.LinePoint.length; ++i)
|
|
68502
|
+
{
|
|
68503
|
+
var item=this.LinePoint[i];
|
|
68504
|
+
var ptStart=item.Start;
|
|
68505
|
+
var ptEnd=item.End;
|
|
68506
|
+
|
|
68507
|
+
if (Path2DHelper.PtInLine(x, y, ptStart, ptEnd, lineWidth))
|
|
68508
|
+
{
|
|
68509
|
+
return i;
|
|
68510
|
+
}
|
|
68511
|
+
}
|
|
68512
|
+
return -1;
|
|
68513
|
+
|
|
68514
|
+
/*
|
|
68515
|
+
for(var i=0;i<this.LinePoint.length; ++i)
|
|
68422
68516
|
{
|
|
68423
68517
|
var item=this.LinePoint[i];
|
|
68424
68518
|
var ptStart=item.Start;
|
|
@@ -68447,6 +68541,7 @@ function IChartDrawPicture()
|
|
|
68447
68541
|
}
|
|
68448
68542
|
|
|
68449
68543
|
return -1;
|
|
68544
|
+
*/
|
|
68450
68545
|
}
|
|
68451
68546
|
|
|
68452
68547
|
//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
@@ -71140,6 +71235,18 @@ function ChartDrawPictureRect()
|
|
|
71140
71235
|
//点是否在线段上 水平线段
|
|
71141
71236
|
this.IsPointInLine=function(aryPoint,x,y,option)
|
|
71142
71237
|
{
|
|
71238
|
+
var lineWidth=5;
|
|
71239
|
+
var pixel=GetDevicePixelRatio();
|
|
71240
|
+
if (IFrameSplitOperator.IsPlusNumber(this.LineWidth) && this.LineWidth>lineWidth) lineWidth=this.LineWidth;
|
|
71241
|
+
if (option && IFrameSplitOperator.IsNumber(option.Zoom)) lineWidth+=option.Zoom;
|
|
71242
|
+
else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) lineWidth+=this.Option.Zoom;
|
|
71243
|
+
lineWidth*=pixel;
|
|
71244
|
+
if (Path2DHelper.PtInLine(x,y,aryPoint[0], aryPoint[1], lineWidth))
|
|
71245
|
+
return true;
|
|
71246
|
+
|
|
71247
|
+
return false;
|
|
71248
|
+
|
|
71249
|
+
/*
|
|
71143
71250
|
var radius=5;
|
|
71144
71251
|
if (option && IFrameSplitOperator.IsNumber(option.Zoom)) radius+=option.Zoom;
|
|
71145
71252
|
else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) radius+=this.Option.Zoom;
|
|
@@ -71154,11 +71261,14 @@ function ChartDrawPictureRect()
|
|
|
71154
71261
|
this.Canvas.closePath();
|
|
71155
71262
|
if (this.Canvas.isPointInPath(x,y))
|
|
71156
71263
|
return true;
|
|
71264
|
+
*/
|
|
71157
71265
|
}
|
|
71158
71266
|
|
|
71159
71267
|
//垂直线段
|
|
71160
71268
|
this.IsPointInLine2=function(aryPoint,x,y,option)
|
|
71161
71269
|
{
|
|
71270
|
+
return this.IsPointInLine(aryPoint,x,y,option);
|
|
71271
|
+
/*
|
|
71162
71272
|
var radius=5;
|
|
71163
71273
|
if (option && IFrameSplitOperator.IsNumber(option.Zoom)) radius+=option.Zoom;
|
|
71164
71274
|
else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) radius+=this.Option.Zoom;
|
|
@@ -71173,6 +71283,7 @@ function ChartDrawPictureRect()
|
|
|
71173
71283
|
this.Canvas.closePath();
|
|
71174
71284
|
if (this.Canvas.isPointInPath(x,y))
|
|
71175
71285
|
return true;
|
|
71286
|
+
*/
|
|
71176
71287
|
}
|
|
71177
71288
|
}
|
|
71178
71289
|
|
|
@@ -84817,6 +84928,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84817
84928
|
this.PopMinuteChart=null;
|
|
84818
84929
|
}
|
|
84819
84930
|
|
|
84931
|
+
this.ClosePopMinuteChart=function()
|
|
84932
|
+
{
|
|
84933
|
+
if (!this.PopMinuteChart) return;
|
|
84934
|
+
|
|
84935
|
+
this.PopMinuteChart.Close();
|
|
84936
|
+
}
|
|
84937
|
+
|
|
84820
84938
|
this.ShowMinuteChartDialog=function(data, x,y)
|
|
84821
84939
|
{
|
|
84822
84940
|
if (!this.PopMinuteChart) return;
|
|
@@ -87405,6 +87523,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
87405
87523
|
//周期切换
|
|
87406
87524
|
this.ChangePeriod=function(period,option)
|
|
87407
87525
|
{
|
|
87526
|
+
this.ClosePopMinuteChart();
|
|
87527
|
+
|
|
87408
87528
|
var oldData={ Period:this.Period, Right:this.Right, KLineDrawType:this.KLineDrawType, Symbol:this.Symbol};
|
|
87409
87529
|
|
|
87410
87530
|
var isChangeKLineDrawType=false;
|
|
@@ -88963,6 +89083,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
88963
89083
|
this.ClearIndexRunCount();
|
|
88964
89084
|
this.UnlockCorssCursor();
|
|
88965
89085
|
this.Frame.ClearYCoordinateMaxMin();
|
|
89086
|
+
this.ClosePopMinuteChart();
|
|
88966
89087
|
|
|
88967
89088
|
|
|
88968
89089
|
this.Symbol=symbol;
|
|
@@ -107211,6 +107332,117 @@ function GetLocalTime(i) //得到标准时区的时间的函数
|
|
|
107211
107332
|
return new Date(utcTime + 3600000 * i);
|
|
107212
107333
|
}
|
|
107213
107334
|
|
|
107335
|
+
//图形路径方法
|
|
107336
|
+
function Path2DHelper() { }
|
|
107337
|
+
const PI2 = Math.PI * 2;
|
|
107338
|
+
|
|
107339
|
+
//点是否在线段上
|
|
107340
|
+
Path2DHelper.PtInLine=function(x, y, pt, pt2, lineWidth)
|
|
107341
|
+
{
|
|
107342
|
+
if (lineWidth<=0) return false;
|
|
107343
|
+
|
|
107344
|
+
var x0=pt.X, y0=pt.Y;
|
|
107345
|
+
var x1=pt2.X, y1=pt2.Y;
|
|
107346
|
+
|
|
107347
|
+
const _l = lineWidth;
|
|
107348
|
+
let _a = 0;
|
|
107349
|
+
let _b = x0;
|
|
107350
|
+
|
|
107351
|
+
// Quick reject
|
|
107352
|
+
if (
|
|
107353
|
+
(y > y0 + _l && y > y1 + _l)
|
|
107354
|
+
|| (y < y0 - _l && y < y1 - _l)
|
|
107355
|
+
|| (x > x0 + _l && x > x1 + _l)
|
|
107356
|
+
|| (x < x0 - _l && x < x1 - _l)
|
|
107357
|
+
)
|
|
107358
|
+
{
|
|
107359
|
+
return false;
|
|
107360
|
+
}
|
|
107361
|
+
|
|
107362
|
+
if (x0 !== x1)
|
|
107363
|
+
{
|
|
107364
|
+
_a = (y0 - y1) / (x0 - x1);
|
|
107365
|
+
_b = (x0 * y1 - x1 * y0) / (x0 - x1);
|
|
107366
|
+
}
|
|
107367
|
+
else
|
|
107368
|
+
{
|
|
107369
|
+
return Math.abs(x - x0) <= _l / 2;
|
|
107370
|
+
}
|
|
107371
|
+
|
|
107372
|
+
const tmp = _a * x - y + _b;
|
|
107373
|
+
const _s = tmp * tmp / (_a * _a + 1);
|
|
107374
|
+
return _s <= _l / 2 * _l / 2;
|
|
107375
|
+
}
|
|
107376
|
+
|
|
107377
|
+
//点是否在圆点上
|
|
107378
|
+
Path2DHelper.PtInPoint=function(x,y, ptCenter, radius)
|
|
107379
|
+
{
|
|
107380
|
+
if (radius<=0) return false;
|
|
107381
|
+
|
|
107382
|
+
var cx=ptCenter.X;
|
|
107383
|
+
var cy=ptCenter.Y;
|
|
107384
|
+
|
|
107385
|
+
x -= cx;
|
|
107386
|
+
y -= cy;
|
|
107387
|
+
const d = Math.sqrt(x * x + y * y); //到圆心的距离
|
|
107388
|
+
|
|
107389
|
+
if (d>radius) return false;
|
|
107390
|
+
|
|
107391
|
+
return true;
|
|
107392
|
+
}
|
|
107393
|
+
|
|
107394
|
+
Path2DHelper.PtInArc=function(x, y, ptCenter, radius, startAngle, endAngle,lineWidth, anticlockwise)
|
|
107395
|
+
{
|
|
107396
|
+
if (lineWidth<=0) return false;
|
|
107397
|
+
|
|
107398
|
+
const _l = lineWidth;
|
|
107399
|
+
var cx=ptCenter.X;
|
|
107400
|
+
var cy=ptCenter.Y;
|
|
107401
|
+
|
|
107402
|
+
x -= cx;
|
|
107403
|
+
y -= cy;
|
|
107404
|
+
const d = Math.sqrt(x * x + y * y);
|
|
107405
|
+
|
|
107406
|
+
if ((d - _l > r) || (d + _l < r))
|
|
107407
|
+
return false;
|
|
107408
|
+
|
|
107409
|
+
// TODO
|
|
107410
|
+
if (Math.abs(startAngle - endAngle) % PI2 < 1e-4)
|
|
107411
|
+
{
|
|
107412
|
+
// Is a circle
|
|
107413
|
+
return true;
|
|
107414
|
+
}
|
|
107415
|
+
|
|
107416
|
+
if (anticlockwise)
|
|
107417
|
+
{
|
|
107418
|
+
const tmp = startAngle;
|
|
107419
|
+
startAngle = Path2DHelper.FormatRadian(endAngle);
|
|
107420
|
+
endAngle = Path2DHelper.FormatRadian(tmp);
|
|
107421
|
+
}
|
|
107422
|
+
else
|
|
107423
|
+
{
|
|
107424
|
+
startAngle = Path2DHelper.FormatRadian(startAngle);
|
|
107425
|
+
endAngle = Path2DHelper.FormatRadian(endAngle);
|
|
107426
|
+
}
|
|
107427
|
+
|
|
107428
|
+
if (startAngle > endAngle)
|
|
107429
|
+
endAngle += PI2;
|
|
107430
|
+
|
|
107431
|
+
var angle = Math.atan2(y, x);
|
|
107432
|
+
if (angle < 0)
|
|
107433
|
+
angle += PI2;
|
|
107434
|
+
|
|
107435
|
+
return (angle >= startAngle && angle <= endAngle) || (angle + PI2 >= startAngle && angle + PI2 <= endAngle);
|
|
107436
|
+
}
|
|
107437
|
+
|
|
107438
|
+
//统一弧度方向
|
|
107439
|
+
Path2DHelper.FormatRadian=function(angle)
|
|
107440
|
+
{
|
|
107441
|
+
angle%= PI2;
|
|
107442
|
+
if (angle<0) angle += PI2;
|
|
107443
|
+
return angle;
|
|
107444
|
+
}
|
|
107445
|
+
|
|
107214
107446
|
|
|
107215
107447
|
|
|
107216
107448
|
|
|
@@ -130301,6 +130533,9 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
130301
130533
|
case SCRIPT_CHART_NAME.BASELINE_BAR:
|
|
130302
130534
|
this.CreateBaseLineBar(hqChart,windowIndex,item,i);
|
|
130303
130535
|
break;
|
|
130536
|
+
case SCRIPT_CHART_NAME.KLINE_TABLE:
|
|
130537
|
+
this.CreateKLineTable(hqChart,windowIndex,item,i);
|
|
130538
|
+
break;
|
|
130304
130539
|
case "DRAWCOLORKLINE":
|
|
130305
130540
|
this.CreateDrawColorKLine(hqChart,windowIndex,item,i);
|
|
130306
130541
|
break;
|
|
@@ -131110,6 +131345,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
131110
131345
|
}
|
|
131111
131346
|
|
|
131112
131347
|
chart.BuildCacheData();
|
|
131348
|
+
this.SetChartIndexName(chart);
|
|
131113
131349
|
frame.ChartPaint.push(chart);
|
|
131114
131350
|
}
|
|
131115
131351
|
|
|
@@ -131140,6 +131376,61 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
131140
131376
|
frame.ChartPaint.push(chart);
|
|
131141
131377
|
}
|
|
131142
131378
|
|
|
131379
|
+
this.CreateKLineTable=function(hqChart,windowIndex,varItem,id)
|
|
131380
|
+
{
|
|
131381
|
+
var overlayIndex=this.OverlayIndex;
|
|
131382
|
+
var frame=overlayIndex.Frame;
|
|
131383
|
+
var chart=new ChartKLineTable();
|
|
131384
|
+
chart.Canvas=hqChart.Canvas;
|
|
131385
|
+
chart.Name=varItem.Name;
|
|
131386
|
+
chart.HQChart=hqChart;
|
|
131387
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
131388
|
+
chart.ChartFrame=frame.Frame;
|
|
131389
|
+
chart.Identify=overlayIndex.Identify;
|
|
131390
|
+
|
|
131391
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
131392
|
+
chart.AryTableData=varItem.Draw.DrawData;
|
|
131393
|
+
if (IFrameSplitOperator.IsNumber(varItem.Draw.RowCount)) chart.RowCount=varItem.Draw.RowCount;
|
|
131394
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
|
|
131395
|
+
|
|
131396
|
+
var config=varItem.Draw.Config;
|
|
131397
|
+
if (config)
|
|
131398
|
+
{
|
|
131399
|
+
if (config.BGColor) chart.BGColor=config.BGColor;
|
|
131400
|
+
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
131401
|
+
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
131402
|
+
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
131403
|
+
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
131404
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
131405
|
+
|
|
131406
|
+
if (config.ItemMergin)
|
|
131407
|
+
{
|
|
131408
|
+
var subItem=config.ItemMergin;
|
|
131409
|
+
if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
|
|
131410
|
+
if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
|
|
131411
|
+
if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
|
|
131412
|
+
if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
|
|
131413
|
+
if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
|
|
131414
|
+
}
|
|
131415
|
+
|
|
131416
|
+
if (config.TextFont)
|
|
131417
|
+
{
|
|
131418
|
+
var subItem=config.TextFont;
|
|
131419
|
+
if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
|
|
131420
|
+
if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
|
|
131421
|
+
}
|
|
131422
|
+
}
|
|
131423
|
+
|
|
131424
|
+
chart.BuildCacheData();
|
|
131425
|
+
frame.ChartPaint.push(chart);
|
|
131426
|
+
|
|
131427
|
+
var titleIndex=windowIndex+1;
|
|
131428
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
131429
|
+
var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);
|
|
131430
|
+
titleData.DataType="ChartKLineTable";
|
|
131431
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
131432
|
+
}
|
|
131433
|
+
|
|
131143
131434
|
|
|
131144
131435
|
//创建通道
|
|
131145
131436
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id)
|
|
@@ -150433,7 +150724,7 @@ function ScrollBarBGChart()
|
|
|
150433
150724
|
|
|
150434
150725
|
|
|
150435
150726
|
|
|
150436
|
-
var HQCHART_VERSION="1.1.
|
|
150727
|
+
var HQCHART_VERSION="1.1.14873";
|
|
150437
150728
|
|
|
150438
150729
|
function PrintHQChartVersion()
|
|
150439
150730
|
{
|