hqchart 1.1.14386 → 1.1.14394

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.
@@ -3666,11 +3666,11 @@ var iconSize=dataWidth+distanceWidth;var minIconSize=18*pixelTatio;var bShowNum=
3666
3666
  {var iconID=value.Data.length;if(iconID>=numText.length)iconID=0;this.Canvas.fillStyle=g_JSChartResource.KLine.NumIcon.Color;var text=numText[iconID];this.Canvas.fillText(text,value.TextRect.X,value.TextRect.Y,iconSize);}if(!isHScreen)this.InfoTooltipRect.push(value);//横屏没有tooltip
3667
3667
  }}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4.return){_iterator4.return();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}this.Canvas.restore();this.Canvas.save();this.ClipClient(isHScreen);};//画交易图标
3668
3668
  this.DrawTradeIcon=function(){if(!this.TradeData)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;var chartright=this.ChartBorder.GetRight();var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;chartright=this.ChartBorder.GetBottom();}var sellData=this.TradeData.Sell;var buyData=this.TradeData.Buy;var iconSize=dataWidth+distanceWidth;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
3669
- var iconSizeMax=24*pixelTatio,iconSizeMin=12*pixelTatio;if(iconSize<iconSizeMin)iconSize=iconSizeMin;else if(iconSize>iconSizeMax)iconSize=iconSizeMax;this.Canvas.font=iconSize+'px '+this.TradeIcon.Family;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var buy=false,sell=false;if(sellData&&i<sellData.length)sell=sellData[i]>0;if(buyData&&i<buyData.length)buy=buyData[i]>0;if(!sell&&!buy)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;if(buy){this.Canvas.fillStyle=this.TradeIcon.Buy.Color;if(isHScreen){this.Canvas.textAlign='right';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Buy.HScreenText,yLow,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='top';this.Canvas.fillText(this.TradeIcon.Buy.Text,x,yLow);var iconRect=new Rect(x-iconSize/2,yLow,iconSize,iconSize);var iconData={Data:{Type:1,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yLow}};this.TradeIconTooltipRect.push(iconData);}}if(sell){this.Canvas.fillStyle=this.TradeIcon.Sell.Color;if(isHScreen){this.Canvas.textAlign='left';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Sell.HScreenText,yHigh,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='bottom';this.Canvas.fillText(this.TradeIcon.Sell.Text,x,yHigh);var iconRect=new Rect(x-iconSize/2,yHigh-iconSize,iconSize,iconSize);var iconData={Data:{Type:2,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yHigh}};this.TradeIconTooltipRect.push(iconData);}}}};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i in this.TradeIconTooltipRect){var item=this.TradeIconTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;this.Canvas.beginPath();this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=2;//指标
3670
- return true;}}for(var i in this.InfoTooltipRect){var item=this.InfoTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;this.Canvas.beginPath();this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){//JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
3669
+ var iconSizeMax=24*pixelTatio,iconSizeMin=12*pixelTatio;if(iconSize<iconSizeMin)iconSize=iconSizeMin;else if(iconSize>iconSizeMax)iconSize=iconSizeMax;this.Canvas.font=iconSize+'px '+this.TradeIcon.Family;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var buy=false,sell=false;if(sellData&&i<sellData.length)sell=sellData[i]>0;if(buyData&&i<buyData.length)buy=buyData[i]>0;if(!sell&&!buy)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;if(buy){this.Canvas.fillStyle=this.TradeIcon.Buy.Color;if(isHScreen){this.Canvas.textAlign='right';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Buy.HScreenText,yLow,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='top';this.Canvas.fillText(this.TradeIcon.Buy.Text,x,yLow);var iconRect=new Rect(x-iconSize/2,yLow,iconSize,iconSize);var iconData={Data:{Type:1,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yLow}};this.TradeIconTooltipRect.push(iconData);}}if(sell){this.Canvas.fillStyle=this.TradeIcon.Sell.Color;if(isHScreen){this.Canvas.textAlign='left';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Sell.HScreenText,yHigh,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='bottom';this.Canvas.fillText(this.TradeIcon.Sell.Text,x,yHigh);var iconRect=new Rect(x-iconSize/2,yHigh-iconSize,iconSize,iconSize);var iconData={Data:{Type:2,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yHigh}};this.TradeIconTooltipRect.push(iconData);}}}};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i in this.TradeIconTooltipRect){var item=this.TradeIconTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=2;//指标
3670
+ return true;}}for(var i in this.InfoTooltipRect){var item=this.InfoTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){//JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
3671
3671
  tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;//信息地雷
3672
- return true;}}for(var i in this.TooltipRect){var rect=this.TooltipRect[i][1];this.Canvas.beginPath();this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;tooltip.Type=0;//K线信息
3673
- return true;}}return false;};//计算当天显示数据的最大最小值
3672
+ return true;}}if(IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect)){for(var i=0;i<this.TooltipRect.length;++i){var rect=this.TooltipRect[i][1];var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;tooltip.Type=0;//K线信息
3673
+ return true;}}}return false;};//计算当天显示数据的最大最小值
3674
3674
  this.GetMaxMin=function(){if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.GetMaxMin){return this.FFKChart.GetMaxMin(this);}}var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Max:null,Min:null};if(this.DrawType==1||this.DrawType==4)// 1=收盘价线 4=收盘价面积图
