hqchart 1.1.11607 → 1.1.11611

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.
@@ -1782,7 +1782,7 @@ if(isErase==false){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this
1782
1782
  {this.ChartCorssCursor.Draw();}else if(!(this.IsOnTouch===false&&this.CorssCursorTouchEnd===true)&&!this.CurrentChartDrawPicture){this.ChartCorssCursor.Draw();}else if(this.IsOnTouch===true&&this.CurrentChartDrawPicture&&this.EnableShowCorssCursor&&this.EnableShowCorssCursor.DrawPicture==true){this.ChartCorssCursor.Draw();}}var ptPosition=null;//鼠标位置 null 无效 -1 在外面 >=0 对应的指标窗口中ID
1783
1783
  if(option&&option.ParentFunction=='OnMouseMove'&&option.Point){ptPosition=this.Frame.PtInFrame(option.Point.X,option.Point.Y);}var drawStatus=this.GetDrawStatus();drawStatus.DrawName="DrawDynamicInfo";for(var i=0;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];if(!item.IsDynamic)continue;item.CursorIndex=this.CursorIndex;item.LastPoint=this.LastPoint;if(item.OnDrawEvent){item.OnDrawEvent.FunctionName='DrawDynamicInfo';item.OnDrawEvent.PointPosition=ptPosition;}item.DrawStatus=drawStatus;if(item.ClassName=="DynamicMinuteTitlePainting"){if(option&&IFrameSplitOperator.IsNumber(option.ClientPos)&&option.Point)item.PointInfo={ClientPos:option.ClientPos,Point:{X:option.Point.X,Y:option.Point.Y}};else item.PointInfo=null;}item.Draw();}for(var i=0;i<this.ExtendChartPaint.length;++i)//动态扩展图形 在动态标题以后画
1784
1784
  {var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw)continue;if(item.ClassName=='KLineTooltipPaint'&&option){if(option.Tooltip==false)continue;if(option.Point)item.LatestPoint=option.Point;}else if(item.ClassName=="MinuteTooltipPaint"&&option){if(option.Point)item.LatestPoint=option.Point;}if(item.IsDynamic&&item.DrawAfterTitle===true)item.Draw();}if(this.EnableAnimation){for(var i=0;i<this.ExtendChartPaint.length;++i)//动画
1785
- {var item=this.ExtendChartPaint[i];if(item.IsAnimation===true)item.Draw();}}for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)continue;if(item.IsDrawMain&&item.IsDrawMain())continue;item.Draw();}if(this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.Status!=10){this.CurrentChartDrawPicture.Draw();}if(this.LastMouseStatus.MouseOnToolbar)//工具栏按钮提示信息
1785
+ {var item=this.ExtendChartPaint[i];if(item.IsAnimation===true)item.Draw();}}for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)continue;if(item.IsDrawMain&&item.IsDrawMain())continue;item.Draw(moveonPoint,this.LastMouseStatus);}if(this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.Status!=10){this.CurrentChartDrawPicture.Draw();}if(this.LastMouseStatus.MouseOnToolbar)//工具栏按钮提示信息
1786
1786
  {var frame=this.LastMouseStatus.MouseOnToolbar.Frame;if(frame&&frame.DrawToolbarTooltip)frame.DrawToolbarTooltip(this.LastMouseStatus.MouseOnToolbar);}this.OffscreenToShowCanvas();++this.TouchDrawCount;};this.DrawAnimation=function()//绘制动画 如弹幕
1787
1787
  {if(!this.EnableAnimation)return;if(this.Frame.ScreenImageData&&!this.IsOnTouch){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsAnimation===true)item.IsMoveStep=true;//移动弹幕
1788
1788
  }this.DrawDynamicInfo();}var self=this;window.requestAnimationFrame(function(){self.DrawAnimation();});};this.StartAnimation=function(option){var bCreated=false;//是否已经创建了弹幕画法
@@ -2090,7 +2090,7 @@ this.ToolbarButtonStyle=g_JSChartResource.ToolbarButtonStyle;this.CloseWindowBut
2090
2090
  this.DrawPicture={BGColor:g_JSChartResource.DrawPicture.XYCoordinate.BGColor,TextBGColor:g_JSChartResource.DrawPicture.XYCoordinate.TextBGColor,TextColor:g_JSChartResource.DrawPicture.XYCoordinate.TextColor,Font:g_JSChartResource.DrawPicture.XYCoordinate.Font};this.IChartFramePainting_ReloadResource=this.ReloadResource;this.ReloadResource=function(resource){this.IChartFramePainting_ReloadResource(resource);if(!resource){this.ToolbarButtonStyle=g_JSChartResource.ToolbarButtonStyle;this.CloseWindowButton=CloneData(g_JSChartResource.Buttons.CloseWindow);this.OverlayIndexButton=CloneData(g_JSChartResource.Buttons.OverlayIndex);this.ChangeIndexButton=CloneData(g_JSChartResource.Buttons.ChangeIndex);this.ModifyIndexParamButton=CloneData(g_JSChartResource.Buttons.ModifyIndexParam);this.MaxMinWindowButton=CloneData(g_JSChartResource.Buttons.MaxMinWindow);this.TitleWindowButton=CloneData(g_JSChartResource.Buttons.TitleWindow);this.ButtonTooltip=CloneData(g_JSChartResource.Buttons.Tooltip);}};this.DrawFrame=function(){if(this.XPointCount>0){var dInterval=this.ChartBorder.GetWidth()/(6*this.XPointCount);//分6份, 数据4 间距2
2091
2091
  this.DistanceWidth=2*dInterval;this.DataWidth=4*dInterval;}this.DrawHorizontal();this.DrawVertical();};this.DrawTitleButton=function(aryButton,moveonPoint,mouseStatus){var border=this.GetBorder();if(this.IsHScreen){var y=border.Bottom-3;var x=border.RightTitle+this.ChartBorder.TitleHeight/2;this.Canvas.save();this.Canvas.translate(x,y);this.Canvas.rotate(90*Math.PI/180);//底部开始画
2092
2092
  var yButton=0,xButton=0,bottom=0;for(var i=0;i<aryButton.length;++i){var item=aryButton[i];var size=item.Style.Size;var xButton=bottom-size-item.Style.MerginLeft;var font=size+'px '+item.Style.Family;var color=item.Style.Color;this.Canvas.fillStyle=color;this.Canvas.font=font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,xButton,0);var rtButton={Left:x-size/2,Right:x+size/2,Bottom:y,Width:size,Height:size+item.Style.MerginLeft};rtButton.Top=rtButton.Bottom-size-item.Style.MerginLeft;this.Buttons.push({ID:item.ID,Rect:rtButton});bottom=xButton;y=rtButton.Top;}this.Canvas.restore();}else{var right=border.Right-3;var left=border.Left;var yButton=border.Top+this.ChartBorder.TitleHeight/2;//右往左绘制
2093
- for(var i=0;i<aryButton.length;++i){var item=aryButton[i];var size=item.Style.Size;var xBotton=right-size-item.Style.MerginLeft;var font=size+'px '+item.Style.Family;var rtButton={Left:xBotton,Top:yButton-size/2,Right:xBotton+size+item.Style.MerginLeft,Bottom:yButton+size/2,Width:size+item.Style.MerginLeft,Height:size};var color=item.Style.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=item.Style.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={Rect:rtButton,Item:item,Frame:this,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}this.Canvas.fillStyle=color;this.Canvas.font=font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,xBotton,yButton);this.Buttons.push({ID:item.ID,Rect:rtButton});right=xBotton;}}};this.DrawToolbarTooltip=function(mouseOnToolbar){if(!mouseOnToolbar)return;var border=this.GetBorder();var text=null;if(mouseOnToolbar.Item.TooltipText){text=mouseOnToolbar.Item.TooltipText;}else{var key='Toolbar-'+mouseOnToolbar.Item.ID;text=g_JSChartLocalization.GetText(key,0);}if(!text)return;var pixelRatio=GetDevicePixelRatio();var xCenter=mouseOnToolbar.Rect.Left+mouseOnToolbar.Rect.Width/2;this.Canvas.font=this.ButtonTooltip.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";var textWidth=this.Canvas.measureText(text).width+8;var textHeight=this.GetFontHeight();var bgHeight=textHeight+8;if(JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID==mouseOnToolbar.Item.ID){var x=mouseOnToolbar.Rect.Right+5;var y=mouseOnToolbar.Rect.Top;}else{var x=xCenter-textWidth/2;var y=border.Top-bgHeight;if(y<0)y=border.TopEx+1;if(x+textWidth>border.ChartWidth)x=border.ChartWidth-textWidth-2;}this.Canvas.fillStyle=this.ButtonTooltip.ColorBG;this.Canvas.fillRect(x,y,textWidth,bgHeight);//画一个背景色, 不然是一个黑的背景
2093
+ for(var i=0;i<aryButton.length;++i){var item=aryButton[i];var size=item.Style.Size;var xBotton=right-size-item.Style.MerginLeft;var font=size+'px '+item.Style.Family;var rtButton={Left:xBotton,Top:yButton-size/2,Right:xBotton+size+item.Style.MerginLeft,Bottom:yButton+size/2,Width:size+item.Style.MerginLeft,Height:size};var color=item.Style.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=item.Style.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={Rect:rtButton,Item:item,Frame:this,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}this.Canvas.fillStyle=color;this.Canvas.font=font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,xBotton,yButton);this.Buttons.push({ID:item.ID,Rect:rtButton});right=xBotton;}}};this.DrawToolbarTooltip=function(mouseOnToolbar){if(!mouseOnToolbar)return;var border=this.GetBorder();var text=null;if(mouseOnToolbar.Item.TooltipText){text=mouseOnToolbar.Item.TooltipText;}else{var key='Toolbar-'+mouseOnToolbar.Item.ID;text=g_JSChartLocalization.GetText(key,0);}if(!text)return;var pixelRatio=GetDevicePixelRatio();var xCenter=mouseOnToolbar.Rect.Left+mouseOnToolbar.Rect.Width/2;this.Canvas.font=this.ButtonTooltip.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";var textWidth=this.Canvas.measureText(text).width+8;var textHeight=this.GetFontHeight();var bgHeight=textHeight+10;if(JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID==mouseOnToolbar.Item.ID){var x=mouseOnToolbar.Rect.Right+5;var y=mouseOnToolbar.Rect.Top;}else if(JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE==mouseOnToolbar.Item.ID||JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING==mouseOnToolbar.Item.ID){var x=mouseOnToolbar.Point.X;var y=mouseOnToolbar.Point.Y+20;if(x+textWidth>=border.ChartWidth)x=border.ChartWidth-textWidth-2;}else{var x=xCenter-textWidth/2;var y=border.Top-bgHeight;if(y<0)y=border.TopEx+1;if(x+textWidth>border.ChartWidth)x=border.ChartWidth-textWidth-2;}this.Canvas.fillStyle=this.ButtonTooltip.ColorBG;this.Canvas.fillRect(x,y,textWidth,bgHeight);//画一个背景色, 不然是一个黑的背景
2094
2094
  this.Canvas.fillStyle=this.ButtonTooltip.Color;this.Canvas.fillText(text,x+4,y+bgHeight/2);};//isLimit 是否限制在当前坐标下
