hqchart 1.1.13381 → 1.1.13389
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/src/jscommon/umychart.js
CHANGED
|
@@ -2696,6 +2696,8 @@ var JSCHART_MENU_ID=
|
|
|
2696
2696
|
|
|
2697
2697
|
CMD_CHANGE_BASELINE_ID:35, //分时图切换基准线
|
|
2698
2698
|
CMD_ADD_OVERLAY_INDEX_ID:36, //添加叠加指标
|
|
2699
|
+
|
|
2700
|
+
CMD_CHANGE_LANGUAGE_ID:37, //语言切换
|
|
2699
2701
|
}
|
|
2700
2702
|
|
|
2701
2703
|
|
|
@@ -3369,6 +3371,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3369
3371
|
|
|
3370
3372
|
if (this.TryClickButton(x,y,e))
|
|
3371
3373
|
{
|
|
3374
|
+
this.IsOnTouch=false;
|
|
3372
3375
|
return;
|
|
3373
3376
|
}
|
|
3374
3377
|
|
|
@@ -3401,11 +3404,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3401
3404
|
|
|
3402
3405
|
if (this.TryClickCrossCursor(x,y, e))
|
|
3403
3406
|
{
|
|
3407
|
+
this.IsOnTouch=false;
|
|
3404
3408
|
return;
|
|
3405
3409
|
}
|
|
3406
3410
|
|
|
3407
3411
|
if (this.TryClickChartTooltipData && this.TryClickChartTooltipData(x,y,e)) //预留给外部点击图标什么用的
|
|
3408
3412
|
{
|
|
3413
|
+
this.IsOnTouch=false;
|
|
3409
3414
|
return;
|
|
3410
3415
|
}
|
|
3411
3416
|
|
|
@@ -7792,6 +7797,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7792
7797
|
|
|
7793
7798
|
if (this.Frame && this.Frame.SetLanguage) this.Frame.SetLanguage(this.LanguageID);
|
|
7794
7799
|
|
|
7800
|
+
//this.Frame.ClearYCoordinateMaxMin();
|
|
7801
|
+
this.ResetFrameXYSplit();
|
|
7795
7802
|
this.Frame.SetSizeChage(true);
|
|
7796
7803
|
this.Draw();
|
|
7797
7804
|
}
|
|
@@ -9481,6 +9488,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9481
9488
|
obj.WindowIndex=param;
|
|
9482
9489
|
this.AddOverlayIndex(obj);
|
|
9483
9490
|
break;
|
|
9491
|
+
|
|
9492
|
+
case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:
|
|
9493
|
+
if (srcParam) this.SetLanguage(srcParam);
|
|
9494
|
+
break;
|
|
9484
9495
|
}
|
|
9485
9496
|
}
|
|
9486
9497
|
|
|
@@ -23473,6 +23484,7 @@ function ChartKLine()
|
|
|
23473
23484
|
// 15=HLC Area
|
|
23474
23485
|
// 16=kagi
|
|
23475
23486
|
// 17=订单流样式4
|
|
23487
|
+
// 18=订单流样式5
|
|
23476
23488
|
|
|
23477
23489
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
23478
23490
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -25135,200 +25147,7 @@ function ChartKLine()
|
|
|
25135
25147
|
}
|
|
25136
25148
|
}
|
|
25137
25149
|
|
|
25138
|
-
|
|
25139
|
-
this.DrawKBarV2=function(data, colorData, dataWidth, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen)
|
|
25140
|
-
{
|
|
25141
|
-
var isDrawBorder=false;
|
|
25142
|
-
var isEmptyBar=false;
|
|
25143
|
-
if (colorData.border) isDrawBorder=true;
|
|
25144
|
-
if (colorData.Type===0) isEmptyBar=true;
|
|
25145
|
-
|
|
25146
|
-
if (dataWidth>=4)
|
|
25147
|
-
{
|
|
25148
|
-
if (isDrawBorder)
|
|
25149
|
-
{
|
|
25150
|
-
if ((dataWidth%2)!=0) dataWidth-=1;
|
|
25151
|
-
}
|
|
25152
|
-
|
|
25153
|
-
if (data.High>data.Close) //上影线
|
|
25154
|
-
{
|
|
25155
|
-
if (colorData.Line)
|
|
25156
|
-
{
|
|
25157
|
-
this.Canvas.strokeStyle=colorData.Line.Color;
|
|
25158
|
-
this.Canvas.beginPath();
|
|
25159
|
-
if (isHScreen)
|
|
25160
|
-
{
|
|
25161
|
-
this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));
|
|
25162
|
-
this.Canvas.lineTo(ToFixedPoint(Math.max(yClose,yOpen)),ToFixedPoint(x));
|
|
25163
|
-
}
|
|
25164
|
-
else
|
|
25165
|
-
{
|
|
25166
|
-
if (isDrawBorder)
|
|
25167
|
-
{
|
|
25168
|
-
var xFixed=left+dataWidth/2;
|
|
25169
|
-
this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(y));
|
|
25170
|
-
this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(Math.min(yClose,yOpen)));
|
|
25171
|
-
}
|
|
25172
|
-
else
|
|
25173
|
-
{
|
|
25174
|
-
this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));
|
|
25175
|
-
this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(Math.min(yClose,yOpen)));
|
|
25176
|
-
}
|
|
25177
|
-
}
|
|
25178
|
-
this.Canvas.stroke();
|
|
25179
|
-
}
|
|
25180
|
-
|
|
25181
|
-
y=yClose;
|
|
25182
|
-
}
|
|
25183
|
-
else
|
|
25184
|
-
{
|
|
25185
|
-
y=yClose;
|
|
25186
|
-
}
|
|
25187
|
-
|
|
25188
|
-
if (isHScreen)
|
|
25189
|
-
{
|
|
25190
|
-
//实心
|
|
25191
|
-
if (!isEmptyBar && colorData.BarColor)
|
|
25192
|
-
{
|
|
25193
|
-
this.Canvas.fillStyle=colorData.BarColor;
|
|
25194
|
-
if (Math.abs(yOpen-y)<1)
|
|
25195
|
-
{
|
|
25196
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth)); //高度小于1,统一使用高度1
|
|
25197
|
-
}
|
|
25198
|
-
else
|
|
25199
|
-
{
|
|
25200
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),ToFixedRect(yOpen-y),ToFixedRect(dataWidth));
|
|
25201
|
-
}
|
|
25202
|
-
}
|
|
25203
|
-
|
|
25204
|
-
if (colorData.Border) //空心
|
|
25205
|
-
{
|
|
25206
|
-
if (Math.abs(yOpen-y)<1)
|
|
25207
|
-
{
|
|
25208
|
-
this.Canvas.fillStyle=colorData.Border.Color;
|
|
25209
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth)); //高度小于1,统一使用高度1
|
|
25210
|
-
}
|
|
25211
|
-
else
|
|
25212
|
-
{
|
|
25213
|
-
this.Canvas.strokeStyle=colorData.Border.Color;
|
|
25214
|
-
this.Canvas.beginPath();
|
|
25215
|
-
this.Canvas.rect(ToFixedPoint(y),ToFixedPoint(left),ToFixedRect(yOpen-y),ToFixedRect(dataWidth));
|
|
25216
|
-
this.Canvas.stroke();
|
|
25217
|
-
}
|
|
25218
|
-
}
|
|
25219
|
-
}
|
|
25220
|
-
else
|
|
25221
|
-
{
|
|
25222
|
-
|
|
25223
|
-
//实心
|
|
25224
|
-
if (!isEmptyBar && colorData.BarColor)
|
|
25225
|
-
{
|
|
25226
|
-
this.Canvas.fillStyle=colorData.BarColor;
|
|
25227
|
-
if (Math.abs(yOpen-y)<1)
|
|
25228
|
-
{
|
|
25229
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(y),ToFixedRect(dataWidth),1); //高度小于1,统一使用高度1
|
|
25230
|
-
}
|
|
25231
|
-
else
|
|
25232
|
-
{
|
|
25233
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,yOpen)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(yOpen-y)));
|
|
25234
|
-
}
|
|
25235
|
-
}
|
|
25236
|
-
|
|
25237
|
-
if (colorData.Border) //空心
|
|
25238
|
-
{
|
|
25239
|
-
if (Math.abs(yOpen-y)<1)
|
|
25240
|
-
{
|
|
25241
|
-
this.Canvas.fillStyle=colorData.Border.Color;
|
|
25242
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(y),ToFixedRect(dataWidth),1); //高度小于1,统一使用高度1
|
|
25243
|
-
}
|
|
25244
|
-
else
|
|
25245
|
-
{
|
|
25246
|
-
this.Canvas.strokeStyle=colorData.Border.Color;
|
|
25247
|
-
this.Canvas.beginPath();
|
|
25248
|
-
this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),ToFixedRect(yOpen-y));
|
|
25249
|
-
this.Canvas.stroke();
|
|
25250
|
-
}
|
|
25251
|
-
}
|
|
25252
|
-
}
|
|
25253
|
-
|
|
25254
|
-
if (data.Open>data.Low) //下影线
|
|
25255
|
-
{
|
|
25256
|
-
if (colorData.Line)
|
|
25257
|
-
{
|
|
25258
|
-
this.Canvas.strokeStyle=colorData.Line.Color;
|
|
25259
|
-
this.Canvas.beginPath();
|
|
25260
|
-
if (isHScreen)
|
|
25261
|
-
{
|
|
25262
|
-
this.Canvas.moveTo(ToFixedPoint(Math.min(yClose,yOpen)),ToFixedPoint(x));
|
|
25263
|
-
this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));
|
|
25264
|
-
}
|
|
25265
|
-
else
|
|
25266
|
-
{
|
|
25267
|
-
if (isDrawBorder)
|
|
25268
|
-
{
|
|
25269
|
-
var xFixed=left+dataWidth/2;
|
|
25270
|
-
this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(Math.max(yClose,yOpen)));
|
|
25271
|
-
this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(yLow));
|
|
25272
|
-
}
|
|
25273
|
-
else
|
|
25274
|
-
{
|
|
25275
|
-
this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(Math.max(yClose,yOpen)));
|
|
25276
|
-
this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));
|
|
25277
|
-
}
|
|
25278
|
-
}
|
|
25279
|
-
this.Canvas.stroke();
|
|
25280
|
-
}
|
|
25281
|
-
}
|
|
25282
|
-
}
|
|
25283
|
-
else
|
|
25284
|
-
{
|
|
25285
|
-
var lineColor;
|
|
25286
|
-
if (isEmptyBar && colorData.Border)
|
|
25287
|
-
{
|
|
25288
|
-
lineColor=colorData.Border.Color;
|
|
25289
|
-
}
|
|
25290
|
-
else if (!isEmptyBar && colorData.BarColor)
|
|
25291
|
-
{
|
|
25292
|
-
lineColor=colorData.BarColor;
|
|
25293
|
-
}
|
|
25294
|
-
|
|
25295
|
-
if (lineColor)
|
|
25296
|
-
{
|
|
25297
|
-
this.Canvas.strokeStyle=lineColor;
|
|
25298
|
-
this.Canvas.beginPath();
|
|
25299
|
-
if (isHScreen)
|
|
25300
|
-
{
|
|
25301
|
-
if (data.High==data.Low)
|
|
25302
|
-
{
|
|
25303
|
-
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
25304
|
-
this.Canvas.lineTo(yLow-1,ToFixedPoint(x));
|
|
25305
|
-
}
|
|
25306
|
-
else
|
|
25307
|
-
{
|
|
25308
|
-
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
25309
|
-
this.Canvas.lineTo(yLow,ToFixedPoint(x));
|
|
25310
|
-
}
|
|
25311
|
-
}
|
|
25312
|
-
else
|
|
25313
|
-
{
|
|
25314
|
-
if (data.High==data.Low)
|
|
25315
|
-
{
|
|
25316
|
-
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
25317
|
-
this.Canvas.lineTo(ToFixedPoint(x),yLow+1);
|
|
25318
|
-
}
|
|
25319
|
-
else
|
|
25320
|
-
{
|
|
25321
|
-
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
25322
|
-
this.Canvas.lineTo(ToFixedPoint(x),yLow);
|
|
25323
|
-
}
|
|
25324
|
-
|
|
25325
|
-
}
|
|
25326
|
-
this.Canvas.stroke();
|
|
25327
|
-
}
|
|
25328
|
-
}
|
|
25329
|
-
}
|
|
25330
|
-
*/
|
|
25331
|
-
|
|
25150
|
+
|
|
25332
25151
|
this.DrawVirtualBar=function(data, dataWidth, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen)
|
|
25333
25152
|
{
|
|
25334
25153
|
var yTop=Math.min(yHigh,yLow), yBottom=Math.max(yHigh,yLow);
|
|
@@ -26284,6 +26103,10 @@ function ChartKLine()
|
|
|
26284
26103
|
{
|
|
26285
26104
|
this.DrawOrderFlow_Style4();
|
|
26286
26105
|
}
|
|
26106
|
+
else if (this.DrawType==18)
|
|
26107
|
+
{
|
|
26108
|
+
this.DrawOrderFlow_Style5();
|
|
26109
|
+
}
|
|
26287
26110
|
else
|
|
26288
26111
|
{
|
|
26289
26112
|
this.DrawKBar();
|
|
@@ -27963,6 +27786,13 @@ function ChartKLine()
|
|
|
27963
27786
|
}
|
|
27964
27787
|
}
|
|
27965
27788
|
|
|
27789
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
27790
|
+
//订单流样式5
|
|
27791
|
+
this.DrawOrderFlow_Style5=function()
|
|
27792
|
+
{
|
|
27793
|
+
|
|
27794
|
+
}
|
|
27795
|
+
|
|
27966
27796
|
//////////////////////////////////////////////////////////////
|
|
27967
27797
|
// high low bar
|
|
27968
27798
|
//
|
|
@@ -69702,7 +69532,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
69702
69532
|
|
|
69703
69533
|
var frame=g_ChartFrameFactory.Create("KLineFrame", { ID:i });
|
|
69704
69534
|
frame.Canvas=this.Canvas;
|
|
69705
|
-
frame.GetExtraCanvas=(name)=>{ this.GetExtraCanvas(name); };
|
|
69535
|
+
frame.GetExtraCanvas=(name)=>{ return this.GetExtraCanvas(name); };
|
|
69706
69536
|
frame.ChartBorder=border;
|
|
69707
69537
|
frame.Identify=i; //窗口序号
|
|
69708
69538
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
@@ -69788,7 +69618,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
69788
69618
|
var frame=g_ChartFrameFactory.Create(frameClassName, { ID:id });
|
|
69789
69619
|
|
|
69790
69620
|
frame.Canvas=this.Canvas;
|
|
69791
|
-
frame.GetExtraCanvas=(name)=>{ this.GetExtraCanvas(name); };
|
|
69621
|
+
frame.GetExtraCanvas=(name)=>{ return this.GetExtraCanvas(name); };
|
|
69792
69622
|
frame.ChartBorder=border;
|
|
69793
69623
|
frame.Identify=id; //窗口序号
|
|
69794
69624
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
@@ -74376,7 +74206,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
74376
74206
|
{ Name:"默认", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID, Args:["default"]}, Checked:this.DefaultCursor=="default" },
|
|
74377
74207
|
{ Name:"十字线", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID, Args:["crosshair"]}, Checked:this.DefaultCursor=="crosshair" },
|
|
74378
74208
|
]
|
|
74379
|
-
}
|
|
74209
|
+
},
|
|
74210
|
+
{
|
|
74211
|
+
Name:"语言设置",
|
|
74212
|
+
SubMenu:
|
|
74213
|
+
[
|
|
74214
|
+
{ Name:"中文", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["CN"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID },
|
|
74215
|
+
{ Name:"英语", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["EN"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID },
|
|
74216
|
+
{ Name:"繁体", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["TC"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID },
|
|
74217
|
+
]
|
|
74218
|
+
},
|
|
74380
74219
|
]
|
|
74381
74220
|
}
|
|
74382
74221
|
];
|
|
@@ -83726,7 +83565,7 @@ function KLineChartHScreenContainer(uielement)
|
|
|
83726
83565
|
|
|
83727
83566
|
var frame=g_ChartFrameFactory.Create("KLineHScreenFrame", { ID:i });
|
|
83728
83567
|
frame.Canvas=this.Canvas;
|
|
83729
|
-
frame.GetExtraCanvas=(name)=>{ this.GetExtraCanvas(name); };
|
|
83568
|
+
frame.GetExtraCanvas=(name)=>{ return this.GetExtraCanvas(name); };
|
|
83730
83569
|
frame.ChartBorder=border;
|
|
83731
83570
|
frame.Identify=i; //窗口序号
|
|
83732
83571
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
@@ -6588,6 +6588,8 @@ var JSCHART_MENU_ID=
|
|
|
6588
6588
|
|
|
6589
6589
|
CMD_CHANGE_BASELINE_ID:35, //分时图切换基准线
|
|
6590
6590
|
CMD_ADD_OVERLAY_INDEX_ID:36, //添加叠加指标
|
|
6591
|
+
|
|
6592
|
+
CMD_CHANGE_LANGUAGE_ID:37, //语言切换
|
|
6591
6593
|
}
|
|
6592
6594
|
|
|
6593
6595
|
|
|
@@ -7261,6 +7263,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7261
7263
|
|
|
7262
7264
|
if (this.TryClickButton(x,y,e))
|
|
7263
7265
|
{
|
|
7266
|
+
this.IsOnTouch=false;
|
|
7264
7267
|
return;
|
|
7265
7268
|
}
|
|
7266
7269
|
|
|
@@ -7293,11 +7296,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7293
7296
|
|
|
7294
7297
|
if (this.TryClickCrossCursor(x,y, e))
|
|
7295
7298
|
{
|
|
7299
|
+
this.IsOnTouch=false;
|
|
7296
7300
|
return;
|
|
7297
7301
|
}
|
|
7298
7302
|
|
|
7299
7303
|
if (this.TryClickChartTooltipData && this.TryClickChartTooltipData(x,y,e)) //预留给外部点击图标什么用的
|
|
7300
7304
|
{
|
|
7305
|
+
this.IsOnTouch=false;
|
|
7301
7306
|
return;
|
|
7302
7307
|
}
|
|
7303
7308
|
|
|
@@ -11684,6 +11689,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11684
11689
|
|
|
11685
11690
|
if (this.Frame && this.Frame.SetLanguage) this.Frame.SetLanguage(this.LanguageID);
|
|
11686
11691
|
|
|
11692
|
+
//this.Frame.ClearYCoordinateMaxMin();
|
|
11693
|
+
this.ResetFrameXYSplit();
|
|
11687
11694
|
this.Frame.SetSizeChage(true);
|
|
11688
11695
|
this.Draw();
|
|
11689
11696
|
}
|
|
@@ -13373,6 +13380,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13373
13380
|
obj.WindowIndex=param;
|
|
13374
13381
|
this.AddOverlayIndex(obj);
|
|
13375
13382
|
break;
|
|
13383
|
+
|
|
13384
|
+
case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:
|
|
13385
|
+
if (srcParam) this.SetLanguage(srcParam);
|
|
13386
|
+
break;
|
|
13376
13387
|
}
|
|
13377
13388
|
}
|
|
13378
13389
|
|
|
@@ -27365,6 +27376,7 @@ function ChartKLine()
|
|
|
27365
27376
|
// 15=HLC Area
|
|
27366
27377
|
// 16=kagi
|
|
27367
27378
|
// 17=订单流样式4
|
|
27379
|
+
// 18=订单流样式5
|
|
27368
27380
|
|
|
27369
27381
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
27370
27382
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -29027,200 +29039,7 @@ function ChartKLine()
|
|
|
29027
29039
|
}
|
|
29028
29040
|
}
|
|
29029
29041
|
|
|
29030
|
-
|
|
29031
|
-
this.DrawKBarV2=function(data, colorData, dataWidth, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen)
|
|
29032
|
-
{
|
|
29033
|
-
var isDrawBorder=false;
|
|
29034
|
-
var isEmptyBar=false;
|
|
29035
|
-
if (colorData.border) isDrawBorder=true;
|
|
29036
|
-
if (colorData.Type===0) isEmptyBar=true;
|
|
29037
|
-
|
|
29038
|
-
if (dataWidth>=4)
|
|
29039
|
-
{
|
|
29040
|
-
if (isDrawBorder)
|
|
29041
|
-
{
|
|
29042
|
-
if ((dataWidth%2)!=0) dataWidth-=1;
|
|
29043
|
-
}
|
|
29044
|
-
|
|
29045
|
-
if (data.High>data.Close) //上影线
|
|
29046
|
-
{
|
|
29047
|
-
if (colorData.Line)
|
|
29048
|
-
{
|
|
29049
|
-
this.Canvas.strokeStyle=colorData.Line.Color;
|
|
29050
|
-
this.Canvas.beginPath();
|
|
29051
|
-
if (isHScreen)
|
|
29052
|
-
{
|
|
29053
|
-
this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));
|
|
29054
|
-
this.Canvas.lineTo(ToFixedPoint(Math.max(yClose,yOpen)),ToFixedPoint(x));
|
|
29055
|
-
}
|
|
29056
|
-
else
|
|
29057
|
-
{
|
|
29058
|
-
if (isDrawBorder)
|
|
29059
|
-
{
|
|
29060
|
-
var xFixed=left+dataWidth/2;
|
|
29061
|
-
this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(y));
|
|
29062
|
-
this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(Math.min(yClose,yOpen)));
|
|
29063
|
-
}
|
|
29064
|
-
else
|
|
29065
|
-
{
|
|
29066
|
-
this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));
|
|
29067
|
-
this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(Math.min(yClose,yOpen)));
|
|
29068
|
-
}
|
|
29069
|
-
}
|
|
29070
|
-
this.Canvas.stroke();
|
|
29071
|
-
}
|
|
29072
|
-
|
|
29073
|
-
y=yClose;
|
|
29074
|
-
}
|
|
29075
|
-
else
|
|
29076
|
-
{
|
|
29077
|
-
y=yClose;
|
|
29078
|
-
}
|
|
29079
|
-
|
|
29080
|
-
if (isHScreen)
|
|
29081
|
-
{
|
|
29082
|
-
//实心
|
|
29083
|
-
if (!isEmptyBar && colorData.BarColor)
|
|
29084
|
-
{
|
|
29085
|
-
this.Canvas.fillStyle=colorData.BarColor;
|
|
29086
|
-
if (Math.abs(yOpen-y)<1)
|
|
29087
|
-
{
|
|
29088
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth)); //高度小于1,统一使用高度1
|
|
29089
|
-
}
|
|
29090
|
-
else
|
|
29091
|
-
{
|
|
29092
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),ToFixedRect(yOpen-y),ToFixedRect(dataWidth));
|
|
29093
|
-
}
|
|
29094
|
-
}
|
|
29095
|
-
|
|
29096
|
-
if (colorData.Border) //空心
|
|
29097
|
-
{
|
|
29098
|
-
if (Math.abs(yOpen-y)<1)
|
|
29099
|
-
{
|
|
29100
|
-
this.Canvas.fillStyle=colorData.Border.Color;
|
|
29101
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth)); //高度小于1,统一使用高度1
|
|
29102
|
-
}
|
|
29103
|
-
else
|
|
29104
|
-
{
|
|
29105
|
-
this.Canvas.strokeStyle=colorData.Border.Color;
|
|
29106
|
-
this.Canvas.beginPath();
|
|
29107
|
-
this.Canvas.rect(ToFixedPoint(y),ToFixedPoint(left),ToFixedRect(yOpen-y),ToFixedRect(dataWidth));
|
|
29108
|
-
this.Canvas.stroke();
|
|
29109
|
-
}
|
|
29110
|
-
}
|
|
29111
|
-
}
|
|
29112
|
-
else
|
|
29113
|
-
{
|
|
29114
|
-
|
|
29115
|
-
//实心
|
|
29116
|
-
if (!isEmptyBar && colorData.BarColor)
|
|
29117
|
-
{
|
|
29118
|
-
this.Canvas.fillStyle=colorData.BarColor;
|
|
29119
|
-
if (Math.abs(yOpen-y)<1)
|
|
29120
|
-
{
|
|
29121
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(y),ToFixedRect(dataWidth),1); //高度小于1,统一使用高度1
|
|
29122
|
-
}
|
|
29123
|
-
else
|
|
29124
|
-
{
|
|
29125
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,yOpen)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(yOpen-y)));
|
|
29126
|
-
}
|
|
29127
|
-
}
|
|
29128
|
-
|
|
29129
|
-
if (colorData.Border) //空心
|
|
29130
|
-
{
|
|
29131
|
-
if (Math.abs(yOpen-y)<1)
|
|
29132
|
-
{
|
|
29133
|
-
this.Canvas.fillStyle=colorData.Border.Color;
|
|
29134
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(y),ToFixedRect(dataWidth),1); //高度小于1,统一使用高度1
|
|
29135
|
-
}
|
|
29136
|
-
else
|
|
29137
|
-
{
|
|
29138
|
-
this.Canvas.strokeStyle=colorData.Border.Color;
|
|
29139
|
-
this.Canvas.beginPath();
|
|
29140
|
-
this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),ToFixedRect(yOpen-y));
|
|
29141
|
-
this.Canvas.stroke();
|
|
29142
|
-
}
|
|
29143
|
-
}
|
|
29144
|
-
}
|
|
29145
|
-
|
|
29146
|
-
if (data.Open>data.Low) //下影线
|
|
29147
|
-
{
|
|
29148
|
-
if (colorData.Line)
|
|
29149
|
-
{
|
|
29150
|
-
this.Canvas.strokeStyle=colorData.Line.Color;
|
|
29151
|
-
this.Canvas.beginPath();
|
|
29152
|
-
if (isHScreen)
|
|
29153
|
-
{
|
|
29154
|
-
this.Canvas.moveTo(ToFixedPoint(Math.min(yClose,yOpen)),ToFixedPoint(x));
|
|
29155
|
-
this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));
|
|
29156
|
-
}
|
|
29157
|
-
else
|
|
29158
|
-
{
|
|
29159
|
-
if (isDrawBorder)
|
|
29160
|
-
{
|
|
29161
|
-
var xFixed=left+dataWidth/2;
|
|
29162
|
-
this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(Math.max(yClose,yOpen)));
|
|
29163
|
-
this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(yLow));
|
|
29164
|
-
}
|
|
29165
|
-
else
|
|
29166
|
-
{
|
|
29167
|
-
this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(Math.max(yClose,yOpen)));
|
|
29168
|
-
this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));
|
|
29169
|
-
}
|
|
29170
|
-
}
|
|
29171
|
-
this.Canvas.stroke();
|
|
29172
|
-
}
|
|
29173
|
-
}
|
|
29174
|
-
}
|
|
29175
|
-
else
|
|
29176
|
-
{
|
|
29177
|
-
var lineColor;
|
|
29178
|
-
if (isEmptyBar && colorData.Border)
|
|
29179
|
-
{
|
|
29180
|
-
lineColor=colorData.Border.Color;
|
|
29181
|
-
}
|
|
29182
|
-
else if (!isEmptyBar && colorData.BarColor)
|
|
29183
|
-
{
|
|
29184
|
-
lineColor=colorData.BarColor;
|
|
29185
|
-
}
|
|
29186
|
-
|
|
29187
|
-
if (lineColor)
|
|
29188
|
-
{
|
|
29189
|
-
this.Canvas.strokeStyle=lineColor;
|
|
29190
|
-
this.Canvas.beginPath();
|
|
29191
|
-
if (isHScreen)
|
|
29192
|
-
{
|
|
29193
|
-
if (data.High==data.Low)
|
|
29194
|
-
{
|
|
29195
|
-
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
29196
|
-
this.Canvas.lineTo(yLow-1,ToFixedPoint(x));
|
|
29197
|
-
}
|
|
29198
|
-
else
|
|
29199
|
-
{
|
|
29200
|
-
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
29201
|
-
this.Canvas.lineTo(yLow,ToFixedPoint(x));
|
|
29202
|
-
}
|
|
29203
|
-
}
|
|
29204
|
-
else
|
|
29205
|
-
{
|
|
29206
|
-
if (data.High==data.Low)
|
|
29207
|
-
{
|
|
29208
|
-
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
29209
|
-
this.Canvas.lineTo(ToFixedPoint(x),yLow+1);
|
|
29210
|
-
}
|
|
29211
|
-
else
|
|
29212
|
-
{
|
|
29213
|
-
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
29214
|
-
this.Canvas.lineTo(ToFixedPoint(x),yLow);
|
|
29215
|
-
}
|
|
29216
|
-
|
|
29217
|
-
}
|
|
29218
|
-
this.Canvas.stroke();
|
|
29219
|
-
}
|
|
29220
|
-
}
|
|
29221
|
-
}
|
|
29222
|
-
*/
|
|
29223
|
-
|
|
29042
|
+
|
|
29224
29043
|
this.DrawVirtualBar=function(data, dataWidth, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen)
|
|
29225
29044
|
{
|
|
29226
29045
|
var yTop=Math.min(yHigh,yLow), yBottom=Math.max(yHigh,yLow);
|
|
@@ -30176,6 +29995,10 @@ function ChartKLine()
|
|
|
30176
29995
|
{
|
|
30177
29996
|
this.DrawOrderFlow_Style4();
|
|
30178
29997
|
}
|
|
29998
|
+
else if (this.DrawType==18)
|
|
29999
|
+
{
|
|
30000
|
+
this.DrawOrderFlow_Style5();
|
|
30001
|
+
}
|
|
30179
30002
|
else
|
|
30180
30003
|
{
|
|
30181
30004
|
this.DrawKBar();
|
|
@@ -31855,6 +31678,13 @@ function ChartKLine()
|
|
|
31855
31678
|
}
|
|
31856
31679
|
}
|
|
31857
31680
|
|
|
31681
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
31682
|
+
//订单流样式5
|
|
31683
|
+
this.DrawOrderFlow_Style5=function()
|
|
31684
|
+
{
|
|
31685
|
+
|
|
31686
|
+
}
|
|
31687
|
+
|
|
31858
31688
|
//////////////////////////////////////////////////////////////
|
|
31859
31689
|
// high low bar
|
|
31860
31690
|
//
|
|
@@ -73594,7 +73424,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73594
73424
|
|
|
73595
73425
|
var frame=g_ChartFrameFactory.Create("KLineFrame", { ID:i });
|
|
73596
73426
|
frame.Canvas=this.Canvas;
|
|
73597
|
-
frame.GetExtraCanvas=(name)=>{ this.GetExtraCanvas(name); };
|
|
73427
|
+
frame.GetExtraCanvas=(name)=>{ return this.GetExtraCanvas(name); };
|
|
73598
73428
|
frame.ChartBorder=border;
|
|
73599
73429
|
frame.Identify=i; //窗口序号
|
|
73600
73430
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
@@ -73680,7 +73510,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73680
73510
|
var frame=g_ChartFrameFactory.Create(frameClassName, { ID:id });
|
|
73681
73511
|
|
|
73682
73512
|
frame.Canvas=this.Canvas;
|
|
73683
|
-
frame.GetExtraCanvas=(name)=>{ this.GetExtraCanvas(name); };
|
|
73513
|
+
frame.GetExtraCanvas=(name)=>{ return this.GetExtraCanvas(name); };
|
|
73684
73514
|
frame.ChartBorder=border;
|
|
73685
73515
|
frame.Identify=id; //窗口序号
|
|
73686
73516
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
@@ -78268,7 +78098,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
78268
78098
|
{ Name:"默认", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID, Args:["default"]}, Checked:this.DefaultCursor=="default" },
|
|
78269
78099
|
{ Name:"十字线", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID, Args:["crosshair"]}, Checked:this.DefaultCursor=="crosshair" },
|
|
78270
78100
|
]
|
|
78271
|
-
}
|
|
78101
|
+
},
|
|
78102
|
+
{
|
|
78103
|
+
Name:"语言设置",
|
|
78104
|
+
SubMenu:
|
|
78105
|
+
[
|
|
78106
|
+
{ Name:"中文", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["CN"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID },
|
|
78107
|
+
{ Name:"英语", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["EN"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID },
|
|
78108
|
+
{ Name:"繁体", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["TC"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID },
|
|
78109
|
+
]
|
|
78110
|
+
},
|
|
78272
78111
|
]
|
|
78273
78112
|
}
|
|
78274
78113
|
];
|
|
@@ -87618,7 +87457,7 @@ function KLineChartHScreenContainer(uielement)
|
|
|
87618
87457
|
|
|
87619
87458
|
var frame=g_ChartFrameFactory.Create("KLineHScreenFrame", { ID:i });
|
|
87620
87459
|
frame.Canvas=this.Canvas;
|
|
87621
|
-
frame.GetExtraCanvas=(name)=>{ this.GetExtraCanvas(name); };
|
|
87460
|
+
frame.GetExtraCanvas=(name)=>{ return this.GetExtraCanvas(name); };
|
|
87622
87461
|
frame.ChartBorder=border;
|
|
87623
87462
|
frame.Identify=i; //窗口序号
|
|
87624
87463
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
@@ -133611,7 +133450,7 @@ function ScrollBarBGChart()
|
|
|
133611
133450
|
|
|
133612
133451
|
|
|
133613
133452
|
|
|
133614
|
-
var HQCHART_VERSION="1.1.
|
|
133453
|
+
var HQCHART_VERSION="1.1.13388";
|
|
133615
133454
|
|
|
133616
133455
|
function PrintHQChartVersion()
|
|
133617
133456
|
{
|