3675
3675
  {for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(data.Close))continue;if(range.Max==null)range.Max=data.Close;if(range.Min==null)range.Min=data.Close;if(range.Max<data.Close)range.Max=data.Close;if(range.Min>data.Close)range.Min=data.Close;}}else{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(this.DrawType==5&&data.OrderFlow&&IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset)){var high=data.High;var low=data.Low;if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.High)){for(var k=0;k<data.OrderFlow.High.length;++k){var item=data.OrderFlow.High[k];if(high<item.Price)high=item.Price;}}if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.Low)){for(var k=0;k<data.OrderFlow.Low.length;++k){var item=data.OrderFlow.Low[k];if(low>item.Price)low=item.Price;}}high+=data.OrderFlow.PriceOffset;low-=data.OrderFlow.PriceOffset;if(range.Max==null)range.Max=high;if(range.Min==null)range.Min=low;if(range.Max<high)range.Max=high;if(range.Min>low)range.Min=low;}else{if(range.Max==null)range.Max=data.High;if(range.Min==null)range.Min=data.Low;if(range.Max<data.High)range.Max=data.High;if(range.Min>data.Low)range.Min=data.Low;}}}return range;};//获取所有的价格
3676
3676
  this.GetAllPrice=function(){var xPointCount=this.ChartFrame.XPointCount;var setPrice=new _set2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var value=data.Close;setPrice.add(value);}var aryPrice=[];var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{for(var _iterator5=(0,_getIterator3.default)(setPrice),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){var item=_step5.value;aryPrice.push(item);}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}aryPrice.sort(function(a,b){return a-b;});//排序 升序
@@ -4450,7 +4450,7 @@ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++
4450
4450
  var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;if(this.AutoPosition){var pt={X:x,Y:y};this.CalculateShowPosition(item,pt);//重新计算位置
4451
4451
  x=pt.X;y=pt.Y;}var fontSVG=svgItem.Size+'px '+this.Family;this.Canvas.font=fontSVG;var halfSize=svgItem.Size/2;var textBaseline='bottom';var rtSVG={Left:x-halfSize,Right:x+halfSize,Top:y-svgItem.Size,Bottom:y,Height:svgItem.Size,Width:svgItem.Size};if(svgItem.VAlign===0){textBaseline="top";rtSVG.Top=y;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}else if(svgItem.VAlign===1){textBaseline='middle';rtSVG.Top=y-svgItem.Size/2;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}if(rtSVG.Top<0){rtSVG.Top=0;rtSVG.Bottom=svgItem.Size;y=rtSVG.Bottom;}this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign='center';this.Canvas.fillStyle=svgItem.Color;this.Canvas.fillText(svgItem.Symbol,x,y);this.AryDrawRect.push({Left:rtSVG.Left,Top:rtSVG.Top,Right:rtSVG.Right,Bottom:rtSVG.Bottom,Type:"SVG",Data:item});if(this.EnableTooltip)this.TooltipRect.push({Rect:rtSVG,Index:i,Item:item});//文字
4452
4452
  if(item.Text&&item.Text.Content&&this.TextFont){var textItem=item.Text;this.Canvas.font=this.TextFont;this.Canvas.fillStyle=textItem.Color;var yText=y;if(IFrameSplitOperator.IsNumber(textItem.YOffset))yText+=textItem.YOffset;this.Canvas.fillText(textItem.Content,x,yText);}if(item.Detail){this.DrawDetail(rtSVG,item.Detail,item);}//连线