2095
2095
  this.GetYFromData=function(value,isLimit){if(this.Logarithmic&&this.GetYLogarithmicFromData){return this.GetYLogarithmicFromData(value,isLimit);}if(isLimit===false){if(this.CoordinateType==1){var height=this.ChartBorder.GetHeightEx()*(value-this.HorizontalMin)/(this.HorizontalMax-this.HorizontalMin);return this.ChartBorder.GetTopEx()+height;}else{var height=this.ChartBorder.GetHeightEx()*(value-this.HorizontalMin)/(this.HorizontalMax-this.HorizontalMin);return this.ChartBorder.GetBottomEx()-height;}}else{if(this.CoordinateType==1){if(value<=this.HorizontalMin)return this.ChartBorder.GetTopEx();if(value>=this.HorizontalMax)return this.ChartBorder.GetBottomEx();var height=this.ChartBorder.GetHeightEx()*(value-this.HorizontalMin)/(this.HorizontalMax-this.HorizontalMin);return this.ChartBorder.GetTopEx()+height;}else{if(value<=this.HorizontalMin)return this.ChartBorder.GetBottomEx();if(value>=this.HorizontalMax)return this.ChartBorder.GetTopEx();var height=this.ChartBorder.GetHeightEx()*(value-this.HorizontalMin)/(this.HorizontalMax-this.HorizontalMin);return this.ChartBorder.GetBottomEx()-height;}}};//画Y轴
