hqchart 1.1.13253 → 1.1.13263
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 +41 -32
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +53 -3
- package/src/jscommon/umychart.complier.js +10 -0
- package/src/jscommon/umychart.js +124 -22
- package/src/jscommon/umychart.resource/css/tools.css +10 -5
- package/src/jscommon/umychart.resource/font/drawtool/demo_index.html +26 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.css +7 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.js +1 -1
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.json +7 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.ttf +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff2 +0 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +135 -23
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +188 -26
|
@@ -21240,6 +21240,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
21240
21240
|
|
|
21241
21241
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
21242
21242
|
|
|
21243
|
+
this.SetChartIndexName(chart);
|
|
21243
21244
|
hqChart.ChartPaint.push(chart);
|
|
21244
21245
|
|
|
21245
21246
|
var titleIndex=windowIndex+1;
|
|
@@ -21260,6 +21261,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
21260
21261
|
chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
21261
21262
|
chart.PointGroup=varItem.Draw.DrawData;
|
|
21262
21263
|
if (varItem.Draw.Name) chart.Name=varItem.Draw.Name;
|
|
21264
|
+
this.SetChartIndexName(chart);
|
|
21263
21265
|
hqChart.ChartPaint.push(chart);
|
|
21264
21266
|
|
|
21265
21267
|
var titleIndex=windowIndex+1;
|
|
@@ -21286,6 +21288,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
21286
21288
|
titleData.DataType="MULTI_BAR";
|
|
21287
21289
|
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
21288
21290
|
|
|
21291
|
+
this.SetChartIndexName(chart);
|
|
21289
21292
|
hqChart.ChartPaint.push(chart);
|
|
21290
21293
|
}
|
|
21291
21294
|
|
|
@@ -21299,6 +21302,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
21299
21302
|
|
|
21300
21303
|
chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
21301
21304
|
chart.Texts=varItem.Draw.DrawData;
|
|
21305
|
+
this.SetChartIndexName(chart);
|
|
21302
21306
|
hqChart.ChartPaint.push(chart);
|
|
21303
21307
|
}
|
|
21304
21308
|
|
|
@@ -21314,6 +21318,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
21314
21318
|
chart.Family=varItem.Draw.DrawData.Family;
|
|
21315
21319
|
chart.AryIcon= varItem.Draw.DrawData.Icon;
|
|
21316
21320
|
chart.BuildCacheData();
|
|
21321
|
+
this.SetChartIndexName(chart);
|
|
21317
21322
|
hqChart.ChartPaint.push(chart);
|
|
21318
21323
|
}
|
|
21319
21324
|
|
|
@@ -22887,6 +22892,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
22887
22892
|
|
|
22888
22893
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
22889
22894
|
|
|
22895
|
+
this.SetChartIndexName(chart);
|
|
22890
22896
|
frame.ChartPaint.push(chart);
|
|
22891
22897
|
}
|
|
22892
22898
|
|
|
@@ -22950,6 +22956,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
22950
22956
|
titleData.DataType="MULTI_BAR";
|
|
22951
22957
|
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
22952
22958
|
|
|
22959
|
+
this.SetChartIndexName(chart);
|
|
22953
22960
|
frame.ChartPaint.push(chart);
|
|
22954
22961
|
}
|
|
22955
22962
|
|
|
@@ -22966,6 +22973,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
22966
22973
|
|
|
22967
22974
|
chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
22968
22975
|
chart.Texts=varItem.Draw.DrawData;
|
|
22976
|
+
this.SetChartIndexName(chart);
|
|
22969
22977
|
frame.ChartPaint.push(chart);
|
|
22970
22978
|
}
|
|
22971
22979
|
|
|
@@ -22984,6 +22992,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
22984
22992
|
chart.Family=varItem.Draw.DrawData.Family;
|
|
22985
22993
|
chart.AryIcon= varItem.Draw.DrawData.Icon;
|
|
22986
22994
|
chart.BuildCacheData();
|
|
22995
|
+
this.SetChartIndexName(chart);
|
|
22987
22996
|
frame.ChartPaint.push(chart);
|
|
22988
22997
|
}
|
|
22989
22998
|
|
|
@@ -23012,6 +23021,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23012
23021
|
|
|
23013
23022
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
23014
23023
|
|
|
23024
|
+
this.SetChartIndexName(chart);
|
|
23015
23025
|
frame.ChartPaint.push(chart);
|
|
23016
23026
|
}
|
|
23017
23027
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -2749,6 +2749,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
2749
2749
|
this.CurrentChartDrawPicture=null; //当前的画图工具
|
|
2750
2750
|
this.SelectChartDrawPicture=null; //当前选中的画图
|
|
2751
2751
|
this.MoveOnChartDrawPicture=null; //鼠标在画图上
|
|
2752
|
+
this.EnableEraseChartDrawPicture=false; //擦除画图
|
|
2752
2753
|
this.IsDrawPictureXY=false; //选中的画图工具是否显示X,Y轴对应数值
|
|
2753
2754
|
this.EnableShowCorssCursor={ DrawPicture:true }; //DrawPicture=画图是否显示十字光标
|
|
2754
2755
|
this.ChartPictureMenu; //画图工具 单个图形设置菜单
|
|
@@ -3486,7 +3487,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3486
3487
|
drawPictrueData.Y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
3487
3488
|
if (this.GetChartDrawPictureByPoint(drawPictrueData))
|
|
3488
3489
|
{
|
|
3489
|
-
if (
|
|
3490
|
+
if (this.EnableEraseChartDrawPicture) //擦掉画线
|
|
3491
|
+
{
|
|
3492
|
+
this.CurrentChartDrawPicture=null;
|
|
3493
|
+
this.SelectChartDrawPicture=null;
|
|
3494
|
+
this.ClearChartDrawPicture(drawPictrueData.ChartDrawPicture);
|
|
3495
|
+
}
|
|
3496
|
+
else if (drawPictrueData.ChartDrawPicture.EnableMove==true)
|
|
3490
3497
|
{
|
|
3491
3498
|
this.UpDownDrag=null; //画图优先
|
|
3492
3499
|
this.CurrentChartDrawPicture=drawPictrueData.ChartDrawPicture;
|
|
@@ -4029,6 +4036,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4029
4036
|
this.MouseDrag=null;
|
|
4030
4037
|
this.ClickDownPoint=null;
|
|
4031
4038
|
this.IsOnTouch=false;
|
|
4039
|
+
if (this.EnableEraseChartDrawPicture==true)
|
|
4040
|
+
{
|
|
4041
|
+
this.EnableEraseChartDrawPicture=false;
|
|
4042
|
+
//更改画图工具对话框橡皮状态
|
|
4043
|
+
if (this.DialogDrawTool && this.DialogDrawTool.SetEraseChartButtonStatus) this.DialogDrawTool.SetEraseChartButtonStatus(false);
|
|
4044
|
+
}
|
|
4045
|
+
|
|
4032
4046
|
if (this.BorderDrag && this.BorderDrag.Index>=0) this.Frame.SaveSubFrameHeightRate(); //拖拽指标窗口高度以后保存
|
|
4033
4047
|
this.BorderDrag=null;
|
|
4034
4048
|
this.YDrag=null;
|
|
@@ -6089,22 +6103,31 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6089
6103
|
var drawPictrueData={};
|
|
6090
6104
|
drawPictrueData.X=x;
|
|
6091
6105
|
drawPictrueData.Y=y;
|
|
6092
|
-
if (this.GetChartDrawPictureByPoint(drawPictrueData) &&
|
|
6093
|
-
drawPictrueData.ChartDrawPicture && drawPictrueData.ChartDrawPicture.EnableMove==true)
|
|
6106
|
+
if (this.GetChartDrawPictureByPoint(drawPictrueData) && drawPictrueData.ChartDrawPicture)
|
|
6094
6107
|
{
|
|
6095
|
-
|
|
6096
|
-
if (drawPictrueData.PointIndex===100)
|
|
6108
|
+
if (this.EnableEraseChartDrawPicture)
|
|
6097
6109
|
{
|
|
6098
|
-
|
|
6099
|
-
else this.SetCursor({Cursor:"move"}); //this.UIElement.style.cursor="move";
|
|
6110
|
+
this.SetCursor({Cursor:"grabbing"});
|
|
6100
6111
|
}
|
|
6101
|
-
else
|
|
6112
|
+
else
|
|
6102
6113
|
{
|
|
6103
|
-
if (drawPictrueData.
|
|
6104
|
-
|
|
6105
|
-
|
|
6114
|
+
if (drawPictrueData.ChartDrawPicture.EnableMove==true)
|
|
6115
|
+
{
|
|
6116
|
+
if (drawPictrueData.PointIndex===100)
|
|
6117
|
+
{
|
|
6118
|
+
if (drawPictrueData.Cursor) this.SetCursor(drawPictrueData); //this.UIElement.style.cursor=drawPictrueData.Cursor;
|
|
6119
|
+
else this.SetCursor({Cursor:"move"}); //this.UIElement.style.cursor="move";
|
|
6120
|
+
}
|
|
6121
|
+
else
|
|
6122
|
+
{
|
|
6123
|
+
if (drawPictrueData.Cursor) this.SetCursor(drawPictrueData); //this.UIElement.style.cursor=drawPictrueData.Cursor
|
|
6124
|
+
else this.SetCursor({Cursor:"pointer"}); //this.UIElement.style.cursor="pointer";
|
|
6125
|
+
}
|
|
6106
6126
|
|
|
6107
|
-
|
|
6127
|
+
bDrawPicture=true;
|
|
6128
|
+
}
|
|
6129
|
+
}
|
|
6130
|
+
|
|
6108
6131
|
this.MoveOnChartDrawPicture=drawPictrueData.ChartDrawPicture;
|
|
6109
6132
|
}
|
|
6110
6133
|
else
|
|
@@ -36788,7 +36811,9 @@ function ChartMultiBar()
|
|
|
36788
36811
|
|
|
36789
36812
|
this.Draw=function()
|
|
36790
36813
|
{
|
|
36791
|
-
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
36814
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
36815
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
36816
|
+
if (this.IsHideScriptIndex()) return;
|
|
36792
36817
|
if (!this.Data || this.Data.length<=0) return;
|
|
36793
36818
|
|
|
36794
36819
|
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
@@ -36965,6 +36990,8 @@ function ChartMultiLine()
|
|
|
36965
36990
|
this.Draw=function()
|
|
36966
36991
|
{
|
|
36967
36992
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
36993
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
36994
|
+
if (this.IsHideScriptIndex()) return;
|
|
36968
36995
|
if (!this.Data || this.Data.length<=0) return;
|
|
36969
36996
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.Lines)) return;
|
|
36970
36997
|
|
|
@@ -37484,7 +37511,7 @@ function ChartMultiText()
|
|
|
37484
37511
|
var y=top;
|
|
37485
37512
|
if (item.Value=="TOP") y=top;
|
|
37486
37513
|
else if (item.Value=="BOTTOM") y=bottom;
|
|
37487
|
-
else y=this.ChartFrame.GetYFromData(item.Value);
|
|
37514
|
+
else y=this.ChartFrame.GetYFromData(item.Value, false);
|
|
37488
37515
|
|
|
37489
37516
|
if (item.Color) this.Canvas.fillStyle = item.Color;
|
|
37490
37517
|
else this.Canvas.fillStyle = this.Color;
|
|
@@ -37525,7 +37552,7 @@ function ChartMultiText()
|
|
|
37525
37552
|
{
|
|
37526
37553
|
var kItem=this.Data.Data[item.Index];
|
|
37527
37554
|
var price=item.Line.KData=="H"? kItem.High:kItem.Low;
|
|
37528
|
-
var yPrice=this.ChartFrame.GetYFromData(price);
|
|
37555
|
+
var yPrice=this.ChartFrame.GetYFromData(price, false);
|
|
37529
37556
|
var yText=y;
|
|
37530
37557
|
if (Array.isArray(item.Line.Offset) && item.Line.Offset.length==2)
|
|
37531
37558
|
{
|
|
@@ -37565,7 +37592,9 @@ function ChartMultiText()
|
|
|
37565
37592
|
|
|
37566
37593
|
this.Draw=function()
|
|
37567
37594
|
{
|
|
37568
|
-
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
37595
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
37596
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
37597
|
+
if (this.IsHideScriptIndex()) return;
|
|
37569
37598
|
if (!this.Data || this.Data.length<=0) return;
|
|
37570
37599
|
if (!this.Texts) return;
|
|
37571
37600
|
|
|
@@ -37574,7 +37603,12 @@ function ChartMultiText()
|
|
|
37574
37603
|
var mapText=this.GetShowTextData();
|
|
37575
37604
|
if (mapText.size<=0) return;
|
|
37576
37605
|
|
|
37606
|
+
this.Canvas.save();
|
|
37607
|
+
this.ClipClient(this.IsHScreen);
|
|
37608
|
+
|
|
37577
37609
|
this.DrawAllText(mapText);
|
|
37610
|
+
|
|
37611
|
+
this.Canvas.restore();
|
|
37578
37612
|
}
|
|
37579
37613
|
|
|
37580
37614
|
this.GetMaxMin=function()
|
|
@@ -37622,7 +37656,9 @@ function ChartMultiSVGIcon()
|
|
|
37622
37656
|
this.Draw=function()
|
|
37623
37657
|
{
|
|
37624
37658
|
this.IconRect=[];
|
|
37625
|
-
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
37659
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
37660
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
37661
|
+
if (this.IsHideScriptIndex()) return;
|
|
37626
37662
|
if (!this.Data || this.Data.length<=0) return;
|
|
37627
37663
|
if (!this.Family || !this.Icon) return;
|
|
37628
37664
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.Icon)) return;
|
|
@@ -56021,7 +56057,7 @@ function ChartDrawHLine()
|
|
|
56021
56057
|
this.TextFont=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
56022
56058
|
this.RightSpaceWidth=50;
|
|
56023
56059
|
|
|
56024
|
-
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐
|
|
56060
|
+
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
56025
56061
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
56026
56062
|
this.ButtonSpace=3;
|
|
56027
56063
|
|
|
@@ -56053,6 +56089,8 @@ function ChartDrawHLine()
|
|
|
56053
56089
|
this.ColseButtonSize=0;
|
|
56054
56090
|
this.SettingButtonSize=0;
|
|
56055
56091
|
this.ButtonBGWidth=0;
|
|
56092
|
+
this.VerticalButtonInfo={ Width:0, Height:0 }; //垂直按钮信息
|
|
56093
|
+
|
|
56056
56094
|
|
|
56057
56095
|
|
|
56058
56096
|
this.SetOption=function(option)
|
|
@@ -56189,6 +56227,9 @@ function ChartDrawHLine()
|
|
|
56189
56227
|
this.SettingButtonSize=0;
|
|
56190
56228
|
this.ButtonBGWidth=0;
|
|
56191
56229
|
|
|
56230
|
+
this.VerticalButtonInfo.Width=0;
|
|
56231
|
+
this.VerticalButtonInfo.Height=0;
|
|
56232
|
+
|
|
56192
56233
|
if (this.IsFrameMinSize()) return;
|
|
56193
56234
|
if (!this.IsShow) return;
|
|
56194
56235
|
|
|
@@ -56390,15 +56431,16 @@ function ChartDrawHLine()
|
|
|
56390
56431
|
if (IFrameSplitOperator.IsNumber(labInfo.LineSpace)) lineSpace=labInfo.LineSpace;
|
|
56391
56432
|
|
|
56392
56433
|
//背景色
|
|
56434
|
+
var rtLab={ Left:drawLeft, Top:drawTop, Width:labSize.Width, Height:labSize.Height }
|
|
56435
|
+
rtLab.Right=rtLab.Left+rtLab.Width;
|
|
56436
|
+
rtLab.Bottom=rtLab.Top+rtLab.Height;
|
|
56393
56437
|
if (labInfo.BGColor)
|
|
56394
56438
|
{
|
|
56395
56439
|
this.Canvas.fillStyle=labInfo.BGColor;
|
|
56396
|
-
|
|
56397
|
-
this.Canvas.fillRect(ToFixedRect(drawLeft),ToFixedRect(rtTop),ToFixedRect(labSize.Width),ToFixedRect(labSize.Height));
|
|
56440
|
+
this.Canvas.fillRect(ToFixedRect(rtLab.Left),ToFixedRect(rtLab.Top),ToFixedRect(rtLab.Width),ToFixedRect(rtLab.Height));
|
|
56398
56441
|
}
|
|
56399
56442
|
|
|
56400
56443
|
var yText=drawTop+1+lineSpace;
|
|
56401
|
-
|
|
56402
56444
|
this.Canvas.textBaseline="top";
|
|
56403
56445
|
for(var i=0;i<labInfo.AryText.length;++i)
|
|
56404
56446
|
{
|
|
@@ -56419,6 +56461,8 @@ function ChartDrawHLine()
|
|
|
56419
56461
|
|
|
56420
56462
|
yText+=labSize.LineHeight+lineSpace;
|
|
56421
56463
|
}
|
|
56464
|
+
|
|
56465
|
+
this.DrawVerticalButton(rtLab);
|
|
56422
56466
|
}
|
|
56423
56467
|
|
|
56424
56468
|
this.DrawCustomHLine=function(labInfo, yLine)
|
|
@@ -56573,27 +56617,83 @@ function ChartDrawHLine()
|
|
|
56573
56617
|
var font=`${icon.Size*pixelRatio}px ${icon.Family}`;
|
|
56574
56618
|
this.Canvas.font=font;
|
|
56575
56619
|
item.Width=this.Canvas.measureText(icon.Text).width+2;
|
|
56620
|
+
item.Height=item.Width;
|
|
56576
56621
|
|
|
56577
56622
|
if (icon.Margin)
|
|
56578
56623
|
{
|
|
56579
56624
|
var margin=icon.Margin;
|
|
56580
56625
|
if (IFrameSplitOperator.IsNumber(margin.Left)) item.Width+=margin.Left;
|
|
56581
56626
|
if (IFrameSplitOperator.IsNumber(margin.Right)) item.Width+=margin.Right;
|
|
56627
|
+
|
|
56628
|
+
if (IFrameSplitOperator.IsNumber(margin.Top)) item.Height+=margin.Top;
|
|
56629
|
+
if (IFrameSplitOperator.IsNumber(margin.Bottom)) item.Height+=margin.Bottom;
|
|
56582
56630
|
}
|
|
56583
56631
|
|
|
56632
|
+
if (this.VerticalButtonInfo.Width<item.Width) this.VerticalButtonInfo.Width=item.Width;
|
|
56633
|
+
this.VerticalButtonInfo.Height+=item.Height;
|
|
56634
|
+
|
|
56584
56635
|
totalWidth+=item.Width;
|
|
56585
56636
|
}
|
|
56586
56637
|
|
|
56587
56638
|
this.ButtonBGWidth=totalWidth;
|
|
56588
56639
|
}
|
|
56589
56640
|
|
|
56590
|
-
|
|
56641
|
+
//垂直排列按钮
|
|
56642
|
+
this.DrawVerticalButton=function(rtLab)
|
|
56591
56643
|
{
|
|
56644
|
+
if (this.ButtonPosition!=3) return;
|
|
56592
56645
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryShowButton)) return;
|
|
56646
|
+
if (this.VerticalButtonInfo.Height<=0) return;
|
|
56647
|
+
|
|
56648
|
+
var rtBG={ Left:rtLab.Right, Top:rtLab.Top, Width:this.VerticalButtonInfo.Width, Height:this.VerticalButtonInfo.Height };
|
|
56649
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
56650
|
+
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
56651
|
+
this.Canvas.fillStyle=this.ButtonBGColor;
|
|
56652
|
+
this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top), ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
|
|
56653
|
+
|
|
56654
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
56655
|
+
var yTop=rtLab.Top;
|
|
56656
|
+
for(var i=0;i<this.AryShowButton.length;++i)
|
|
56657
|
+
{
|
|
56658
|
+
var item=this.AryShowButton[i];
|
|
56659
|
+
var icon=item.Data;
|
|
56660
|
+
|
|
56661
|
+
var rtButton={Left:rtBG.Left, Top:yTop, Width:this.VerticalButtonInfo.Width, Height:item.Height };
|
|
56662
|
+
rtButton.Right=rtButton.Left+rtButton.Width;
|
|
56663
|
+
rtButton.Bottom=rtButton.Top+rtButton.Height;
|
|
56664
|
+
var yCenter=rtButton.Top+rtButton.Height/2;
|
|
56665
|
+
var xCenter=rtButton.Left+rtButton.Width/2;
|
|
56593
56666
|
|
|
56667
|
+
var font=`${icon.Size*pixelRatio}px ${icon.Family}`;
|
|
56668
|
+
this.Canvas.font=font;
|
|
56669
|
+
this.Canvas.textAlign="center";
|
|
56670
|
+
this.Canvas.textBaseline="middle";
|
|
56671
|
+
this.Canvas.fillStyle=icon.Color;
|
|
56672
|
+
this.Canvas.fillText(icon.Text,xCenter,yCenter);
|
|
56673
|
+
|
|
56674
|
+
this.AryButton.push({Rect:rtButton,ID:icon.ID, TooltipText:icon.TooltipText, Data:icon.Data });
|
|
56675
|
+
|
|
56676
|
+
yTop=rtButton.Bottom;
|
|
56677
|
+
}
|
|
56678
|
+
}
|
|
56679
|
+
|
|
56680
|
+
this.DrawButton=function(drawTop, drawLeft, drawHeight, rtDraw)
|
|
56681
|
+
{
|
|
56682
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryShowButton)) return;
|
|
56683
|
+
if (this.ButtonPosition==3) return; //垂直按钮在DrawVerticalButton()调用
|
|
56684
|
+
|
|
56594
56685
|
if (this.ButtonPosition==1)
|
|
56595
56686
|
{
|
|
56596
56687
|
drawTop-=drawHeight;
|
|
56688
|
+
var chartWidth=this.Frame.ChartBorder.GetChartWidth();
|
|
56689
|
+
var chartLeft=this.Frame.ChartBorder.GetRight()+this.RightSpaceWidth;
|
|
56690
|
+
if (drawLeft+this.ButtonBGWidth>chartWidth) //右边不够了 往左移动
|
|
56691
|
+
{
|
|
56692
|
+
drawLeft=chartWidth-this.ButtonBGWidth;
|
|
56693
|
+
}
|
|
56694
|
+
|
|
56695
|
+
if (rtDraw.Left>drawLeft) drawLeft=rtDraw.Left;
|
|
56696
|
+
|
|
56597
56697
|
}
|
|
56598
56698
|
else if (this.ButtonPosition==2)
|
|
56599
56699
|
{
|
|
@@ -68025,6 +68125,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
68025
68125
|
{
|
|
68026
68126
|
var cursorIndex={ ZoomType:this.ZoomType, IsLockRight:this.IsZoomLockRight };
|
|
68027
68127
|
cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
|
|
68128
|
+
if (e.ctrlKey) cursorIndex.ZoomType=1; //ctrl+滚轴 十字中心缩放
|
|
68028
68129
|
if (this.Frame.ZoomDown(cursorIndex, { ZoomDownloadDataCallback:(requestData)=>{ this.ZoomDownloadData(requestData) } } ))
|
|
68029
68130
|
{
|
|
68030
68131
|
this.CursorIndex=cursorIndex.Index;
|
|
@@ -68047,6 +68148,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
68047
68148
|
{
|
|
68048
68149
|
var cursorIndex={ ZoomType:this.ZoomType, IsLockRight:this.IsZoomLockRight };
|
|
68049
68150
|
cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
|
|
68151
|
+
if (e.ctrlKey) cursorIndex.ZoomType=1; //ctrl+滚轴 十字中心缩放
|
|
68050
68152
|
if (this.Frame.ZoomUp(cursorIndex))
|
|
68051
68153
|
{
|
|
68052
68154
|
JSConsole.Chart.Log("[KLineChartContainer::OnWheel] cursorIndex ",cursorIndex)
|
|
@@ -1350,10 +1350,10 @@ input[type="color"] {
|
|
|
1350
1350
|
/*display: flex;*/
|
|
1351
1351
|
border: 2px solid;
|
|
1352
1352
|
width:fit-content;
|
|
1353
|
-
border-color: rgb(
|
|
1353
|
+
border-color: rgb(204,204,204);
|
|
1354
1354
|
visibility:hidden;
|
|
1355
1355
|
position: absolute;
|
|
1356
|
-
background-color: rgba(
|
|
1356
|
+
background-color: rgba(250,250,250,1);
|
|
1357
1357
|
left:1px;
|
|
1358
1358
|
top:1px;
|
|
1359
1359
|
}
|
|
@@ -1363,10 +1363,11 @@ input[type="color"] {
|
|
|
1363
1363
|
padding-left: 2px;
|
|
1364
1364
|
height:20px;
|
|
1365
1365
|
border-bottom: 1px solid;
|
|
1366
|
-
border-color: rgb(
|
|
1366
|
+
border-color: rgb(204,204,204);
|
|
1367
1367
|
display: flex;
|
|
1368
1368
|
cursor: default;
|
|
1369
1369
|
user-select: none;
|
|
1370
|
+
background-color:rgb(222,222,222)
|
|
1370
1371
|
}
|
|
1371
1372
|
|
|
1372
1373
|
.UMyChart_DrawTool_Close_Div
|
|
@@ -1395,7 +1396,10 @@ input[type="color"] {
|
|
|
1395
1396
|
|
|
1396
1397
|
.UMyChart_DrawTool_Span_Selected
|
|
1397
1398
|
{
|
|
1398
|
-
|
|
1399
|
+
font-size:22px;
|
|
1400
|
+
border: 1px solid;
|
|
1401
|
+
border-color: rgb(128,128,128);
|
|
1402
|
+
background: rgb(234,85,4);
|
|
1399
1403
|
color: rgb(255,255,255);
|
|
1400
1404
|
}
|
|
1401
1405
|
|
|
@@ -1409,6 +1413,7 @@ input[type="color"] {
|
|
|
1409
1413
|
font-size:22px;
|
|
1410
1414
|
border: 1px solid;
|
|
1411
1415
|
border-color: rgb(128,128,128);
|
|
1416
|
+
color: rgb(77,77,77);
|
|
1412
1417
|
}
|
|
1413
1418
|
|
|
1414
1419
|
.UMyChart_DrawTool_Group_Tr
|
|
@@ -1427,7 +1432,7 @@ input[type="color"] {
|
|
|
1427
1432
|
{
|
|
1428
1433
|
height:5px;
|
|
1429
1434
|
border-bottom: 1px solid;
|
|
1430
|
-
border-color: rgb(
|
|
1435
|
+
border-color: rgb(204,204,204);
|
|
1431
1436
|
}
|
|
1432
1437
|
|
|
1433
1438
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<div class="content unicode" style="display: block;">
|
|
55
55
|
<ul class="icon_lists dib-box">
|
|
56
56
|
|
|
57
|
+
<li class="dib">
|
|
58
|
+
<span class="icon hqchart_drawtool"></span>
|
|
59
|
+
<div class="name">擦除</div>
|
|
60
|
+
<div class="code-name">&#xe60b;</div>
|
|
61
|
+
</li>
|
|
62
|
+
|
|
57
63
|
<li class="dib">
|
|
58
64
|
<span class="icon hqchart_drawtool"></span>
|
|
59
65
|
<div class="name">价格范围</div>
|
|
@@ -330,9 +336,9 @@
|
|
|
330
336
|
<pre><code class="language-css"
|
|
331
337
|
>@font-face {
|
|
332
338
|
font-family: 'hqchart_drawtool';
|
|
333
|
-
src: url('iconfont.woff2?t=
|
|
334
|
-
url('iconfont.woff?t=
|
|
335
|
-
url('iconfont.ttf?t=
|
|
339
|
+
src: url('iconfont.woff2?t=1715003562605') format('woff2'),
|
|
340
|
+
url('iconfont.woff?t=1715003562605') format('woff'),
|
|
341
|
+
url('iconfont.ttf?t=1715003562605') format('truetype');
|
|
336
342
|
}
|
|
337
343
|
</code></pre>
|
|
338
344
|
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
|
|
@@ -358,6 +364,15 @@
|
|
|
358
364
|
<div class="content font-class">
|
|
359
365
|
<ul class="icon_lists dib-box">
|
|
360
366
|
|
|
367
|
+
<li class="dib">
|
|
368
|
+
<span class="icon hqchart_drawtool icon-a-xiangpicachuxiangpica"></span>
|
|
369
|
+
<div class="name">
|
|
370
|
+
擦除
|
|
371
|
+
</div>
|
|
372
|
+
<div class="code-name">.icon-a-xiangpicachuxiangpica
|
|
373
|
+
</div>
|
|
374
|
+
</li>
|
|
375
|
+
|
|
361
376
|
<li class="dib">
|
|
362
377
|
<span class="icon hqchart_drawtool icon-jiagefanwei"></span>
|
|
363
378
|
<div class="name">
|
|
@@ -772,6 +787,14 @@
|
|
|
772
787
|
<div class="content symbol">
|
|
773
788
|
<ul class="icon_lists dib-box">
|
|
774
789
|
|
|
790
|
+
<li class="dib">
|
|
791
|
+
<svg class="icon svg-icon" aria-hidden="true">
|
|
792
|
+
<use xlink:href="#icon-a-xiangpicachuxiangpica"></use>
|
|
793
|
+
</svg>
|
|
794
|
+
<div class="name">擦除</div>
|
|
795
|
+
<div class="code-name">#icon-a-xiangpicachuxiangpica</div>
|
|
796
|
+
</li>
|
|
797
|
+
|
|
775
798
|
<li class="dib">
|
|
776
799
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
777
800
|
<use xlink:href="#icon-jiagefanwei"></use>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: "hqchart_drawtool"; /* Project id 4529603 */
|
|
3
|
-
src: url('iconfont.woff2?t=
|
|
4
|
-
url('iconfont.woff?t=
|
|
5
|
-
url('iconfont.ttf?t=
|
|
3
|
+
src: url('iconfont.woff2?t=1715003562605') format('woff2'),
|
|
4
|
+
url('iconfont.woff?t=1715003562605') format('woff'),
|
|
5
|
+
url('iconfont.ttf?t=1715003562605') format('truetype');
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.hqchart_drawtool {
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
-moz-osx-font-smoothing: grayscale;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
.icon-a-xiangpicachuxiangpica:before {
|
|
17
|
+
content: "\e60b";
|
|
18
|
+
}
|
|
19
|
+
|
|
16
20
|
.icon-jiagefanwei:before {
|
|
17
21
|
content: "\e618";
|
|
18
22
|
}
|