4453
- if(item.Line){var lineItem=item.Line;var price=null,yPrice=null;if(lineItem.Value=="Bottom"){yPrice=bottom;}else if(lineItem.Value=="Top"){yPrice=top;}else{if(IFrameSplitOperator.IsString(lineItem.Value))price=this.GetKValue(kItem,lineItem.Value);if(!IFrameSplitOperator.IsNumber(price))continue;yPrice=this.ChartFrame.GetYFromData(price);}if(yPrice>=rtSVG.Top&&yPrice<=rtSVG.Bottom)continue;var yText;if(yPrice<rtSVG.Top){yText=rtSVG.Top;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice+=lineItem.Blank;
4453
+ if(item.Line){var lineItem=item.Line;var price=null,yPrice=null;if(lineItem.Value=="Bottom"){yPrice=bottom;}else if(lineItem.Value=="Top"){yPrice=top;}else{if(IFrameSplitOperator.IsString(lineItem.Value))price=this.GetKValue(kItem,lineItem.Value);else if(IFrameSplitOperator.IsNumber(lineItem.Value))price=lineItem.Value;if(!IFrameSplitOperator.IsNumber(price))continue;yPrice=this.ChartFrame.GetYFromData(price);}if(yPrice>=rtSVG.Top&&yPrice<=rtSVG.Bottom)continue;var yText;if(yPrice<rtSVG.Top){yText=rtSVG.Top;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice+=lineItem.Blank;
4454
4454
  yText-=lineItem.SVGBlank;}}else{yText=rtSVG.Bottom;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice-=lineItem.Blank;
4455
4455
  yText+=lineItem.SVGBlank;}}if(lineItem.Dash)this.Canvas.setLineDash(lineItem.Dash);//虚线
4456
4456
  var lineWidth=1*pixelRatio;if(lineItem.Width>0)lineWidth=lineItem.Width*pixelRatio;this.Canvas.lineWidth=lineWidth;//线宽
@@ -7259,9 +7259,11 @@ this.Frame.SetXShowCount(xPointCount);}hisData.DataOffset=index;this.CursorIndex
7259
7259
  {if(!IFrameSplitOperator.IsNumber(obj.DataIndex))return;var hisData=this.ChartOperator_Temp_GetHistoryData();if(!hisData)return;//数据还没有到达
7260
7260
  if(obj.DataIndex<0||obj.DataIndex>=hisData.Data.length){JSConsole.Chart.Log('[KLineChartContainer::ChartOperator] OP_GOTO_BY_DATAINDEX obj.DataIndex='+obj.DataIndex+' error.}');return;}var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;var xPointCount=oldXPointCount;if(obj.PageSize>0)xPointCount=obj.PageSize;//调整一屏显示的个数
7261
7261
  if(xPointCount!=oldXPointCount)this.Frame.SetXShowCount(xPointCount);//设置X轴显示数据个数
7262
- hisData.DataOffset=obj.DataIndex;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;this.ChartOperator_Temp_Update();}else if(id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO)//移动十字光标{ Date:, Time }
7262
+ hisData.DataOffset=obj.DataIndex;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;this.ChartOperator_Temp_Update();}else if(id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO)//移动十字光标{ Date:, Time, Type:1=如果不存在 就隐藏十字光标 }
7263
7263
  {if(!IFrameSplitOperator.IsNumber(obj.Date))return;var bTime=IFrameSplitOperator.IsNumber(obj.Time);var pageInfo=this.GetChartStatus();if(!pageInfo)return;var hisData=this.ChartOperator_Temp_GetHistoryData();if(!hisData)return;//数据还没有到达
7264
- var start=hisData.DataOffset;var findIndex=-1,findItem=null,dataIndex=-1;for(var i=start,j=0;i<hisData.Data.length&&j<pageInfo.KLine.PageSize;++i,++j){var item=hisData.Data[i];if(bTime){if(item.Date==obj.Date&&item.Time==obj.Time){findItem=item;findIndex=j;dataIndex=i;break;}}else{if(item.Date==obj.Date){findItem=item;findIndex=j;dataIndex=i;break;}}}if(findIndex<0){return;}if(!this.Frame||!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;var x=frame.GetXFromIndex(findIndex);var y=frame.GetYFromData(item.Close);//保存最后一次鼠标移动信息
7264
+ var start=hisData.DataOffset;var findIndex=-1,findItem=null,dataIndex=-1;for(var i=start,j=0;i<hisData.Data.length&&j<pageInfo.KLine.PageSize;++i,++j){var item=hisData.Data[i];if(bTime){if(item.Date==obj.Date&&item.Time==obj.Time){findItem=item;findIndex=j;dataIndex=i;break;}}else{if(item.Date==obj.Date){findItem=item;findIndex=j;dataIndex=i;break;}}}if(findIndex<0){if(obj.Type==1)// 如果不存在 就隐藏十字光标
7265
+ {var x=-1,y=-1;var MoveStatus={X:x,Y:y,IsInClient:this.IsMouseOnClient(x,y)};this.LastMouseStatus.OnMouseMove=MoveStatus;this.LastMouseStatus.MoveOnPoint={X:x,Y:y};//鼠标移动的位置
7266
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);var titleChart=this.TitlePaint[0];if(event&&titleChart)titleChart.OnMouseMoveEvent=event;var e={clientX:x,clientY:y};this.MoveOnPoint={X:x,Y:y};this.OnMouseMove(x,y,e);this.LastMouseStatus.MoveOnPoint=null;if(titleChart)titleChart.OnMouseMoveEvent=null;}return;}if(!this.Frame||!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;var x=frame.GetXFromIndex(findIndex);var y=frame.GetYFromData(item.Close);//保存最后一次鼠标移动信息
7265
7267
  var MoveStatus={X:x,Y:y,IsInClient:this.IsMouseOnClient(x,y)};this.LastMouseStatus.OnMouseMove=MoveStatus;this.LastMouseStatus.MoveOnPoint={X:x,Y:y};//鼠标移动的位置
7266
7268
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);var titleChart=this.TitlePaint[0];if(event&&titleChart)titleChart.OnMouseMoveEvent=event;var pixelTatio=GetDevicePixelRatio();var e={};e.clientX=x/pixelTatio+this.UIElement.getBoundingClientRect().left;e.clientY=y/pixelTatio+this.UIElement.getBoundingClientRect().top;this.MoveOnPoint={X:x,Y:y};this.OnMouseMove(x,y,e);this.LastMouseStatus.MoveOnPoint=null;if(titleChart)titleChart.OnMouseMoveEvent=null;}};//内部函数
7267
7269
  this.ChartOperator_Temp_GetHistoryData=function(){var hisData=null;if(!this.Frame.Data)hisData=this.Frame.Data;else hisData=this.Frame.SubFrame[0].Frame.Data;if(!hisData)return null;//数据还没有到达
@@ -11986,7 +11988,7 @@ if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.Br
11986
11988
  {drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin))drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