2096
2096
  this.DrawHorizontal=function(){this.RightTextMaxWidth=0;if(!IFrameSplitOperator.IsNonEmptyArray(this.HorizontalInfo))return;if(this.ChartBorder.IsShowTitleOnly)return;var border=this.ChartBorder.GetBorder();var left=border.Left;var right=border.Right;var bottom=border.Bottom;var top=this.ChartBorder.GetTopTitle();var borderRight=this.ChartBorder.Right;var borderLeft=this.ChartBorder.Left;var isDrawLeft=borderLeft>10&&this.IsShowYText[0]===true&&this.YTextPosition[0]!=2;var isDrawRight=borderRight>10&&this.IsShowYText[1]===true&&this.YTextPosition[1]!=2;var yPrev=null;//上一个坐标y的值
@@ -4166,8 +4166,8 @@ if(callAuctionData.Ver==3.0&&IFrameSplitOperator.IsNumber(item.AvPrice)){if(rang
4166
4166
  this.GetMultiDayBeforeOpenData=function(){if(!this.MultiDayBeforeOpenData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))return null;if(!this.DayOffset)return this.MultiDayBeforeOpenData;if(!IFrameSplitOperator.IsNumber(this.DayOffset.Offset)||!IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))return null;if(this.GlobalOption&&this.GlobalOption.IsValueFullRange===true)return this.MultiDayBeforeOpenData;var showCount=this.DayOffset.ShowDayCount;var offset=this.DayOffset.Offset;var aryData=this.MultiDayBeforeOpenData.slice(offset,offset+showCount);return aryData;};this.GetMultiDayAfterCloseData=function(){if(!this.MultiDayAfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return null;if(!this.DayOffset)return this.MultiDayAfterCloseData;if(!IFrameSplitOperator.IsNumber(this.DayOffset.Offset)||!IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))return null;if(this.GlobalOption&&this.GlobalOption.IsValueFullRange===true)return this.MultiDayAfterCloseData;var showCount=this.DayOffset.ShowDayCount;var offset=this.DayOffset.Offset;var aryData=this.MultiDayAfterCloseData.slice(offset,offset+showCount);return aryData;};this.GetMaxMin=function()//计算图中所有的数据的最大最小值
4167
4167
  {var max=this.YClose;var min=this.YClose;var data=this.Data;var isBerforeData=false;if(this.SourceData){data=this.SourceData;isBerforeData=true;}if(this.DayCount>1)//多日
4168
4168
  {var offset=this.DayOffset.DataOffset;var showDataCount=this.DayOffset.ShowDataCount;if(this.GlobalOption&&this.GlobalOption.IsValueFullRange===true){offset=0;showDataCount=data.Data.length;}for(var i=offset,j=0;i<data.Data.length&&j<showDataCount;++i,++j){var value=null;if(isBerforeData){var item=data.Data[i];if(item.Before)value=item.Before.Close;else value=item.Close;}else{value=data.Data[i];}if(value==null)continue;if(max<value)max=value;if(min>value)min=value;}if(this.AverageData){for(var i=offset,j=0;i<this.AverageData.Data.length&&j<showDataCount;++i,++j){if(this.AverageData.Data[i]==null)continue;if(max<this.AverageData.Data[i])max=this.AverageData.Data[i];if(min>this.AverageData.Data[i])min=this.AverageData.Data[i];}}}else{for(var i=0;i<data.Data.length;++i){var value=null;if(isBerforeData){var item=data.Data[i];if(item.Before)value=item.Before.Close;else value=item.Close;}else{value=data.Data[i];}if(value==null)continue;if(max<value)max=value;if(min>value)min=value;}if(this.AverageData){for(var i=0;i<this.AverageData.Data.length;++i){if(this.AverageData.Data[i]==null)continue;if(max<this.AverageData.Data[i])max=this.AverageData.Data[i];if(min>this.AverageData.Data[i])min=this.AverageData.Data[i];}}}for(var i in this.OverlayChartPaint){var item=this.OverlayChartPaint[i];//if (item.Status!=OVERLAY_STATUS_ID.STATUS_FINISHED_ID) continue;
4169
- var range=item.GetMaxMin();if(range.Max&&range.Max>max)max=range.Max;if(range.Min&&range.Min<min)min=range.Min;}if(this.SplitType==1&&this.LimitPrice){if(max<this.LimitPrice.Max)max=this.LimitPrice.Max;if(min>this.LimitPrice.Min)min=this.LimitPrice.Min;}if(IFrameSplitOperator.IsNumber(this.High)&&IFrameSplitOperator.IsNumber(this.Low)){if(max<this.High)max=this.High;if(min>this.Low)min=this.Low;}var range={Max:null,Min:null};if(this.IsAfterData&&this.AfterCloseData){this.GetCallAuctionMaxMin(this.AfterCloseData,range);}if(this.IsBeforeData&&this.BeforeOpenData){this.GetCallAuctionMaxMin(this.BeforeOpenData,range);}var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();if(multiDayBeforeOpenData&&this.ChartBorder.MultiDayMinute.Count>1&&this.ChartBorder.MultiDayMinute.Left>0){for(var i=0;i<multiDayBeforeOpenData.length;++i){var dayItem=multiDayBeforeOpenData[i];this.GetCallAuctionMaxMin(dayItem,range);}}var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();if(multiDayAfterCloseData&&this.ChartBorder.MultiDayMinute.Count>1&&this.ChartBorder.MultiDayMinute.Right>0){for(var i=0;i<multiDayAfterCloseData.length;++i){var dayItem=multiDayAfterCloseData[i];this.GetCallAuctionMaxMin(dayItem,range);}}//叠加指标
4170
- var overlayRange=this.GetOverlayMaxMin();if(overlayRange){if(IFrameSplitOperator.IsNumber(overlayRange.Max)&&overlayRange.Max>range.Max)range.Max=overlayRange.Max;if(IFrameSplitOperator.IsNumber(overlayRange.Min)&&overlayRange.Min<range.Min)range.Min=overlayRange.Min;}if(IFrameSplitOperator.IsNumber(range.Max)&&max<range.Max)max=range.Max;if(IFrameSplitOperator.IsNumber(range.Min)&&min>range.Min)min=range.Min;return{Max:max,Min:min};};//获取共享Y轴叠加指标最大,最小值
4169
+ var range=item.GetMaxMin();if(range.Max&&range.Max>max)max=range.Max;if(range.Min&&range.Min<min)min=range.Min;}if(this.SplitType==1&&this.LimitPrice){if(max<this.LimitPrice.Max)max=this.LimitPrice.Max;if(min>this.LimitPrice.Min)min=this.LimitPrice.Min;}if(IFrameSplitOperator.IsNumber(this.High)&&IFrameSplitOperator.IsNumber(this.Low)){if(max<this.High)max=this.High;if(min>this.Low)min=this.Low;}var range={Max:null,Min:null};if(this.IsAfterData&&this.AfterCloseData){this.GetCallAuctionMaxMin(this.AfterCloseData,range);}if(this.IsBeforeData&&this.BeforeOpenData){this.GetCallAuctionMaxMin(this.BeforeOpenData,range);}var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();if(multiDayBeforeOpenData&&this.ChartBorder.MultiDayMinute.Count>1&&this.ChartBorder.MultiDayMinute.Left>0){for(var i=0;i<multiDayBeforeOpenData.length;++i){var dayItem=multiDayBeforeOpenData[i];this.GetCallAuctionMaxMin(dayItem,range);}}var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();if(multiDayAfterCloseData&&this.ChartBorder.MultiDayMinute.Count>1&&this.ChartBorder.MultiDayMinute.Right>0){for(var i=0;i<multiDayAfterCloseData.length;++i){var dayItem=multiDayAfterCloseData[i];this.GetCallAuctionMaxMin(dayItem,range);}}if(IFrameSplitOperator.IsNumber(range.Max)&&max<range.Max)max=range.Max;if(IFrameSplitOperator.IsNumber(range.Min)&&min>range.Min)min=range.Min;//叠加指标
4170
+ var overlayRange=this.GetOverlayMaxMin();if(overlayRange){if(IFrameSplitOperator.IsNumber(overlayRange.Max)&&overlayRange.Max>max)max=overlayRange.Max;if(IFrameSplitOperator.IsNumber(overlayRange.Min)&&overlayRange.Min<min)min=overlayRange.Min;}return{Max:max,Min:min};};//获取共享Y轴叠加指标最大,最小值
4171
4171
  this.GetOverlayMaxMin=function(){if(!this.HQChart)return null;if(!this.HQChart.Frame||!this.HQChart.Frame.SubFrame)return null;var subFrame=this.HQChart.Frame.SubFrame[0];if(!subFrame)return null;if(!IFrameSplitOperator.IsNonEmptyArray(subFrame.OverlayIndex))return null;var range={Max:null,Min:null};for(var i=0;i<subFrame.OverlayIndex.length;++i){var item=subFrame.OverlayIndex[i];if(!item||!item.Frame)continue;var overlayFrame=item.Frame;if(overlayFrame.IsShareY!=true)continue;if(overlayFrame.IsCalculateYMaxMin===false)continue;//叠加坐标Y轴不调整
4172
4172
  for(var j=0;j<item.ChartPaint.length;++j){var paint=item.ChartPaint[j];var value=paint.GetMaxMin();if(value==null||value.Max==null||value.Min==null)continue;if(range.Max==null||range.Max<value.Max)range.Max=value.Max;if(range.Min==null||range.Min>value.Min)range.Min=value.Min;}}return range;};this.USASplit=function(range){var max=range.Max;var min=range.Min;if(max==min){max=max+max*0.1;min=min-min*0.1;}else{var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
4173
4173
  var height=this.Frame.ChartBorder.GetHeight();//画布的高度
@@ -4665,11 +4665,12 @@ this.Super_ExportStorageData=this.ExportStorageData;this.Label;//{Text:文本, P
4665
4665
  this.LineWidth=1;this.Precision=2;//小数位数
4666
4666
  this.ValueTextColor='rgb(250,250,250)';this.IsShowCorssCursor=true;//画的时候是否显示十字光标
4667
4667
  this.Button={CloseIcon:{Text:'\uE62B',Color:'rgb(255,255,255)',Family:"iconfont",Size:16},SettingIcon:{Text:'\uE623',Color:'rgb(255,255,255)',Family:"iconfont",Size:16}};this.AryButton=[];this.ExtendData;//扩展数据
4668
- this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.Label){var item=option.Label;if(IFrameSplitOperator.IsNumber(item.Position)&&item.Text){this.Label={Text:item.Text,Position:item.Position};}}if(IFrameSplitOperator.IsNumber(option.Precision))this.Precision=option.Precision;if(option.Font)this.Font=option.Font;if(option.Button){var item=option.Button;if(item.CloseIcon)this.Button.CloseIcon=CloneData(item.CloseIcon);if(item.SettingIcon)this.Button.SettingIcon=CloneData(item.SettingIcon);}if(option.ExtendData)this.ExtendData=option.ExtendData;}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.Label)storageData.Label=this.Label;}return storageData;};this.PointCount=1;this.ClassName='ChartDrawHLine';this.IsPointIn=this.IsPointIn_XYValue_Line;this.Font=14*GetDevicePixelRatio()+"px 微软雅黑";this.GetXYCoordinate=function(){if(this.IsFrameMinSize())return null;var drawPoint=this.CalculateDrawPoint();return this.PointRange(drawPoint);};this.Draw=function(){this.LinePoint=[];this.AryButton=[];if(this.IsFrameMinSize())return;var drawPoint=this.CalculateDrawPoint();if(!drawPoint||drawPoint.length!=1)return;if(!this.Frame)return;if(this.Value.length!=1)return;if(!this.IsYValueInFrame(this.Value[0].YValue))return null;var isHScreen=this.Frame.IsHScreen;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();if(isHScreen){left=this.Frame.ChartBorder.GetTop();right=this.Frame.ChartBorder.GetBottom();}this.ClipFrame();//画线段
4668
+ this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.Label){var item=option.Label;if(IFrameSplitOperator.IsNumber(item.Position)&&item.Text){this.Label={Text:item.Text,Position:item.Position};}}if(IFrameSplitOperator.IsNumber(option.Precision))this.Precision=option.Precision;if(option.Font)this.Font=option.Font;if(option.Button){var item=option.Button;if(item.CloseIcon)this.Button.CloseIcon=CloneData(item.CloseIcon);if(item.SettingIcon)this.Button.SettingIcon=CloneData(item.SettingIcon);}if(option.ExtendData)this.ExtendData=option.ExtendData;}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.Label)storageData.Label=this.Label;}return storageData;};this.PointCount=1;this.ClassName='ChartDrawHLine';this.IsPointIn=this.IsPointIn_XYValue_Line;this.Font=14*GetDevicePixelRatio()+"px 微软雅黑";this.GetXYCoordinate=function(){if(this.IsFrameMinSize())return null;var drawPoint=this.CalculateDrawPoint();return this.PointRange(drawPoint);};this.Draw=function(moveonPoint,mouseStatus){this.LinePoint=[];this.AryButton=[];if(this.IsFrameMinSize())return;var drawPoint=this.CalculateDrawPoint();if(!drawPoint||drawPoint.length!=1)return;if(!this.Frame)return;if(this.Value.length!=1)return;if(!this.IsYValueInFrame(this.Value[0].YValue))return null;var isHScreen=this.Frame.IsHScreen;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();if(isHScreen){left=this.Frame.ChartBorder.GetTop();right=this.Frame.ChartBorder.GetBottom();}this.ClipFrame();//画线段
4669
4669
  this.Canvas.strokeStyle=this.LineColor;this.SetLineWidth();this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(drawPoint[0].X,left);this.Canvas.lineTo(drawPoint[0].X,right);}else{this.Canvas.moveTo(left,ToFixedPoint(drawPoint[0].Y));this.Canvas.lineTo(right,ToFixedPoint(drawPoint[0].Y));}this.Canvas.stroke();this.RestoreLineWidth();var line={Start:new Point(),End:new Point()};if(isHScreen){line.Start.X=drawPoint[0].X;line.Start.Y=left;line.End.X=drawPoint[0].X;line.End.Y=right;}else{line.Start.X=left;line.Start.Y=drawPoint[0].Y;line.End.X=right;line.End.Y=drawPoint[0].Y;}this.LinePoint.push(line);//画点
