hqchart 1.1.14446 → 1.1.14450
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
CHANGED
|
@@ -4370,18 +4370,21 @@ this.Price;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)retur
|
|
|
4370
4370
|
function ChartMultiBar(){this.newMethod=IChartPainting;//派生
|
|
4371
4371
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiBar";this.Bars=[];// [ {Point:[ {Date, Time, Value, Value2 }, ], Color:, Width: , Type: 0 实心 1 空心 }, ]
|
|
4372
4372
|
this.IsHScreen=false;this.MapCache=null;//key=date/date-time value={ Data:[] }
|
|
4373
|
-
this.GetKValue=ChartData.GetKValue;this.GetItem=function(kItem){if(!this.MapCache||this.MapCache.size<=0)return null;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))return null;return this.MapCache.get(key);};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.Bars))return;for(var i=0;i<this.Bars.length;++i){var groupItem=this.Bars[i];if(!groupItem||!IFrameSplitOperator.IsNonEmptyArray(groupItem.Point))continue;var clrConfig={Color:groupItem.Color,Width:null,Name:groupItem.Name,Type:0};if(IFrameSplitOperator.IsNumber(groupItem.Width))clrConfig.Width=groupItem.Width;if(IFrameSplitOperator.IsNumber(groupItem.Type))clrConfig.Type=groupItem.Type;for(var j=0;j<groupItem.Point.length;++j){var point=groupItem.Point[j];var key=this.BuildKey(point);var item={Data:point,ColorConfig:clrConfig};if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
4373
|
+
this.GetKValue=ChartData.GetKValue;this.GetItem=function(kItem){if(!this.MapCache||this.MapCache.size<=0)return null;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))return null;return this.MapCache.get(key);};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.Bars))return;for(var i=0;i<this.Bars.length;++i){var groupItem=this.Bars[i];if(!groupItem||!IFrameSplitOperator.IsNonEmptyArray(groupItem.Point))continue;var clrConfig={Color:groupItem.Color,BGColor:null,Width:null,Name:groupItem.Name,Type:0};if(IFrameSplitOperator.IsNumber(groupItem.Width))clrConfig.Width=groupItem.Width;if(IFrameSplitOperator.IsNumber(groupItem.Type))clrConfig.Type=groupItem.Type;if(groupItem.BorderColor)clrConfig.BorderColor=groupItem.BorderColor;for(var j=0;j<groupItem.Point.length;++j){var point=groupItem.Point[j];var key=this.BuildKey(point);var item={Data:point,ColorConfig:clrConfig};if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
4374
4374
|
if(!IFrameSplitOperator.IsNonEmptyArray(this.Bars))return;if(!this.MapCache||this.MapCache.size<=0)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var isMinute=this.IsMinuteFrame();var border=this.GetBorder();if(this.IsHScreen){var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var chartLeft=border.TopEx;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartLeft=border.LeftEx;}//计算所有柱子位置
|
|
4375
|
-
var mapBar=new _map2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.CalculateItem(mapItem,kItem,x,mapBar);}if(mapBar.size<=0)return;this.Canvas.save();this.ClipClient(this.IsHScreen);this.DrawAllBar(mapBar);this.Canvas.restore();};this.CalculateItem=function(groupItem,kItem,x,mapBar){for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=this.GetKValue(kItem,item.Data.Value2);if(!IFrameSplitOperator.IsNumber(value2))continue;var y=this.ChartFrame.GetYFromData(value,false);var y2=this.ChartFrame.GetYFromData(value2,false);var strConfig=(0,_stringify2.default)(item.ColorConfig);if(!mapBar.has(strConfig))mapBar.set(strConfig,{AryBar:[]});var mapItem=mapBar.get(strConfig);mapItem.AryBar.push({X:x,Y:y,Y2:y2,Data:item});}};this.DrawAllBar=function(mapBar){var pixelRatio=GetDevicePixelRatio();var dataWidth=this.ChartFrame.DataWidth;var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=(0,_getIterator3.default)(mapBar),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var mapItem=_step7.value;var aryBar=mapItem[1].AryBar;if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))continue;var config=null;var path=new Path2D();var count=0;var drawType=-1;//1=直线 2=实心 3=空心
|
|
4375
|
+
var mapBar=new _map2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.CalculateItem(mapItem,kItem,x,mapBar);}if(mapBar.size<=0)return;this.Canvas.save();this.ClipClient(this.IsHScreen);this.DrawAllBar(mapBar);this.Canvas.restore();};this.CalculateItem=function(groupItem,kItem,x,mapBar){for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=this.GetKValue(kItem,item.Data.Value2);if(!IFrameSplitOperator.IsNumber(value2))continue;var y=this.ChartFrame.GetYFromData(value,false);var y2=this.ChartFrame.GetYFromData(value2,false);var strConfig=(0,_stringify2.default)(item.ColorConfig);if(!mapBar.has(strConfig))mapBar.set(strConfig,{AryBar:[]});var mapItem=mapBar.get(strConfig);mapItem.AryBar.push({X:x,Y:y,Y2:y2,Data:item});}};this.DrawAllBar=function(mapBar){var pixelRatio=GetDevicePixelRatio();var dataWidth=this.ChartFrame.DataWidth;var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=(0,_getIterator3.default)(mapBar),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var mapItem=_step7.value;var aryBar=mapItem[1].AryBar;if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))continue;var config=null;var path=new Path2D();var pathBG=new Path2D();var count=0;var drawType=-1;//1=直线 2=实心 3=空心 4=边框+背景
|
|
4376
4376
|
var barWidth=dataWidth;//默认K线宽度
|
|
4377
4377
|
this.Canvas.beginPath();for(var i=0;i<aryBar.length;++i){var item=aryBar[i];if(!config){barWidth=dataWidth;//默认K线宽度
|
|
4378
4378
|
config=item.Data.ColorConfig;if(IFrameSplitOperator.IsNumber(config.Width))barWidth=config.Width*pixelRatio;if(barWidth>4){if(config.Type==0)drawType=2;//实心
|
|
4379
4379
|
else if(config.Type==1)drawType=3;//空心
|
|
4380
|
+
else if(config.Type==2)drawType=4;//边框+背景
|
|
4380
4381
|
else continue;}else//太细了, 直线
|
|
4381
4382
|
{drawType=1;}}if(drawType<=0)continue;if(drawType==1){if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(item.Y),ToFixedPoint(item.X));this.Canvas.lineTo(ToFixedPoint(item.Y2),ToFixedPoint(item.X));}else{this.Canvas.moveTo(ToFixedPoint(item.X),ToFixedPoint(item.Y));this.Canvas.lineTo(ToFixedPoint(item.X),ToFixedPoint(item.Y2));}++count;}else if(drawType==2)//实心
|
|
4382
4383
|
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth));else barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight));path.addPath(barPath);++count;}else if(drawType==3)//空心
|
|
4383
|
-
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth));else barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight));path.addPath(barPath);++count;}
|
|
4384
|
-
|
|
4384
|
+
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth));else barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight));path.addPath(barPath);++count;}else if(drawType==4)//背景+边框
|
|
4385
|
+
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth));else barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight));pathBG.addPath(barPath);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth));else barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight));path.addPath(barPath);++count;}}if(count>0&&drawType>0&&config){if(drawType==1){this.Canvas.lineWidth=1*pixelRatio;this.Canvas.strokeStyle=config.Color;this.Canvas.stroke();}else if(drawType==2){this.Canvas.fillStyle=config.Color;//背景填充颜色
|
|
4386
|
+
this.Canvas.fill(path);}else if(drawType==3){this.Canvas.lineWidth=1*pixelRatio;this.Canvas.strokeStyle=config.Color;this.Canvas.stroke(path);}else if(drawType==4){if(config.Color){this.Canvas.fillStyle=config.Color;//背景填充颜色
|
|
4387
|
+
this.Canvas.fill(path);}if(config.BorderColor){this.Canvas.lineWidth=1*pixelRatio;this.Canvas.strokeStyle=config.BorderColor;this.Canvas.stroke(path);}}}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;if(!this.MapCache||this.MapCache.size<=0)return range;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0,k=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=this.GetKValue(kItem,item.Data.Value2);if(!IFrameSplitOperator.IsNumber(value2))continue;var minValue=Math.min(value,value2);var maxValue=Math.max(value,value2);if(range.Max==null)range.Max=maxValue;else if(range.Max<maxValue)range.Max=maxValue;if(range.Min==null)range.Min=minValue;else if(range.Min>minValue)range.Min=minValue;}}return range;};}// 线段集合 支持横屏
|
|
4385
4388
|
function ChartMultiLine(){this.newMethod=IChartPainting;//派生
|
|
4386
4389
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiLine";this.Lines=[];// [ {Point:[ {Index, Value }, ], Color: }, ]
|
|
4387
4390
|
this.LineDash;this.LineWidth=1;this.IsHScreen=false;//箭头配置
|
|
@@ -14336,7 +14339,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14336
14339
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
14337
14340
|
* 版本信息输出
|
|
14338
14341
|
*
|
|
14339
|
-
*/var HQCHART_VERSION="1.1.
|
|
14342
|
+
*/var HQCHART_VERSION="1.1.14449";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
14340
14343
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14341
14344
|
// BaseIndex:BaseIndex,
|
|
14342
14345
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -40818,9 +40818,10 @@ function ChartMultiBar()
|
|
|
40818
40818
|
var groupItem=this.Bars[i];
|
|
40819
40819
|
if (!groupItem || !IFrameSplitOperator.IsNonEmptyArray(groupItem.Point)) continue;
|
|
40820
40820
|
|
|
40821
|
-
var clrConfig= { Color:groupItem.Color, Width:null, Name:groupItem.Name, Type:0 };
|
|
40821
|
+
var clrConfig= { Color:groupItem.Color, BGColor:null, Width:null, Name:groupItem.Name, Type:0 };
|
|
40822
40822
|
if (IFrameSplitOperator.IsNumber(groupItem.Width)) clrConfig.Width=groupItem.Width;
|
|
40823
40823
|
if (IFrameSplitOperator.IsNumber(groupItem.Type)) clrConfig.Type=groupItem.Type;
|
|
40824
|
+
if (groupItem.BorderColor) clrConfig.BorderColor=groupItem.BorderColor;
|
|
40824
40825
|
|
|
40825
40826
|
for(var j=0; j<groupItem.Point.length; ++j)
|
|
40826
40827
|
{
|
|
@@ -40941,8 +40942,9 @@ function ChartMultiBar()
|
|
|
40941
40942
|
|
|
40942
40943
|
var config=null;
|
|
40943
40944
|
var path=new Path2D();
|
|
40945
|
+
var pathBG=new Path2D();
|
|
40944
40946
|
var count=0;
|
|
40945
|
-
var drawType=-1; //1=直线 2=实心 3=空心
|
|
40947
|
+
var drawType=-1; //1=直线 2=实心 3=空心 4=边框+背景
|
|
40946
40948
|
var barWidth=dataWidth; //默认K线宽度
|
|
40947
40949
|
this.Canvas.beginPath();
|
|
40948
40950
|
for(var i=0;i<aryBar.length;++i)
|
|
@@ -40957,6 +40959,7 @@ function ChartMultiBar()
|
|
|
40957
40959
|
{
|
|
40958
40960
|
if (config.Type==0) drawType=2; //实心
|
|
40959
40961
|
else if (config.Type==1) drawType=3; //空心
|
|
40962
|
+
else if (config.Type==2) drawType=4; //边框+背景
|
|
40960
40963
|
else continue;
|
|
40961
40964
|
}
|
|
40962
40965
|
else //太细了, 直线
|
|
@@ -41013,6 +41016,31 @@ function ChartMultiBar()
|
|
|
41013
41016
|
path.addPath(barPath);
|
|
41014
41017
|
++count;
|
|
41015
41018
|
}
|
|
41019
|
+
else if (drawType==4) //背景+边框
|
|
41020
|
+
{
|
|
41021
|
+
var x=item.X-(barWidth/2);
|
|
41022
|
+
var y=Math.min(item.Y,item.Y2);
|
|
41023
|
+
var barWidth=barWidth;
|
|
41024
|
+
var barHeight=Math.abs(item.Y-item.Y2);
|
|
41025
|
+
|
|
41026
|
+
var barPath = new Path2D();
|
|
41027
|
+
if (this.IsHScreen)
|
|
41028
|
+
barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth))
|
|
41029
|
+
else
|
|
41030
|
+
barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight))
|
|
41031
|
+
|
|
41032
|
+
pathBG.addPath(barPath);
|
|
41033
|
+
|
|
41034
|
+
var barPath = new Path2D();
|
|
41035
|
+
if (this.IsHScreen)
|
|
41036
|
+
barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth))
|
|
41037
|
+
else
|
|
41038
|
+
barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight))
|
|
41039
|
+
|
|
41040
|
+
path.addPath(barPath);
|
|
41041
|
+
|
|
41042
|
+
++count;
|
|
41043
|
+
}
|
|
41016
41044
|
}
|
|
41017
41045
|
|
|
41018
41046
|
|
|
@@ -41035,6 +41063,21 @@ function ChartMultiBar()
|
|
|
41035
41063
|
this.Canvas.strokeStyle=config.Color;
|
|
41036
41064
|
this.Canvas.stroke(path);
|
|
41037
41065
|
}
|
|
41066
|
+
else if (drawType==4)
|
|
41067
|
+
{
|
|
41068
|
+
if (config.Color)
|
|
41069
|
+
{
|
|
41070
|
+
this.Canvas.fillStyle=config.Color; //背景填充颜色
|
|
41071
|
+
this.Canvas.fill(path);
|
|
41072
|
+
}
|
|
41073
|
+
|
|
41074
|
+
if (config.BorderColor)
|
|
41075
|
+
{
|
|
41076
|
+
this.Canvas.lineWidth=1*pixelRatio;
|
|
41077
|
+
this.Canvas.strokeStyle=config.BorderColor;
|
|
41078
|
+
this.Canvas.stroke(path);
|
|
41079
|
+
}
|
|
41080
|
+
}
|
|
41038
41081
|
}
|
|
41039
41082
|
|
|
41040
41083
|
}
|
|
@@ -44743,9 +44743,10 @@ function ChartMultiBar()
|
|
|
44743
44743
|
var groupItem=this.Bars[i];
|
|
44744
44744
|
if (!groupItem || !IFrameSplitOperator.IsNonEmptyArray(groupItem.Point)) continue;
|
|
44745
44745
|
|
|
44746
|
-
var clrConfig= { Color:groupItem.Color, Width:null, Name:groupItem.Name, Type:0 };
|
|
44746
|
+
var clrConfig= { Color:groupItem.Color, BGColor:null, Width:null, Name:groupItem.Name, Type:0 };
|
|
44747
44747
|
if (IFrameSplitOperator.IsNumber(groupItem.Width)) clrConfig.Width=groupItem.Width;
|
|
44748
44748
|
if (IFrameSplitOperator.IsNumber(groupItem.Type)) clrConfig.Type=groupItem.Type;
|
|
44749
|
+
if (groupItem.BorderColor) clrConfig.BorderColor=groupItem.BorderColor;
|
|
44749
44750
|
|
|
44750
44751
|
for(var j=0; j<groupItem.Point.length; ++j)
|
|
44751
44752
|
{
|
|
@@ -44866,8 +44867,9 @@ function ChartMultiBar()
|
|
|
44866
44867
|
|
|
44867
44868
|
var config=null;
|
|
44868
44869
|
var path=new Path2D();
|
|
44870
|
+
var pathBG=new Path2D();
|
|
44869
44871
|
var count=0;
|
|
44870
|
-
var drawType=-1; //1=直线 2=实心 3=空心
|
|
44872
|
+
var drawType=-1; //1=直线 2=实心 3=空心 4=边框+背景
|
|
44871
44873
|
var barWidth=dataWidth; //默认K线宽度
|
|
44872
44874
|
this.Canvas.beginPath();
|
|
44873
44875
|
for(var i=0;i<aryBar.length;++i)
|
|
@@ -44882,6 +44884,7 @@ function ChartMultiBar()
|
|
|
44882
44884
|
{
|
|
44883
44885
|
if (config.Type==0) drawType=2; //实心
|
|
44884
44886
|
else if (config.Type==1) drawType=3; //空心
|
|
44887
|
+
else if (config.Type==2) drawType=4; //边框+背景
|
|
44885
44888
|
else continue;
|
|
44886
44889
|
}
|
|
44887
44890
|
else //太细了, 直线
|
|
@@ -44938,6 +44941,31 @@ function ChartMultiBar()
|
|
|
44938
44941
|
path.addPath(barPath);
|
|
44939
44942
|
++count;
|
|
44940
44943
|
}
|
|
44944
|
+
else if (drawType==4) //背景+边框
|
|
44945
|
+
{
|
|
44946
|
+
var x=item.X-(barWidth/2);
|
|
44947
|
+
var y=Math.min(item.Y,item.Y2);
|
|
44948
|
+
var barWidth=barWidth;
|
|
44949
|
+
var barHeight=Math.abs(item.Y-item.Y2);
|
|
44950
|
+
|
|
44951
|
+
var barPath = new Path2D();
|
|
44952
|
+
if (this.IsHScreen)
|
|
44953
|
+
barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth))
|
|
44954
|
+
else
|
|
44955
|
+
barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight))
|
|
44956
|
+
|
|
44957
|
+
pathBG.addPath(barPath);
|
|
44958
|
+
|
|
44959
|
+
var barPath = new Path2D();
|
|
44960
|
+
if (this.IsHScreen)
|
|
44961
|
+
barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth))
|
|
44962
|
+
else
|
|
44963
|
+
barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight))
|
|
44964
|
+
|
|
44965
|
+
path.addPath(barPath);
|
|
44966
|
+
|
|
44967
|
+
++count;
|
|
44968
|
+
}
|
|
44941
44969
|
}
|
|
44942
44970
|
|
|
44943
44971
|
|
|
@@ -44960,6 +44988,21 @@ function ChartMultiBar()
|
|
|
44960
44988
|
this.Canvas.strokeStyle=config.Color;
|
|
44961
44989
|
this.Canvas.stroke(path);
|
|
44962
44990
|
}
|
|
44991
|
+
else if (drawType==4)
|
|
44992
|
+
{
|
|
44993
|
+
if (config.Color)
|
|
44994
|
+
{
|
|
44995
|
+
this.Canvas.fillStyle=config.Color; //背景填充颜色
|
|
44996
|
+
this.Canvas.fill(path);
|
|
44997
|
+
}
|
|
44998
|
+
|
|
44999
|
+
if (config.BorderColor)
|
|
45000
|
+
{
|
|
45001
|
+
this.Canvas.lineWidth=1*pixelRatio;
|
|
45002
|
+
this.Canvas.strokeStyle=config.BorderColor;
|
|
45003
|
+
this.Canvas.stroke(path);
|
|
45004
|
+
}
|
|
45005
|
+
}
|
|
44963
45006
|
}
|
|
44964
45007
|
|
|
44965
45008
|
}
|
|
@@ -143451,7 +143494,7 @@ function ScrollBarBGChart()
|
|
|
143451
143494
|
|
|
143452
143495
|
|
|
143453
143496
|
|
|
143454
|
-
var HQCHART_VERSION="1.1.
|
|
143497
|
+
var HQCHART_VERSION="1.1.14449";
|
|
143455
143498
|
|
|
143456
143499
|
function PrintHQChartVersion()
|
|
143457
143500
|
{
|
|
@@ -44787,9 +44787,10 @@ function ChartMultiBar()
|
|
|
44787
44787
|
var groupItem=this.Bars[i];
|
|
44788
44788
|
if (!groupItem || !IFrameSplitOperator.IsNonEmptyArray(groupItem.Point)) continue;
|
|
44789
44789
|
|
|
44790
|
-
var clrConfig= { Color:groupItem.Color, Width:null, Name:groupItem.Name, Type:0 };
|
|
44790
|
+
var clrConfig= { Color:groupItem.Color, BGColor:null, Width:null, Name:groupItem.Name, Type:0 };
|
|
44791
44791
|
if (IFrameSplitOperator.IsNumber(groupItem.Width)) clrConfig.Width=groupItem.Width;
|
|
44792
44792
|
if (IFrameSplitOperator.IsNumber(groupItem.Type)) clrConfig.Type=groupItem.Type;
|
|
44793
|
+
if (groupItem.BorderColor) clrConfig.BorderColor=groupItem.BorderColor;
|
|
44793
44794
|
|
|
44794
44795
|
for(var j=0; j<groupItem.Point.length; ++j)
|
|
44795
44796
|
{
|
|
@@ -44910,8 +44911,9 @@ function ChartMultiBar()
|
|
|
44910
44911
|
|
|
44911
44912
|
var config=null;
|
|
44912
44913
|
var path=new Path2D();
|
|
44914
|
+
var pathBG=new Path2D();
|
|
44913
44915
|
var count=0;
|
|
44914
|
-
var drawType=-1; //1=直线 2=实心 3=空心
|
|
44916
|
+
var drawType=-1; //1=直线 2=实心 3=空心 4=边框+背景
|
|
44915
44917
|
var barWidth=dataWidth; //默认K线宽度
|
|
44916
44918
|
this.Canvas.beginPath();
|
|
44917
44919
|
for(var i=0;i<aryBar.length;++i)
|
|
@@ -44926,6 +44928,7 @@ function ChartMultiBar()
|
|
|
44926
44928
|
{
|
|
44927
44929
|
if (config.Type==0) drawType=2; //实心
|
|
44928
44930
|
else if (config.Type==1) drawType=3; //空心
|
|
44931
|
+
else if (config.Type==2) drawType=4; //边框+背景
|
|
44929
44932
|
else continue;
|
|
44930
44933
|
}
|
|
44931
44934
|
else //太细了, 直线
|
|
@@ -44982,6 +44985,31 @@ function ChartMultiBar()
|
|
|
44982
44985
|
path.addPath(barPath);
|
|
44983
44986
|
++count;
|
|
44984
44987
|
}
|
|
44988
|
+
else if (drawType==4) //背景+边框
|
|
44989
|
+
{
|
|
44990
|
+
var x=item.X-(barWidth/2);
|
|
44991
|
+
var y=Math.min(item.Y,item.Y2);
|
|
44992
|
+
var barWidth=barWidth;
|
|
44993
|
+
var barHeight=Math.abs(item.Y-item.Y2);
|
|
44994
|
+
|
|
44995
|
+
var barPath = new Path2D();
|
|
44996
|
+
if (this.IsHScreen)
|
|
44997
|
+
barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth))
|
|
44998
|
+
else
|
|
44999
|
+
barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight))
|
|
45000
|
+
|
|
45001
|
+
pathBG.addPath(barPath);
|
|
45002
|
+
|
|
45003
|
+
var barPath = new Path2D();
|
|
45004
|
+
if (this.IsHScreen)
|
|
45005
|
+
barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth))
|
|
45006
|
+
else
|
|
45007
|
+
barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight))
|
|
45008
|
+
|
|
45009
|
+
path.addPath(barPath);
|
|
45010
|
+
|
|
45011
|
+
++count;
|
|
45012
|
+
}
|
|
44985
45013
|
}
|
|
44986
45014
|
|
|
44987
45015
|
|
|
@@ -45004,6 +45032,21 @@ function ChartMultiBar()
|
|
|
45004
45032
|
this.Canvas.strokeStyle=config.Color;
|
|
45005
45033
|
this.Canvas.stroke(path);
|
|
45006
45034
|
}
|
|
45035
|
+
else if (drawType==4)
|
|
45036
|
+
{
|
|
45037
|
+
if (config.Color)
|
|
45038
|
+
{
|
|
45039
|
+
this.Canvas.fillStyle=config.Color; //背景填充颜色
|
|
45040
|
+
this.Canvas.fill(path);
|
|
45041
|
+
}
|
|
45042
|
+
|
|
45043
|
+
if (config.BorderColor)
|
|
45044
|
+
{
|
|
45045
|
+
this.Canvas.lineWidth=1*pixelRatio;
|
|
45046
|
+
this.Canvas.strokeStyle=config.BorderColor;
|
|
45047
|
+
this.Canvas.stroke(path);
|
|
45048
|
+
}
|
|
45049
|
+
}
|
|
45007
45050
|
}
|
|
45008
45051
|
|
|
45009
45052
|
}
|
|
@@ -153263,7 +153306,7 @@ function HQChartScriptWorker()
|
|
|
153263
153306
|
|
|
153264
153307
|
|
|
153265
153308
|
|
|
153266
|
-
var HQCHART_VERSION="1.1.
|
|
153309
|
+
var HQCHART_VERSION="1.1.14449";
|
|
153267
153310
|
|
|
153268
153311
|
function PrintHQChartVersion()
|
|
153269
153312
|
{
|