11987
11989
  drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.IsShowRowName=draw.IsShowRowName;drawItem.BGColor=draw.BGColor;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
11988
11990
  {drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="COLOR_KLINE"){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;var klineOption=this.FittingMultiText(draw.DrawData.KLine,date,time,hqChart);var mapKLineOption=new _map2.default();for(var i in klineOption){var item=klineOption[i];mapKLineOption.set(item.Index,item);}drawItem.DrawData={KLine:mapKLineOption};if(draw.Color)outVarItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="KLINE_BG"){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.Angle=draw.Angle;if(draw.Ver==2.0)drawItem.DrawData.Data=this.FittingKLineBG_V2(draw.DrawData,hqChart);else drawItem.DrawData.Data=this.FittingKLineBG(draw.DrawData,hqChart);outVarItem.Draw=drawItem;outVarItem.Name=draw.DrawType;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT_LINE'){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.PointRadius=draw.PointRadius;drawItem.DrawData.PointColor=draw.PointColor;drawItem.DrawData.LineWidth=draw.LineWidth;drawItem.DrawData.Data=this.FittingMultiPointLine(draw.DrawData,hqChart);outVarItem.Draw=drawItem;//outVarItem.Name=draw.DrawType;
11989
- result.push(outVarItem);}else if(draw.DrawType=="PARTLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;if(draw.UpColor)outVarItem.UpColor=draw.UpColor;if(draw.DownColor)outVarItem.DownColor=draw.DownColor;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXTREL"||draw.DrawType=="DRAWTEXTABS"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Point: { X: 5,Y: 5 }, Text: "注意(居中):前方高能!!!!!" }
11991
+ result.push(outVarItem);}else if(draw.DrawType=="PARTLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(IFrameSplitOperator.IsString(draw.LineWidth))outVarItem.LineWidth=draw.LineWidth;if(IFrameSplitOperator.IsBool(draw.IsDotLine))outVarItem.IsDotLine=draw.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(draw.LineDash))outVarItem.LineDash=draw.LineDash;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;if(draw.UpColor)outVarItem.UpColor=draw.UpColor;if(draw.DownColor)outVarItem.DownColor=draw.DownColor;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXTREL"||draw.DrawType=="DRAWTEXTABS"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Point: { X: 5,Y: 5 }, Text: "注意(居中):前方高能!!!!!" }
11990
11992
  outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXT_LINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Price:, Text:{ Title:text, Color:textcolor }, Line:{ Type:linetype, Color:linecolor } };
11991
11993
  outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAW_SIMPLE_TABLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ TableData:[ [ {AryCell:[{Text:, Color: }]}, ], ], BGColor:, TextFont:{ Size:, Name: } };