4670
4670
  this.DrawPoint(drawPoint);//描述信息
4671
4671
  this.DrawLab(drawPoint[0].Y);this.Canvas.restore();//显示价格
4672
- this.DrawValueText(drawPoint[0].Y);};this.DrawLab=function(y){if(!this.Label||!this.Label.Text)return;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;this.Canvas.fillStyle=this.LineColor;var textWidth=this.Canvas.measureText(this.Label.Text).width;if(this.Label.Position==0){var textLeft=left;}else if(this.Label.Position==1){var textLeft=right-textWidth-2;}else{var textLeft=(right-left)/2-textWidth/2;}this.Canvas.fillText(this.Label.Text,textLeft,y);};this.DrawValueText=function(y){var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var yValue=this.Frame.GetYData(y);var strValue=yValue.toFixed(this.Precision);this.Canvas.fillStyle=this.LineColor;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(strValue).width;var lineHeight=this.GetFontHeight();var btnWidth=lineHeight+2;var rtBG={Left:right,Top:y-lineHeight/2,Width:textWidth+4+btnWidth*2,Height:lineHeight};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Bottom=rtBG.Top+rtBG.Height;this.Canvas.fillRect(ToFixedPoint(rtBG.Left),ToFixedPoint(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));this.Canvas.fillStyle=this.ValueTextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(strValue,rtBG.Left+2,y);this.DrawButton(rtBG.Top,rtBG.Left+4+textWidth,lineHeight,lineHeight);};this.DrawButton=function(drawTop,drawLeft,drawWidth,drawHeight,data){this.Canvas.fillStyle=this.LineColor;var left=drawLeft;var pixelRatio=GetDevicePixelRatio();var spaceWidth=3;if(this.Button.SettingIcon){var rtButtom={Left:left,Top:drawTop,Width:drawWidth,Height:drawHeight};var yCenter=rtButtom.Top+spaceWidth+(rtButtom.Height-spaceWidth*2)/2;var xCenter=rtButtom.Left+spaceWidth+(rtButtom.Width-spaceWidth*2)/2;var icon=this.Button.SettingIcon;this.Canvas.font=icon.Size*pixelRatio+'px '+icon.Family;this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=icon.Color;this.Canvas.fillText(this.Button.SettingIcon.Text,xCenter,yCenter);this.AryButton.push({Rect:rtButtom,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING});left+=drawWidth;}if(this.Button.CloseIcon){var rtButtom={Left:left,Top:drawTop,Width:drawWidth,Height:drawHeight};var yCenter=rtButtom.Top+spaceWidth+(rtButtom.Height-spaceWidth*2)/2;var xCenter=rtButtom.Left+spaceWidth+(rtButtom.Width-spaceWidth*2)/2;var icon=this.Button.CloseIcon;this.Canvas.font=icon.Size*pixelRatio+'px '+icon.Family;this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=icon.Color;this.Canvas.fillText(this.Button.CloseIcon.Text,xCenter,yCenter);this.AryButton.push({Rect:rtButtom,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE});left+=drawWidth;}};this.PtInButtons=function(x,y){for(var i=0;i<this.AryButton.length;++i){var item=this.AryButton[i];if(!item.Rect)continue;var rect=item.Rect;this.Canvas.beginPath();this.Canvas.rect(rect.Left,rect.Top,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){return{ID:item.ID,Rect:rect};}}return null;};}//趋势线
4672
+ this.DrawValueText(drawPoint[0].Y);//鼠标是否在按钮上
4673
+ if(moveonPoint&&mouseStatus){for(var i=0;i<this.AryButton.length;++i){var item=this.AryButton[i];var rtButton=item.Rect;if(moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){mouseStatus.MouseOnToolbar={Rect:rtButton,Item:item,Frame:this.Frame,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};break;}}}};this.DrawLab=function(y){if(!this.Label||!this.Label.Text)return;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;this.Canvas.fillStyle=this.LineColor;var textWidth=this.Canvas.measureText(this.Label.Text).width;if(this.Label.Position==0){var textLeft=left;}else if(this.Label.Position==1){var textLeft=right-textWidth-2;}else{var textLeft=(right-left)/2-textWidth/2;}this.Canvas.fillText(this.Label.Text,textLeft,y);};this.DrawValueText=function(y){var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var yValue=this.Frame.GetYData(y);var strValue=yValue.toFixed(this.Precision);this.Canvas.fillStyle=this.LineColor;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(strValue).width;var lineHeight=this.GetFontHeight();var btnWidth=lineHeight+2;var rtBG={Left:right,Top:y-lineHeight/2,Width:textWidth+4+btnWidth*2,Height:lineHeight};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Bottom=rtBG.Top+rtBG.Height;this.Canvas.fillRect(ToFixedPoint(rtBG.Left),ToFixedPoint(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));this.Canvas.fillStyle=this.ValueTextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillText(strValue,rtBG.Left+2,y);this.DrawButton(rtBG.Top,rtBG.Left+4+textWidth,lineHeight,lineHeight);};this.DrawButton=function(drawTop,drawLeft,drawWidth,drawHeight,data){this.Canvas.fillStyle=this.LineColor;var left=drawLeft;var pixelRatio=GetDevicePixelRatio();var spaceWidth=3;if(this.Button.SettingIcon){var rtButton={Left:left,Top:drawTop,Width:drawWidth,Height:drawHeight};rtButton.Right=rtButton.Left+rtButton.Width;rtButton.Bottom=rtButton.Top+rtButton.Height;var yCenter=rtButton.Top+spaceWidth+(rtButton.Height-spaceWidth*2)/2;var xCenter=rtButton.Left+spaceWidth+(rtButton.Width-spaceWidth*2)/2;var icon=this.Button.SettingIcon;this.Canvas.font=icon.Size*pixelRatio+'px '+icon.Family;this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=icon.Color;this.Canvas.fillText(this.Button.SettingIcon.Text,xCenter,yCenter);this.AryButton.push({Rect:rtButton,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING});left+=drawWidth;}if(this.Button.CloseIcon){var rtButton={Left:left,Top:drawTop,Width:drawWidth,Height:drawHeight};rtButton.Right=rtButton.Left+rtButton.Width;rtButton.Bottom=rtButton.Top+rtButton.Height;var yCenter=rtButton.Top+spaceWidth+(rtButton.Height-spaceWidth*2)/2;var xCenter=rtButton.Left+spaceWidth+(rtButton.Width-spaceWidth*2)/2;var icon=this.Button.CloseIcon;this.Canvas.font=icon.Size*pixelRatio+'px '+icon.Family;this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=icon.Color;this.Canvas.fillText(this.Button.CloseIcon.Text,xCenter,yCenter);this.AryButton.push({Rect:rtButton,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE});left+=drawWidth;}};this.PtInButtons=function(x,y){for(var i=0;i<this.AryButton.length;++i){var item=this.AryButton[i];if(!item.Rect)continue;var rect=item.Rect;this.Canvas.beginPath();this.Canvas.rect(rect.Left,rect.Top,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){return{ID:item.ID,Rect:rect};}}return null;};}//趋势线
4673
4674
  function ChartDrawPictureTrendLine(){this.newMethod=IChartDrawPicture;//派生
4674
4675
  this.newMethod();delete this.newMethod;this.ClassName='ChartDrawPictureTrendLine';this.IsPointIn=this.IsPointIn_XYValue_Line;this.GetXYCoordinate=this.GetXYCoordinate_default;this.Draw=function(){this.LinePoint=[];if(this.IsFrameMinSize())return;var drawPoint=this.CalculateDrawPoint({IsCheckX:true,IsCheckY:true});if(!drawPoint||drawPoint.length!=2)return;var ptStart=drawPoint[0];var ptEnd=drawPoint[1];var extendLine=this.CalculateExtendLinePoint(ptStart,ptEnd);this.ClipFrame();this.Canvas.strokeStyle=this.LineColor;this.SetLineWidth();this.Canvas.beginPath();this.Canvas.moveTo(extendLine.Start.X,extendLine.Start.Y);this.Canvas.lineTo(extendLine.End.X,extendLine.End.Y);this.Canvas.stroke();this.RestoreLineWidth();var line={Start:ptStart,End:ptEnd};this.LinePoint.push(line);this.DrawPoint(drawPoint);//画点
4675
4676
  this.Canvas.restore();};}//画图工具-矩形