11992
11994
  outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAW_SIMPLE_PIE"||draw.DrawType=="DRAW_SIMPLE_DOUGHNUT"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Data:[ {Value, Color, Text: }, ], BorderColor:, TextFont:{ Size:, Name: } };
@@ -14313,7 +14315,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
14313
14315
  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);};}/********************************************************************************
14314
14316
  * 版本信息输出
14315
14317
  *
14316
- */var HQCHART_VERSION="1.1.14384";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();//把给外界调用的方法暴露出来
14318
+ */var HQCHART_VERSION="1.1.14393";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();//把给外界调用的方法暴露出来
14317
14319
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14318
14320
  // BaseIndex:BaseIndex,
14319
14321
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14386",
3
+ "version": "1.1.14394",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -25171,7 +25171,9 @@ function APIScriptIndex(name,script,args,option, isOverlay)
25171
25171
  drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);
25172
25172
 
25173
25173
  outVarItem.Draw=drawItem;
25174
- if (draw.LineWidth) outVarItem.LineWidth=draw.LineWidth;
25174
+ if (IFrameSplitOperator.IsString(draw.LineWidth)) outVarItem.LineWidth=draw.LineWidth;
25175
+ if (IFrameSplitOperator.IsBool(draw.IsDotLine)) outVarItem.IsDotLine=draw.IsDotLine;
25176
+ if (IFrameSplitOperator.IsNonEmptyArray(draw.LineDash)) outVarItem.LineDash=draw.LineDash;
25175
25177
 
25176
25178
  result.push(outVarItem);
25177
25179
  }
@@ -28393,9 +28393,10 @@ function ChartKLine()
28393
28393
  var item=this.TradeIconTooltipRect[i];
28394
28394
  if (!item.Rect) continue;
28395
28395
  var rect=item.Rect;
28396
- this.Canvas.beginPath();
28397
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
28398
- if (this.Canvas.isPointInPath(x,y))
28396
+ var left=rect.X, top=rect.Y;
28397
+ var right=left+rect.Width;
28398
+ var bottom=top+rect.Height;
28399
+ if (x>=left && x<=right && y>=top && y<=bottom)
28399
28400
  {
28400
28401
  JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ', item);
28401
28402
  tooltip.Data=item;
@@ -28410,9 +28411,10 @@ function ChartKLine()
28410
28411
  var item=this.InfoTooltipRect[i];
28411
28412
  if (!item.Rect) continue;
28412
28413
  var rect=item.Rect;
28413
- this.Canvas.beginPath();
28414
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
28415
- if (this.Canvas.isPointInPath(x,y))
28414
+ var left=rect.X, top=rect.Y;
28415
+ var right=left+rect.Width;
28416
+ var bottom=top+rect.Height;
28417
+ if (x>=left && x<=right && y>=top && y<=bottom)
28416
28418
  {
28417
28419
  //JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
28418
28420
  tooltip.Data=item;
@@ -28422,18 +28424,22 @@ function ChartKLine()
28422
28424
  }
28423
28425
  }
28424
28426
 
28425
- for(var i in this.TooltipRect)
28427
+ if (IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))
28426
28428
  {
28427
- var rect=this.TooltipRect[i][1];
28428
- this.Canvas.beginPath();
28429
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
28430
- if (this.Canvas.isPointInPath(x,y))
28429
+ for(var i=0; i<this.TooltipRect.length; ++i)
28431
28430
  {
28432
- var index=this.TooltipRect[i][0];
28433
- tooltip.Data=this.Data.Data[index];
28434
- tooltip.ChartPaint=this;
28435
- tooltip.Type=0; //K线信息
28436
- return true;
28431
+ var rect=this.TooltipRect[i][1];
28432
+ var left=rect.X, top=rect.Y;
28433
+ var right=left+rect.Width;
28434
+ var bottom=top+rect.Height;
28435
+ if (x>=left && x<=right && y>=top && y<=bottom)
28436
+ {
28437
+ var index=this.TooltipRect[i][0];
28438
+ tooltip.Data=this.Data.Data[index];
28439
+ tooltip.ChartPaint=this;
28440
+ tooltip.Type=0; //K线信息
28441
+ return true;
28442
+ }
28437
28443
  }
28438
28444
  }
28439
28445
 
@@ -42725,8 +42731,8 @@ function ChartDrawSVG()
42725
42731
  }
42726
42732
  else
42727
42733
  {
42728
- if (IFrameSplitOperator.IsString(lineItem.Value))
42729
- price=this.GetKValue(kItem,lineItem.Value);
42734
+ if (IFrameSplitOperator.IsString(lineItem.Value)) price=this.GetKValue(kItem,lineItem.Value);
42735
+ else if (IFrameSplitOperator.IsNumber(lineItem.Value)) price=lineItem.Value;
42730
42736
 
42731
42737
  if (!IFrameSplitOperator.IsNumber(price)) continue;
42732
42738
  yPrice=this.ChartFrame.GetYFromData(price);
@@ -75704,7 +75710,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
75704
75710
 
75705
75711
  this.ChartOperator_Temp_Update();
75706
75712
  }
75707
- else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //移动十字光标{ Date:, Time }
75713
+ else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //移动十字光标{ Date:, Time, Type:1=如果不存在 就隐藏十字光标 }
75708
75714
  {
75709
75715
  if (!IFrameSplitOperator.IsNumber(obj.Date)) return;
75710
75716
  var bTime=IFrameSplitOperator.IsNumber(obj.Time);
@@ -75745,6 +75751,23 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
75745
75751
 
75746
75752
  if (findIndex<0)
75747
75753
  {
75754
+ if (obj.Type==1) // 如果不存在 就隐藏十字光标
75755
+ {
75756
+ var x=-1,y=-1;
75757
+ var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
75758
+ this.LastMouseStatus.OnMouseMove=MoveStatus;
75759
+ this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
75760
+
75761
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
75762
+ var titleChart=this.TitlePaint[0];
75763
+ if (event && titleChart) titleChart.OnMouseMoveEvent=event;
75764
+
75765
+ var e={clientX:x, clientY:y};
75766
+ this.MoveOnPoint={X:x, Y:y};
75767
+ this.OnMouseMove(x,y,e);
75768
+ this.LastMouseStatus.MoveOnPoint=null;
75769
+ if (titleChart) titleChart.OnMouseMoveEvent=null;
75770
+ }
75748
75771
  return;
75749
75772
  }
75750
75773
 
@@ -32318,9 +32318,10 @@ function ChartKLine()
32318
32318
  var item=this.TradeIconTooltipRect[i];
32319
32319
  if (!item.Rect) continue;
32320
32320
  var rect=item.Rect;
32321
- this.Canvas.beginPath();
32322
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
32323
- if (this.Canvas.isPointInPath(x,y))
32321
+ var left=rect.X, top=rect.Y;
32322
+ var right=left+rect.Width;
32323
+ var bottom=top+rect.Height;
32324
+ if (x>=left && x<=right && y>=top && y<=bottom)
32324
32325
  {
32325
32326
  JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ', item);
32326
32327
  tooltip.Data=item;
@@ -32335,9 +32336,10 @@ function ChartKLine()
32335
32336
  var item=this.InfoTooltipRect[i];
32336
32337
  if (!item.Rect) continue;
32337
32338
  var rect=item.Rect;
32338
- this.Canvas.beginPath();
32339
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
32340
- if (this.Canvas.isPointInPath(x,y))
32339
+ var left=rect.X, top=rect.Y;
32340
+ var right=left+rect.Width;
32341
+ var bottom=top+rect.Height;
32342
+ if (x>=left && x<=right && y>=top && y<=bottom)
32341
32343
  {
32342
32344
  //JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
32343
32345
  tooltip.Data=item;
@@ -32347,18 +32349,22 @@ function ChartKLine()
32347
32349
  }
32348
32350
  }
32349
32351
 
32350
- for(var i in this.TooltipRect)
32352
+ if (IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))
32351
32353
  {
32352
- var rect=this.TooltipRect[i][1];
32353
- this.Canvas.beginPath();
32354
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
32355
- if (this.Canvas.isPointInPath(x,y))
32354
+ for(var i=0; i<this.TooltipRect.length; ++i)
32356
32355
  {
32357
- var index=this.TooltipRect[i][0];
32358
- tooltip.Data=this.Data.Data[index];
32359
- tooltip.ChartPaint=this;
32360
- tooltip.Type=0; //K线信息
32361
- return true;
32356
+ var rect=this.TooltipRect[i][1];
32357
+ var left=rect.X, top=rect.Y;
32358
+ var right=left+rect.Width;
32359
+ var bottom=top+rect.Height;
32360
+ if (x>=left && x<=right && y>=top && y<=bottom)
32361
+ {
32362
+ var index=this.TooltipRect[i][0];
32363
+ tooltip.Data=this.Data.Data[index];
32364
+ tooltip.ChartPaint=this;
32365
+ tooltip.Type=0; //K线信息
32366
+ return true;
32367
+ }
32362
32368
  }
32363
32369
  }
32364
32370
 
@@ -46650,8 +46656,8 @@ function ChartDrawSVG()
46650
46656
  }
46651
46657
  else