@@ -5208,7 +5209,7 @@ LANGUAGE_TRADITIONAL_CHINESE_ID:2//繁体中文 TC
5208
5209
  ['不复权',{CN:'不复权',EN:'No Right',TC:'不復權'}],['前复权',{CN:'前复权',EN:'Pro Right',TC:'前復權'}],['后复权',{CN:'后复权',EN:'Post Right',TC:'后復權'}],//week
5209
5210
  ['日',{CN:'日',EN:'Sun.',TC:'日'}],['一',{CN:'一',EN:'Mon.',TC:'壹'}],['二',{CN:'二',EN:'Tues.',TC:'貳'}],['三',{CN:'三',EN:'Wed.',TC:'叁'}],['四',{CN:'四',EN:'Thur.',TC:'肆'}],['五',{CN:'五',EN:'Fri.',TC:'伍'}],['六',{CN:'六',EN:'Sat.',TC:'陸'}],['1月',{CN:'1月',EN:'Jan',TC:'1月'}],['2月',{CN:'2月',EN:'Feb',TC:'2月'}],['3月',{CN:'3月',EN:'Mar',TC:'3月'}],['4月',{CN:'4月',EN:'Apr',TC:'4月'}],['5月',{CN:'5月',EN:'May',TC:'5月'}],['6月',{CN:'6月',EN:'Jun',TC:'6月'}],['7月',{CN:'7月',EN:'Jul',TC:'7月'}],['8月',{CN:'8月',EN:'Aug',TC:'8月'}],['9月',{CN:'9月',EN:'Sept',TC:'9月'}],['10月',{CN:'10月',EN:'Oct',TC:'10月'}],['11月',{CN:'11月',EN:'Nov',TC:'11月'}],['12月',{CN:'12月',EN:'Dec',TC:'12月'}],['自定义分钟',{CN:'分',EN:'Min',TC:'分'}],['自定义日线',{CN:'日',EN:'D',TC:'日'}],['自定义秒',{CN:'秒',EN:'S',TC:'秒'}],["MVol-Vol",{CN:"成交量",EN:"Volume",TC:'成交量'}],["MVol-Position",{CN:"持仓量",EN:"Position",TC:'持倉量'}],//深度图
5210
5211
  ["Depth-Price",{CN:"委托价",EN:"Price",TC:'委托價'}],["Depth-Sum",{CN:"累计",EN:"Sum",TC:'累計'}],//工具栏提示信息