46652
46658
  {
46653
- if (IFrameSplitOperator.IsString(lineItem.Value))
46654
- price=this.GetKValue(kItem,lineItem.Value);
46659
+ if (IFrameSplitOperator.IsString(lineItem.Value)) price=this.GetKValue(kItem,lineItem.Value);
46660
+ else if (IFrameSplitOperator.IsNumber(lineItem.Value)) price=lineItem.Value;
46655
46661
 
46656
46662
  if (!IFrameSplitOperator.IsNumber(price)) continue;
46657
46663
  yPrice=this.ChartFrame.GetYFromData(price);
@@ -79629,7 +79635,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79629
79635
 
79630
79636
  this.ChartOperator_Temp_Update();
79631
79637
  }
79632
- else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //移动十字光标{ Date:, Time }
79638
+ else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //移动十字光标{ Date:, Time, Type:1=如果不存在 就隐藏十字光标 }
79633
79639
  {
79634
79640
  if (!IFrameSplitOperator.IsNumber(obj.Date)) return;
79635
79641
  var bTime=IFrameSplitOperator.IsNumber(obj.Time);
@@ -79670,6 +79676,23 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79670
79676
 
79671
79677
  if (findIndex<0)
79672
79678
  {
79679
+ if (obj.Type==1) // 如果不存在 就隐藏十字光标
79680
+ {
79681
+ var x=-1,y=-1;
79682
+ var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
79683
+ this.LastMouseStatus.OnMouseMove=MoveStatus;
79684
+ this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
79685
+
79686
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
79687
+ var titleChart=this.TitlePaint[0];
79688
+ if (event && titleChart) titleChart.OnMouseMoveEvent=event;
79689
+
79690
+ var e={clientX:x, clientY:y};
79691
+ this.MoveOnPoint={X:x, Y:y};
79692
+ this.OnMouseMove(x,y,e);
79693
+ this.LastMouseStatus.MoveOnPoint=null;
79694
+ if (titleChart) titleChart.OnMouseMoveEvent=null;
79695
+ }
79673
79696
  return;
79674
79697
  }
79675
79698
 
@@ -126905,7 +126928,9 @@ function APIScriptIndex(name,script,args,option, isOverlay)
126905
126928
  drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);
126906
126929
 
126907
126930
  outVarItem.Draw=drawItem;
126908
- if (draw.LineWidth) outVarItem.LineWidth=draw.LineWidth;
126931
+ if (IFrameSplitOperator.IsString(draw.LineWidth)) outVarItem.LineWidth=draw.LineWidth;
126932
+ if (IFrameSplitOperator.IsBool(draw.IsDotLine)) outVarItem.IsDotLine=draw.IsDotLine;
126933
+ if (IFrameSplitOperator.IsNonEmptyArray(draw.LineDash)) outVarItem.LineDash=draw.LineDash;
126909
126934
 
126910
126935
  result.push(outVarItem);
126911
126936
  }
@@ -143166,7 +143191,7 @@ function ScrollBarBGChart()
143166
143191
 
143167
143192
 
143168
143193
 
143169
- var HQCHART_VERSION="1.1.14384";
143194
+ var HQCHART_VERSION="1.1.14393";
143170
143195
 
143171
143196
  function PrintHQChartVersion()
143172
143197
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14384";
8
+ var HQCHART_VERSION="1.1.14393";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -32362,9 +32362,10 @@ function ChartKLine()
32362
32362
  var item=this.TradeIconTooltipRect[i];
32363
32363
  if (!item.Rect) continue;
32364
32364
  var rect=item.Rect;
32365
- this.Canvas.beginPath();
32366
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
32367
- if (this.Canvas.isPointInPath(x,y))
32365
+ var left=rect.X, top=rect.Y;
32366
+ var right=left+rect.Width;
32367
+ var bottom=top+rect.Height;
32368
+ if (x>=left && x<=right && y>=top && y<=bottom)
32368
32369
  {
32369
32370
  JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ', item);
32370
32371
  tooltip.Data=item;
@@ -32379,9 +32380,10 @@ function ChartKLine()
32379
32380
  var item=this.InfoTooltipRect[i];
32380
32381
  if (!item.Rect) continue;
32381
32382
  var rect=item.Rect;
32382
- this.Canvas.beginPath();
32383
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
32384
- if (this.Canvas.isPointInPath(x,y))
32383
+ var left=rect.X, top=rect.Y;
32384
+ var right=left+rect.Width;
32385
+ var bottom=top+rect.Height;
32386
+ if (x>=left && x<=right && y>=top && y<=bottom)
32385
32387
  {
32386
32388
  //JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
32387
32389
  tooltip.Data=item;
@@ -32391,18 +32393,22 @@ function ChartKLine()
32391
32393
  }
32392
32394
  }
32393
32395
 
32394
- for(var i in this.TooltipRect)
32396
+ if (IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))
32395
32397
  {
32396
- var rect=this.TooltipRect[i][1];
32397
- this.Canvas.beginPath();
32398
- this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
32399
- if (this.Canvas.isPointInPath(x,y))
32398
+ for(var i=0; i<this.TooltipRect.length; ++i)
32400
32399
  {
32401
- var index=this.TooltipRect[i][0];
32402
- tooltip.Data=this.Data.Data[index];
32403
- tooltip.ChartPaint=this;
32404
- tooltip.Type=0; //K线信息
32405
- return true;
32400
+ var rect=this.TooltipRect[i][1];
32401
+ var left=rect.X, top=rect.Y;
32402
+ var right=left+rect.Width;
32403
+ var bottom=top+rect.Height;
32404
+ if (x>=left && x<=right && y>=top && y<=bottom)
32405
+ {
32406
+ var index=this.TooltipRect[i][0];
32407
+ tooltip.Data=this.Data.Data[index];
32408
+ tooltip.ChartPaint=this;
32409
+ tooltip.Type=0; //K线信息
32410
+ return true;
32411
+ }
32406
32412
  }
32407
32413
  }
32408
32414
 
@@ -46694,8 +46700,8 @@ function ChartDrawSVG()
46694
46700
  }
46695
46701
  else
46696
46702
  {
46697
- if (IFrameSplitOperator.IsString(lineItem.Value))
46698
- price=this.GetKValue(kItem,lineItem.Value);
46703
+ if (IFrameSplitOperator.IsString(lineItem.Value)) price=this.GetKValue(kItem,lineItem.Value);
46704
+ else if (IFrameSplitOperator.IsNumber(lineItem.Value)) price=lineItem.Value;
46699
46705
 
46700
46706
  if (!IFrameSplitOperator.IsNumber(price)) continue;
46701
46707
  yPrice=this.ChartFrame.GetYFromData(price);
@@ -79673,7 +79679,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79673
79679
 
79674
79680
  this.ChartOperator_Temp_Update();
79675
79681
  }
79676
- else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //移动十字光标{ Date:, Time }
79682
+ else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //移动十字光标{ Date:, Time, Type:1=如果不存在 就隐藏十字光标 }
79677
79683
  {
79678
79684
  if (!IFrameSplitOperator.IsNumber(obj.Date)) return;
79679
79685
  var bTime=IFrameSplitOperator.IsNumber(obj.Time);
@@ -79714,6 +79720,23 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79714
79720
 
79715
79721
  if (findIndex<0)
79716
79722
  {
79723
+ if (obj.Type==1) // 如果不存在 就隐藏十字光标
79724
+ {
79725
+ var x=-1,y=-1;
79726
+ var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
79727
+ this.LastMouseStatus.OnMouseMove=MoveStatus;
79728
+ this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
79729
+
79730
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
79731
+ var titleChart=this.TitlePaint[0];
79732
+ if (event && titleChart) titleChart.OnMouseMoveEvent=event;
79733
+
79734
+ var e={clientX:x, clientY:y};
79735
+ this.MoveOnPoint={X:x, Y:y};
79736
+ this.OnMouseMove(x,y,e);
79737
+ this.LastMouseStatus.MoveOnPoint=null;
79738
+ if (titleChart) titleChart.OnMouseMoveEvent=null;
79739
+ }
79717
79740
  return;
79718
79741
  }
79719
79742
 
@@ -126949,7 +126972,9 @@ function APIScriptIndex(name,script,args,option, isOverlay)
126949
126972
  drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);
126950
126973
 
126951
126974
  outVarItem.Draw=drawItem;
126952
- if (draw.LineWidth) outVarItem.LineWidth=draw.LineWidth;
126975
+ if (IFrameSplitOperator.IsString(draw.LineWidth)) outVarItem.LineWidth=draw.LineWidth;
126976
+ if (IFrameSplitOperator.IsBool(draw.IsDotLine)) outVarItem.IsDotLine=draw.IsDotLine;
126977
+ if (IFrameSplitOperator.IsNonEmptyArray(draw.LineDash)) outVarItem.LineDash=draw.LineDash;
126953
126978
 
126954
126979
  result.push(outVarItem);
126955
126980
  }
@@ -152961,7 +152986,7 @@ function HQChartScriptWorker()
152961
152986
 
152962
152987
 
152963
152988
 
152964
- var HQCHART_VERSION="1.1.14384";
152989
+ var HQCHART_VERSION="1.1.14393";
152965
152990
 
152966
152991
  function PrintHQChartVersion()
152967
152992
  {