5211
- ["Toolbar-"+JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,{CN:"调整指标参数",EN:"Change indicator parameters",TC:"调整指标参数"}],["Toolbar-"+JSCHART_BUTTON_ID.CHANGE_INDEX,{CN:"选择指标",EN:"Change indicator",TC:"切换指标"}],["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,{CN:"关闭窗口",EN:"Delete window",TC:"关闭指标窗口"}],["Toolbar-"+JSCHART_BUTTON_ID.OVERLAY_INDEX,{CN:"叠加指标",EN:"Overlay indicator",TC:"叠加指标"}],["Toolbar-"+JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM,{CN:"调整叠加指标参数",EN:"Change overlay indicator parameters",TC:"调整叠加指标参数"}],["Toolbar-"+JSCHART_BUTTON_ID.MAX_MIN_WINDOW,{CN:"最大化",EN:"Maximize",TC:"最大化"}],["Toolbar-"+JSCHART_BUTTON_ID.TITLE_WINDOW,{CN:"折叠窗口",EN:"Collapse window",TC:"折叠窗口"}],["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID,{CN:"关闭集合竞价",EN:"Close call auction",TC:"关闭集合竞价"}],["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX,{CN:"关闭叠加指标",EN:"Delte overlay indicator",TC:"关闭叠加指标"}],["Toolbar-"+JSCHART_BUTTON_ID.CHIP_RECENT,{CN:"近期成本分布",EN:"Recent chip",TC:"近期成本分布"}],["Toolbar-"+JSCHART_BUTTON_ID.CHIP_LONG,{CN:"远期成本分布",EN:"Long chip",TC:"远期成本分布"}],["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT,{CN:"默认筹码分布",EN:"Default chip",TC:"默认筹码分布"}]]);this.GetText=function(key,language){var item=this.TextResource.get(key);if(!item)return'';switch(language){case JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID:return item.CN;case JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID:return item.EN;case JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID:return item.TC;default:return item.CN;}};this.SetTextResource=function(key,value){this.TextResource.set(key,value);};this.GetLanguageID=function(languageName){var languageID=null;switch(languageName){case'EN':languageID=JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID;break;case'CN':languageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;break;case"TC":languageID=JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID;break;default:break;}return languageID;};};var g_JSChartLocalization=new JSChartLocalization();/*
5212
+ ["Toolbar-"+JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,{CN:"调整指标参数",EN:"Change indicator parameters",TC:"调整指标参数"}],["Toolbar-"+JSCHART_BUTTON_ID.CHANGE_INDEX,{CN:"选择指标",EN:"Change indicator",TC:"切换指标"}],["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,{CN:"关闭窗口",EN:"Delete window",TC:"关闭指标窗口"}],["Toolbar-"+JSCHART_BUTTON_ID.OVERLAY_INDEX,{CN:"叠加指标",EN:"Overlay indicator",TC:"叠加指标"}],["Toolbar-"+JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM,{CN:"调整叠加指标参数",EN:"Change overlay indicator parameters",TC:"调整叠加指标参数"}],["Toolbar-"+JSCHART_BUTTON_ID.MAX_MIN_WINDOW,{CN:"最大化",EN:"Maximize",TC:"最大化"}],["Toolbar-"+JSCHART_BUTTON_ID.TITLE_WINDOW,{CN:"折叠窗口",EN:"Collapse window",TC:"折叠窗口"}],["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID,{CN:"关闭集合竞价",EN:"Close call auction",TC:"关闭集合竞价"}],["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX,{CN:"关闭叠加指标",EN:"Delte overlay indicator",TC:"关闭叠加指标"}],["Toolbar-"+JSCHART_BUTTON_ID.CHIP_RECENT,{CN:"近期成本分布",EN:"Recent chip",TC:"近期成本分布"}],["Toolbar-"+JSCHART_BUTTON_ID.CHIP_LONG,{CN:"远期成本分布",EN:"Long chip",TC:"远期成本分布"}],["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT,{CN:"默认筹码分布",EN:"Default chip",TC:"默认筹码分布"}],["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE,{CN:"删除",EN:"Delete",TC:"删除"}],["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING,{CN:"设置",EN:"Setting",TC:"设置"}]]);this.GetText=function(key,language){var item=this.TextResource.get(key);if(!item)return'';switch(language){case JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID:return item.CN;case JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID:return item.EN;case JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID:return item.TC;default:return item.CN;}};this.SetTextResource=function(key,value){this.TextResource.set(key,value);};this.GetLanguageID=function(languageName){var languageID=null;switch(languageName){case'EN':languageID=JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID;break;case'CN':languageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;break;case"TC":languageID=JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID;break;default:break;}return languageID;};};var g_JSChartLocalization=new JSChartLocalization();/*
5212
5213
  指标列表 指标信息都在这里,不够后面再加字段
5213
5214
  */function JSIndexMap(){}JSIndexMap.Get=function(id){var indexMap=new _map2.default([//公司自己的指标
5214
5215
  ["市场多空",{IsMainIndex:false,Create:function Create(){return new MarketLongShortIndex();}}],["市场择时",{IsMainIndex:false,Create:function Create(){return new MarketTimingIndex();}}],["市场关注度",{IsMainIndex:false,Create:function Create(){return new MarketAttentionIndex();}}],["指数热度",{IsMainIndex:false,Create:function Create(){return new MarketHeatIndex();}}],["财务粉饰",{IsMainIndex:false,Create:function Create(){return new BenfordIndex();}}],["自定义指数热度",{IsMainIndex:false,Create:function Create(){return new CustonIndexHeatIndex();},Name:'自定义指数热度'}],//废弃
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.11607",
5
+ "version": "1.1.11611",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -8854,7 +8854,7 @@ function JSChartContainer(uielement, OffscreenElement)
8854
8854
  if (item.IsDrawFirst) continue;
8855
8855
  if (item.IsDrawMain && item.IsDrawMain()) continue;
8856
8856
 
8857
- item.Draw();
8857
+ item.Draw(moveonPoint, this.LastMouseStatus);
8858
8858
  }
8859
8859
 
8860
8860
  if (this.CurrentChartDrawPicture && this.CurrentChartDrawPicture.Status!=10)
@@ -12440,12 +12440,19 @@ function AverageWidthFrame()
12440
12440
 
12441
12441
  var textWidth=this.Canvas.measureText(text).width+8;
12442
12442
  var textHeight=this.GetFontHeight();
12443
- var bgHeight=textHeight+8;
12443
+ var bgHeight=textHeight+10;
12444
12444
  if (JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID==mouseOnToolbar.Item.ID)
12445
12445
  {
12446
12446
  var x=mouseOnToolbar.Rect.Right+5;
12447
12447
  var y=mouseOnToolbar.Rect.Top;
12448
12448
  }
12449
+ else if (JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE==mouseOnToolbar.Item.ID || JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING==mouseOnToolbar.Item.ID)
12450
+ {
12451
+ var x=mouseOnToolbar.Point.X;
12452
+ var y=mouseOnToolbar.Point.Y+20;
12453
+
12454
+ if ((x+textWidth)>=border.ChartWidth) x=border.ChartWidth-textWidth-2;
12455
+ }
12449
12456
  else
12450
12457
  {
12451
12458
  var x=xCenter-textWidth/2;
@@ -42828,18 +42835,19 @@ function FrameSplitMinutePriceY()
42828
42835
  this.GetCallAuctionMaxMin(dayItem,range);
42829
42836
  }
42830
42837
  }
42831
-
42832
- //叠加指标
42833
- var overlayRange=this.GetOverlayMaxMin();
42834
- if (overlayRange)
42835
- {
42836
- if (IFrameSplitOperator.IsNumber(overlayRange.Max) && overlayRange.Max>range.Max) range.Max=overlayRange.Max;
42837
- if (IFrameSplitOperator.IsNumber(overlayRange.Min) && overlayRange.Min<range.Min) range.Min=overlayRange.Min;
42838
- }
42839
-
42838
+
42840
42839
  if (IFrameSplitOperator.IsNumber(range.Max) && max<range.Max) max=range.Max;
42841
42840
  if (IFrameSplitOperator.IsNumber(range.Min) && min>range.Min) min=range.Min;
42842
42841
 
42842
+ //叠加指标
42843
+ var overlayRange=this.GetOverlayMaxMin();
42844
+ if (overlayRange)
42845
+ {
42846
+ if (IFrameSplitOperator.IsNumber(overlayRange.Max) && overlayRange.Max>max) max=overlayRange.Max;
42847
+ if (IFrameSplitOperator.IsNumber(overlayRange.Min) && overlayRange.Min<min) min=overlayRange.Min;
42848
+ }
42849
+
42850
+
42843
42851
  return { Max:max, Min:min };
42844
42852
  }
42845
42853
 
@@ -49488,7 +49496,7 @@ function ChartDrawHLine()
49488
49496
  return this.PointRange(drawPoint);
49489
49497
  }
49490
49498
 
49491
- this.Draw=function()
49499
+ this.Draw=function(moveonPoint, mouseStatus)
49492
49500
  {
49493
49501
  this.LinePoint=[];
49494
49502
  this.AryButton=[];
@@ -49552,7 +49560,22 @@ function ChartDrawHLine()
49552
49560
  this.Canvas.restore();
49553
49561
 
49554
49562
  //显示价格
49555
- this.DrawValueText(drawPoint[0].Y);
49563
+ this.DrawValueText(drawPoint[0].Y);
49564
+
49565
+ //鼠标是否在按钮上
49566
+ if (moveonPoint && mouseStatus)
49567
+ {
49568
+ for(var i=0;i<this.AryButton.length;++i)
49569
+ {
49570
+ var item=this.AryButton[i];
49571
+ var rtButton=item.Rect;
49572
+ if (moveonPoint.X>=rtButton.Left && moveonPoint.X<rtButton.Right && moveonPoint.Y>=rtButton.Top && moveonPoint.Y<=rtButton.Bottom)
49573
+ {
49574
+ mouseStatus.MouseOnToolbar={ Rect:rtButton, Item:item, Frame:this.Frame, Point:{X:moveonPoint.X, Y:moveonPoint.Y} };
49575
+ break;
49576
+ }
49577
+ }
49578
+ }
49556
49579
  }
49557
49580
 
49558
49581
  this.DrawLab=function(y)
@@ -49620,9 +49643,11 @@ function ChartDrawHLine()
49620
49643
 
49621
49644
  if (this.Button.SettingIcon)
49622
49645
  {
49623
- var rtButtom={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49624
- var yCenter=(rtButtom.Top+spaceWidth)+(rtButtom.Height-spaceWidth*2)/2;
49625
- var xCenter=(rtButtom.Left+spaceWidth)+(rtButtom.Width-spaceWidth*2)/2;
49646
+ var rtButton={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49647
+ rtButton.Right=rtButton.Left+rtButton.Width;
49648
+ rtButton.Bottom=rtButton.Top+rtButton.Height;
49649
+ var yCenter=(rtButton.Top+spaceWidth)+(rtButton.Height-spaceWidth*2)/2;
49650
+ var xCenter=(rtButton.Left+spaceWidth)+(rtButton.Width-spaceWidth*2)/2;
49626
49651
 
49627
49652
  var icon=this.Button.SettingIcon;
49628
49653
  this.Canvas.font=`${icon.Size*pixelRatio}px ${icon.Family}`;
@@ -49631,16 +49656,18 @@ function ChartDrawHLine()
49631
49656
  this.Canvas.fillStyle=icon.Color;
49632
49657
  this.Canvas.fillText(this.Button.SettingIcon.Text,xCenter,yCenter);
49633
49658
 
49634
- this.AryButton.push({Rect:rtButtom, ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING});
49659
+ this.AryButton.push({Rect:rtButton, ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING});
49635
49660
 
49636
49661
  left+=drawWidth;
49637
49662
  }
49638
49663
 
49639
49664
  if (this.Button.CloseIcon)
49640
49665
  {
49641
- var rtButtom={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49642
- var yCenter=(rtButtom.Top+spaceWidth)+(rtButtom.Height-spaceWidth*2)/2;
49643
- var xCenter=(rtButtom.Left+spaceWidth)+(rtButtom.Width-spaceWidth*2)/2;
49666
+ var rtButton={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49667
+ rtButton.Right=rtButton.Left+rtButton.Width;
49668
+ rtButton.Bottom=rtButton.Top+rtButton.Height;
49669
+ var yCenter=(rtButton.Top+spaceWidth)+(rtButton.Height-spaceWidth*2)/2;
49670
+ var xCenter=(rtButton.Left+spaceWidth)+(rtButton.Width-spaceWidth*2)/2;
49644
49671
 
49645
49672
  var icon=this.Button.CloseIcon;
49646
49673
  this.Canvas.font=`${icon.Size*pixelRatio}px ${icon.Family}`;
@@ -49649,7 +49676,7 @@ function ChartDrawHLine()
49649
49676
  this.Canvas.fillStyle=icon.Color;
49650
49677
  this.Canvas.fillText(this.Button.CloseIcon.Text,xCenter,yCenter);
49651
49678
 
49652
- this.AryButton.push({Rect:rtButtom,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE });
49679
+ this.AryButton.push({Rect:rtButton,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE });
49653
49680
 
49654
49681
  left+=drawWidth;
49655
49682
  }
@@ -56220,10 +56247,10 @@ function JSChartLocalization()
56220
56247
  ["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX, {CN:"关闭叠加指标", EN:"Delte overlay indicator", TC:"关闭叠加指标"}],
56221
56248
  ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_RECENT, {CN:"近期成本分布", EN:"Recent chip", TC:"近期成本分布"}],
56222
56249
  ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_LONG, {CN:"远期成本分布", EN:"Long chip", TC:"远期成本分布"}],
56223
- ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT, {CN:"默认筹码分布", EN:"Default chip", TC:"默认筹码分布"}]
56250
+ ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT, {CN:"默认筹码分布", EN:"Default chip", TC:"默认筹码分布"}],
56251
+ ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE, {CN:"删除", EN:"Delete", TC:"删除"}],
56252
+ ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING, {CN:"设置", EN:"Setting", TC:"设置"}]
56224
56253
 
56225
-
56226
-
56227
56254
  ]);
56228
56255
 
56229
56256
  this.GetText=function(key,language)
@@ -8898,7 +8898,7 @@ function JSChartContainer(uielement, OffscreenElement)
8898
8898
  if (item.IsDrawFirst) continue;
8899
8899
  if (item.IsDrawMain && item.IsDrawMain()) continue;
8900
8900
 
8901
- item.Draw();
8901
+ item.Draw(moveonPoint, this.LastMouseStatus);
8902
8902
  }
8903
8903
 
8904
8904
  if (this.CurrentChartDrawPicture && this.CurrentChartDrawPicture.Status!=10)
@@ -12484,12 +12484,19 @@ function AverageWidthFrame()
12484
12484
 
12485
12485
  var textWidth=this.Canvas.measureText(text).width+8;
12486
12486
  var textHeight=this.GetFontHeight();
12487
- var bgHeight=textHeight+8;
12487
+ var bgHeight=textHeight+10;
12488
12488
  if (JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID==mouseOnToolbar.Item.ID)
12489
12489
  {
12490
12490
  var x=mouseOnToolbar.Rect.Right+5;
12491
12491
  var y=mouseOnToolbar.Rect.Top;
12492
12492
  }
12493
+ else if (JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE==mouseOnToolbar.Item.ID || JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING==mouseOnToolbar.Item.ID)
12494
+ {
12495
+ var x=mouseOnToolbar.Point.X;
12496
+ var y=mouseOnToolbar.Point.Y+20;
12497
+
12498
+ if ((x+textWidth)>=border.ChartWidth) x=border.ChartWidth-textWidth-2;
12499
+ }
12493
12500
  else
12494
12501
  {
12495
12502
  var x=xCenter-textWidth/2;
@@ -42872,18 +42879,19 @@ function FrameSplitMinutePriceY()
42872
42879
  this.GetCallAuctionMaxMin(dayItem,range);
42873
42880
  }
42874
42881
  }
42875
-
42876
- //叠加指标
42877
- var overlayRange=this.GetOverlayMaxMin();
42878
- if (overlayRange)
42879
- {
42880
- if (IFrameSplitOperator.IsNumber(overlayRange.Max) && overlayRange.Max>range.Max) range.Max=overlayRange.Max;
42881
- if (IFrameSplitOperator.IsNumber(overlayRange.Min) && overlayRange.Min<range.Min) range.Min=overlayRange.Min;
42882
- }
42883
-
42882
+
42884
42883
  if (IFrameSplitOperator.IsNumber(range.Max) && max<range.Max) max=range.Max;
42885
42884
  if (IFrameSplitOperator.IsNumber(range.Min) && min>range.Min) min=range.Min;
42886
42885
 
42886
+ //叠加指标
42887
+ var overlayRange=this.GetOverlayMaxMin();
42888
+ if (overlayRange)
42889
+ {
42890
+ if (IFrameSplitOperator.IsNumber(overlayRange.Max) && overlayRange.Max>max) max=overlayRange.Max;
42891
+ if (IFrameSplitOperator.IsNumber(overlayRange.Min) && overlayRange.Min<min) min=overlayRange.Min;
42892
+ }
42893
+
42894
+
42887
42895
  return { Max:max, Min:min };
42888
42896
  }
42889
42897
 
@@ -49532,7 +49540,7 @@ function ChartDrawHLine()
49532
49540
  return this.PointRange(drawPoint);
49533
49541
  }
49534
49542
 
49535
- this.Draw=function()
49543
+ this.Draw=function(moveonPoint, mouseStatus)
49536
49544
  {
49537
49545
  this.LinePoint=[];
49538
49546
  this.AryButton=[];
@@ -49596,7 +49604,22 @@ function ChartDrawHLine()
49596
49604
  this.Canvas.restore();
49597
49605
 
49598
49606
  //显示价格
49599
- this.DrawValueText(drawPoint[0].Y);
49607
+ this.DrawValueText(drawPoint[0].Y);
49608
+
49609
+ //鼠标是否在按钮上
49610
+ if (moveonPoint && mouseStatus)
49611
+ {
49612
+ for(var i=0;i<this.AryButton.length;++i)
49613
+ {
49614
+ var item=this.AryButton[i];
49615
+ var rtButton=item.Rect;
49616
+ if (moveonPoint.X>=rtButton.Left && moveonPoint.X<rtButton.Right && moveonPoint.Y>=rtButton.Top && moveonPoint.Y<=rtButton.Bottom)
49617
+ {
49618
+ mouseStatus.MouseOnToolbar={ Rect:rtButton, Item:item, Frame:this.Frame, Point:{X:moveonPoint.X, Y:moveonPoint.Y} };
49619
+ break;
49620
+ }
49621
+ }
49622
+ }
49600
49623
  }
49601
49624
 
49602
49625
  this.DrawLab=function(y)
@@ -49664,9 +49687,11 @@ function ChartDrawHLine()
49664
49687
 
49665
49688
  if (this.Button.SettingIcon)
49666
49689
  {
49667
- var rtButtom={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49668
- var yCenter=(rtButtom.Top+spaceWidth)+(rtButtom.Height-spaceWidth*2)/2;
49669
- var xCenter=(rtButtom.Left+spaceWidth)+(rtButtom.Width-spaceWidth*2)/2;
49690
+ var rtButton={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49691
+ rtButton.Right=rtButton.Left+rtButton.Width;
49692
+ rtButton.Bottom=rtButton.Top+rtButton.Height;
49693
+ var yCenter=(rtButton.Top+spaceWidth)+(rtButton.Height-spaceWidth*2)/2;
49694
+ var xCenter=(rtButton.Left+spaceWidth)+(rtButton.Width-spaceWidth*2)/2;
49670
49695
 
49671
49696
  var icon=this.Button.SettingIcon;
49672
49697
  this.Canvas.font=`${icon.Size*pixelRatio}px ${icon.Family}`;
@@ -49675,16 +49700,18 @@ function ChartDrawHLine()
49675
49700
  this.Canvas.fillStyle=icon.Color;
49676
49701
  this.Canvas.fillText(this.Button.SettingIcon.Text,xCenter,yCenter);
49677
49702
 
49678
- this.AryButton.push({Rect:rtButtom, ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING});
49703
+ this.AryButton.push({Rect:rtButton, ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING});
49679
49704
 
49680
49705
  left+=drawWidth;
49681
49706
  }
49682
49707
 
49683
49708
  if (this.Button.CloseIcon)
49684
49709
  {
49685
- var rtButtom={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49686
- var yCenter=(rtButtom.Top+spaceWidth)+(rtButtom.Height-spaceWidth*2)/2;
49687
- var xCenter=(rtButtom.Left+spaceWidth)+(rtButtom.Width-spaceWidth*2)/2;
49710
+ var rtButton={Left:left, Top:drawTop, Width:drawWidth, Height:drawHeight };
49711
+ rtButton.Right=rtButton.Left+rtButton.Width;
49712
+ rtButton.Bottom=rtButton.Top+rtButton.Height;
49713
+ var yCenter=(rtButton.Top+spaceWidth)+(rtButton.Height-spaceWidth*2)/2;
49714
+ var xCenter=(rtButton.Left+spaceWidth)+(rtButton.Width-spaceWidth*2)/2;
49688
49715
 
49689
49716
  var icon=this.Button.CloseIcon;
49690
49717
  this.Canvas.font=`${icon.Size*pixelRatio}px ${icon.Family}`;
@@ -49693,7 +49720,7 @@ function ChartDrawHLine()
49693
49720
  this.Canvas.fillStyle=icon.Color;
49694
49721
  this.Canvas.fillText(this.Button.CloseIcon.Text,xCenter,yCenter);
49695
49722
 
49696
- this.AryButton.push({Rect:rtButtom,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE });
49723
+ this.AryButton.push({Rect:rtButton,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE });
49697
49724
 
49698
49725
  left+=drawWidth;
49699
49726
  }
@@ -56264,10 +56291,10 @@ function JSChartLocalization()
56264
56291
  ["Toolbar-"+JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX, {CN:"关闭叠加指标", EN:"Delte overlay indicator", TC:"关闭叠加指标"}],
56265
56292
  ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_RECENT, {CN:"近期成本分布", EN:"Recent chip", TC:"近期成本分布"}],
56266
56293
  ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_LONG, {CN:"远期成本分布", EN:"Long chip", TC:"远期成本分布"}],
56267
- ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT, {CN:"默认筹码分布", EN:"Default chip", TC:"默认筹码分布"}]
56294
+ ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT, {CN:"默认筹码分布", EN:"Default chip", TC:"默认筹码分布"}],
56295
+ ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE, {CN:"删除", EN:"Delete", TC:"删除"}],
56296
+ ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING, {CN:"设置", EN:"Setting", TC:"设置"}]
56268
56297
 
56269
-
56270
-
56271
56298
  ]);
56272
56299
 
56273
56300
  this.GetText=function(key,language)