hqchart 1.1.15835 → 1.1.15845
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +11 -7
- package/package.json +1 -1
- package/src/jscommon/umychart/umychart.js +64 -18
- package/src/jscommon/umychart/umychart.min.js +1 -1
- package/src/jscommon/umychart.js +63 -17
- package/src/jscommon/umychart.order.js +417 -28
- package/src/jscommon/umychart.resource/css/tools.css +1 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +64 -18
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +64 -18
package/lib/umychart.vue.js
CHANGED
|
@@ -2815,7 +2815,7 @@ this.GetYData=function(y,isLimit){if(this.Logarithmic&&this.GetYLogarithmicFromD
|
|
|
2815
2815
|
{if(isLimit==false){return(y-this.ChartBorder.GetTopEx())/this.ChartBorder.GetHeightEx()*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}else{if(y<this.ChartBorder.GetTopEx())return this.HorizontalMin;if(y>this.ChartBorder.GetBottomEx())return this.HorizontalMax;return(y-this.ChartBorder.GetTopEx())/this.ChartBorder.GetHeightEx()*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}}else{if(isLimit==false){return(this.ChartBorder.GetBottomEx()-y)/this.ChartBorder.GetHeightEx()*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}else{if(y<this.ChartBorder.GetTopEx())return this.HorizontalMax;if(y>this.ChartBorder.GetBottomEx())return this.HorizontalMin;return(this.ChartBorder.GetBottomEx()-y)/this.ChartBorder.GetHeightEx()*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}}};//X坐标转x轴数值
|
|
2816
2816
|
this.GetXData=function(x){if(x<=this.ChartBorder.GetLeft())return 0;if(x>=this.ChartBorder.GetRight())return this.XPointCount;return(x-this.ChartBorder.GetLeft())*(this.XPointCount*1.0/this.ChartBorder.GetWidth());};//选中的画图工具X,Y轴坐标信息
|
|
2817
2817
|
this.DrawPictureXCoordinate=function(drawPicture,range,option){if(this.IsHScreen)return;if(!range)return;if(!IFrameSplitOperator.IsNonEmptyArray(range.Points))return;var border=this.GetBorder();var left=border.Left;var right=border.Right;this.Canvas.font=this.DrawPicture.Font;var fontHeight=this.GetFontHeight();this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";if(range.X){var xRange=range.X;var xLeft=xRange.Min.X;var xRight=xRange.Max.X;if(xLeft<left)xLeft=left;if(xRight>right)xRight=right;this.Canvas.fillStyle=this.DrawPicture.BGColor;this.Canvas.fillRect(xLeft,border.Bottom,xRight-xLeft,fontHeight);}for(var i=0;i<range.Points.length;++i){var item=range.Points[i];if(item.X<left||item.X>right)continue;var index=this.GetXData(item.X,false);var index=Math.round(index);var kItem=this.GetKItem(index);if(kItem){var text=IFrameSplitOperator.FormatDateString(kItem.Date,null);if(ChartData.IsMinutePeriod(option.Period))text+=" "+IFrameSplitOperator.FormatTimeString(kItem.Time,"HH:MM");else if(ChartData.IsMilliSecondPeriod(option.Period))text+=" "+IFrameSplitOperator.FormatTimeString(kItem.Time,"HH:MM:SS.fff");var textWidth=this.Canvas.measureText(text).width+2;var textLeft=item.X-textWidth/2;if(textLeft<left)textLeft=left;this.Canvas.fillStyle=this.DrawPicture.TextBGColor;this.Canvas.fillRect(textLeft,border.Bottom,textWidth,fontHeight);this.Canvas.fillStyle=this.DrawPicture.TextColor;var yCenter=border.Bottom+fontHeight;this.Canvas.fillText(text,textLeft+1,yCenter);}}};this.GetKItem=function(currentIndex){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var index=this.Data.DataOffset+currentIndex;return this.Data.Data[index];};this.DrawPictureYCoordinate=function(drawPicture,range,option){if(this.IsHScreen)return;if(!range)return;if(!IFrameSplitOperator.IsNonEmptyArray(range.Points))return;var border=this.GetBorder();var top=border.TopEx;var bottom=border.BottomEx;var right=border.Right;this.Canvas.font=this.DrawPicture.Font;var fontHeight=this.GetFontHeight();this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";var defaultfloatPrecision=2;if(option&&option.Symbol)defaultfloatPrecision=GetfloatPrecision(option.Symbol);var textWidth=0;for(var i=0;i<range.Points.length;++i){var item=range.Points[i];var Value=this.GetYData(item.Y);var text=Value.toFixed(defaultfloatPrecision);var value=this.Canvas.measureText(text).width;if(textWidth<value)textWidth=value;range.Points[i].Text=text;}textWidth+=this.YTextPadding[1]+2;if(range.Y){var yRange=range.Y;var yTop=yRange.Min.Y;var yBottom=yRange.Max.Y;if(yRange.Min.Y<top)yTop=top;if(yRange.Max.Y>bottom)yBottom=bottom;this.Canvas.fillStyle=this.DrawPicture.BGColor;this.Canvas.fillRect(right,yTop,textWidth+5,yBottom-yTop);}for(var i=0;i<range.Points.length;++i){var item=range.Points[i];if(item.Y<top||item.Y>bottom)continue;this.Canvas.fillStyle=this.DrawPicture.TextBGColor;this.Canvas.fillRect(right,item.Y-fontHeight/2,textWidth,fontHeight);this.Canvas.fillStyle=this.DrawPicture.TextColor;var yText=item.Y+fontHeight/2;this.Canvas.fillText(item.Text,right+this.YTextPadding[1],yText);}};this.DrawPicturePointYCoordinate=function(drawPicture,option){if(this.IsHScreen)return;if(!drawPicture.GetYCoordinatePoint)return;var aryPoint=drawPicture.GetYCoordinatePoint();if(!IFrameSplitOperator.IsNonEmptyArray(aryPoint))return;var border=this.GetBorder();var top=border.TopEx;var bottom=border.BottomEx;var right=border.Right;this.Canvas.font=this.DrawPicture.Font;var fontHeight=this.GetFontHeight();this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";var defaultfloatPrecision=2;if(option&&option.Symbol)defaultfloatPrecision=GetfloatPrecision(option.Symbol);for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(!item)continue;if(item.Y<top||item.Y>bottom)continue;var text=item.YValue.toFixed(defaultfloatPrecision);var textWidth=this.Canvas.measureText(text).width+2;textWidth+=this.YTextPadding[1];this.Canvas.fillStyle=this.DrawPicture.TextBGColor;this.Canvas.fillRect(right,item.Y-fontHeight/2,textWidth,fontHeight);this.Canvas.fillStyle=this.DrawPicture.TextColor;var yText=item.Y+fontHeight/2;this.Canvas.fillText(text,right+this.YTextPadding[1],yText);}};//字体外部设置好
|
|
2818
|
-
this.GetCustomItemTextInfo=function(item,bLeft,pixelTatio){var text=bLeft?item.Message[0]:item.Message[1];var aryText=[];var width=0;if(Array.isArray(text)){for(var i=0;i<text.length;++i){var item=text[i];if(item.Type===1){aryText.push({Type:item.Type});}else{var value=this.Canvas.measureText(text[i].Text).width;if(value>width)width=value;var outItem={Text:text[i].Text,Width:value+2*pixelTatio};if(item.TextColor)outItem.TextColor=item.TextColor;if(item.BGColor)outItem.BGColor=item.BGColor;if(IFrameSplitOperator.IsBool(item.EnableBGColor))outItem.EnableBGColor=item.EnableBGColor;//是否启用背景色
|
|
2818
|
+
this.GetCustomItemTextInfo=function(item,bLeft,pixelTatio){var text=bLeft?item.Message[0]:item.Message[1];var aryText=[];var width=0;if(Array.isArray(text)){for(var i=0;i<text.length;++i){var item=text[i];if(item.Type===1){aryText.push({Type:item.Type});}else{var value=this.Canvas.measureText(text[i].Text).width;if(value>width)width=value;var outItem={Text:text[i].Text,Width:value+2*pixelTatio};if(item.TextColor)outItem.TextColor=item.TextColor;if(item.BGColor)outItem.BGColor=item.BGColor;if(item.Border&&item.Border.Color){outItem.Border={Color:item.Border.Color};if(IFrameSplitOperator.IsNumber(item.Border.Width))outItem.Border.Width=item.Border.Width;}if(IFrameSplitOperator.IsBool(item.EnableBGColor))outItem.EnableBGColor=item.EnableBGColor;//是否启用背景色
|
|
2819
2819
|
aryText.push(outItem);}}if(width>0)width+=2*pixelTatio;}else{width=this.Canvas.measureText(text).width+2*pixelTatio;aryText.push({Text:text,Width:width});}return{MaxWidth:width,Text:aryText};};this.DrawOutRangeCustomItem=function(item,mapTextRect){if(this.IsHScreen===true)return;if(!this.IsShow&&!this.IsYDrawMainFrame)return;if(!item.Message[1]&&!item.Message[0])return;if(!item.OutRange)return;var position=0;//1=top 2=bottom
|
|
2820
2820
|
if(item.Value>this.HorizontalMax)position=1;else if(item.Value<this.HorizontalMin)position=2;else return;this.Canvas.save();var outRange=item.OutRange;var border=this.GetBorder();var left=border.Left;var right=border.Right;var bottom=border.Bottom;var top=border.Top;var borderRight=this.ChartBorder.Right;var borderLeft=this.ChartBorder.Left;var titleHeight=this.ChartBorder.TitleHeight;if(this.IsHScreen){borderLeft=this.ChartBorder.Top;borderRight=this.ChartBorder.Bottom;top=border.Top;bottom=border.Bottom;}var pixelTatio=GetDevicePixelRatio();var defaultTextHeight=18*pixelTatio;var textHeight=defaultTextHeight;if(item.Message[0]&&borderLeft>=10){if(item.Font!=null)this.Canvas.font=item.Font;var textInfo=this.GetCustomItemTextInfo(item,true,pixelTatio);var textWidth=textInfo.MaxWidth;var itemLeft=left-textWidth;var fontHeight=this.GetFontHeight();var textHeight=fontHeight>defaultTextHeight?fontHeight:defaultTextHeight;this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";var yText=null;if(position==1){yText=border.TopEx;if(IFrameSplitOperator.IsNumber(outRange.TopYOffset))yText+=outRange.TopYOffset;}else if(position==2){yText=border.BottomEx+textHeight;if(IFrameSplitOperator.IsNumber(outRange.BottomYOffset))yText+=outRange.BottomYOffset;}for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];var rtBG={Left:itemLeft,Width:itemText.Width,Bottom:yText,Height:textHeight};rtBG.Top=rtBG.Bottom-rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;if(item.ExtendLine&&item.ExtendLine[0])//右侧延长线
|
|
2821
2821
|
{var exLine=item.ExtendLine[0];if(IFrameSplitOperator.IsNumber(exLine.Width)){var yLine=rtBG.Bottom;if(position==2)yLine=rtBG.Top;var lineType=item.LineType;if(IFrameSplitOperator.IsNumber(outRange.ExtendLine.Type))lineType=outRange.ExtendLine.Type;if(i==0)this.DrawLine(left,left-exLine.Width,yLine,item.LineColor,lineType,item);rtBG.Left-=exLine.Width;rtBG.Right-=exLine.Width;}}this.Canvas.fillStyle=outRange.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);if(outRange.Border&&outRange.Border.Color){if(IFrameSplitOperator.IsNonEmptyArray(outRange.Border.LineDash))this.Canvas.setLineDash(outRange.Border.LineDash);//虚线
|
|
@@ -2837,7 +2837,7 @@ var yText=y;for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i
|
|
|
2837
2837
|
if(itemText.TextColor)this.Canvas.fillStyle=itemText.TextColor;else this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft+1*pixelTatio,yText);if(i==0)this.DrawLine(left,textLeft,yText,item.LineColor,item.LineType,item);yText+=textHeight+1*pixelTatio;}}}if(item.Type==3||item.Type==4){if(item.Title){var width=this.Canvas.measureText(item.Title).width+2*pixelTatio;if(this.IsHScreen){var bgTop=bottom-itemText.Width-width;var textLeft=y-textHeight/2-1*pixelTatio;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,textHeight,width);this.DrawHScreenText({X:y,Y:bgTop},{Text:item.Title,Color:item.TextColor,XOffset:1*pixelTatio,YOffset:2*pixelTatio});}else{var bgTop=y-textHeight/2-1*pixelTatio;var textLeft=right-textWidth-width-1*pixelTatio;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,width,textHeight);this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(item.Title,textLeft+1*pixelTatio,y);}}}}else{if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";var textInfo=this.GetCustomItemTextInfo(item,false,pixelTatio);var textWidth=textInfo.MaxWidth;var fontHeight=this.GetFontHeight();textHeight=fontHeight>defaultTextHeight?fontHeight:defaultTextHeight;var preTextRect=null;if(mapTextRect&&mapTextRect.has(3))preTextRect=mapTextRect.get(3);var yText=y;var rtText={};for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];if(this.IsHScreen){var bgTop=bottom;//bgTop+=(textWidth-itemText.Width);
|
|
2838
2838
|
var textLeft=yText-textHeight/2-1*pixelTatio;this.Canvas.fillStyle=item.LineColor;this.Canvas.fillRect(textLeft,bgTop,textHeight,itemText.Width);this.DrawHScreenText({X:yText,Y:bgTop},{Text:itemText.Text,Color:item.TextColor,XOffset:1*pixelTatio,YOffset:2*pixelTatio});if(i==0)this.DrawLine(top,bgTop,yText,item.LineColor,item.LineType,item);yText-=textHeight+1*pixelTatio;}else{if(itemText.Type===1){if(this.GetEventCallback){var bgTop=yText-textHeight/2-1*pixelTatio;var sendData={Top:bgTop,Left:right,Right:this.ChartBorder.GetChartWidth(),Height:null,IsShow:true,BGColor:item.LineColor,TextColor:item.TextColor,PixelTatio:pixelTatio,Position:"Right",IsInside:false};if(this.SendDrawCountDownEvent(sendData)){if(IFrameSplitOperator.IsPlusNumber(sendData.Height))yText+=textHeight+1*pixelTatio;}}}else{var bgTop=yText-textHeight/2-1*pixelTatio;if(i==0&&textInfo.Text.length==0){var textLeft=right;rtText.Left=textLeft;if(preTextRect&&bgTop<preTextRect.Rect.Bottom){yText=preTextRect.Rect.Bottom;bgTop=yText-textHeight/2-1*pixelTatio;}}else{var textLeft=right+textWidth-itemText.Width;}if(item.ExtendLine&&item.ExtendLine[1])//右侧延长线
|
|
2839
2839
|
{var exLine=item.ExtendLine[1];if(IFrameSplitOperator.IsNumber(exLine.Width)){var lineType=item.LineType;if(IFrameSplitOperator.IsNumber(exLine.Type))lineType=exLine.Type;//外部设置延长线样式
|
|
2840
|
-
if(i==0)this.DrawLine(right,textLeft+exLine.Width,y,item.LineColor,lineType,item);textLeft+=exLine.Width;}}if(emptyBGColor){this.Canvas.fillStyle=emptyBGColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width+1,textHeight);this.Canvas.strokeStyle=item.LineColor;this.Canvas.strokeRect(ToFixedPoint(textLeft),ToFixedPoint(bgTop),ToFixedRect(itemText.Width+1),ToFixedRect(textHeight));this.Canvas.fillStyle=item.LineColor;this.Canvas.fillText(itemText.Text,textLeft+2*pixelTatio,yText);}else{var textBGColor=item.LineColor;if(itemText.BGColor)textBGColor=itemText.BGColor;this.Canvas.fillStyle=textBGColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);if(itemText.TextColor)this.Canvas.fillStyle=itemText.TextColor;else this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft+1*pixelTatio,yText);}if(i==0)this.DrawLine(left,right,y,item.LineColor,item.LineType,item);if(item.ClickData)//点击事件
|
|
2840
|
+
if(i==0)this.DrawLine(right,textLeft+exLine.Width,y,item.LineColor,lineType,item);textLeft+=exLine.Width;}}if(emptyBGColor){this.Canvas.fillStyle=emptyBGColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width+1,textHeight);this.Canvas.strokeStyle=item.LineColor;this.Canvas.strokeRect(ToFixedPoint(textLeft),ToFixedPoint(bgTop),ToFixedRect(itemText.Width+1),ToFixedRect(textHeight));this.Canvas.fillStyle=item.LineColor;this.Canvas.fillText(itemText.Text,textLeft+2*pixelTatio,yText);}else{var textBGColor=item.LineColor;if(itemText.BGColor)textBGColor=itemText.BGColor;this.Canvas.fillStyle=textBGColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);if(itemText.Border&&itemText.Border.Color){this.Canvas.strokeStyle=itemText.Border.Color;this.Canvas.strokeRect(ToFixedPoint(textLeft),ToFixedPoint(bgTop),ToFixedRect(itemText.Width+1),ToFixedRect(textHeight));}if(itemText.TextColor)this.Canvas.fillStyle=itemText.TextColor;else this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft+1*pixelTatio,yText);}if(i==0)this.DrawLine(left,right,y,item.LineColor,item.LineType,item);if(item.ClickData)//点击事件
|
|
2841
2841
|
this.AddHorizontalLabel(textLeft,bgTop,itemText.Width,textHeight,item,i);yText+=textHeight+1*pixelTatio;rtText.Bottom=yText;}}}if(mapTextRect&&IFrameSplitOperator.IsNumber(rtText.Left)&&IFrameSplitOperator.IsNumber(rtText.Bottom)){mapTextRect.set(3,{Rect:rtText,Item:item});}if(item.Type==3||item.Type==4){if(item.Title){var bgColor=item.LineColor;var rgb=this.RGBToStruct(item.LineColor);if(rgb)bgColor='rgba('+rgb.R+', '+rgb.G+', '+rgb.B+', '+g_JSChartResource.FrameLatestPrice.BGAlpha+')';//内部刻度 背景增加透明度
|
|
2842
2842
|
var width=this.Canvas.measureText(item.Title).width+2*pixelTatio;if(this.IsHScreen){var bgTop=bottom-width;var textLeft=y-textHeight/2-1*pixelTatio;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,textHeight,width);this.DrawHScreenText({X:y,Y:bgTop},{Text:item.Title,Color:item.TextColor,XOffset:1*pixelTatio,YOffset:2*pixelTatio});}else{var bgTop=y-textHeight/2-1*pixelTatio;var textLeft=right-width-1*pixelTatio;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,width,textHeight);this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(item.Title,textLeft+1*pixelTatio,y);}}}}}};this.AddHorizontalLabel=function(left,top,width,height,item,lineID){var rtLabel={Left:left,Top:top,Width:width,Height:height};rtLabel.Right=rtLabel.Left+rtLabel.Width;rtLabel.Bottom=rtLabel.Top+rtLabel.Height;var lableItem={Rect:rtLabel,Item:item,ID:item.ClickData.ID,Args:item.ClickData.Args,LineID:lineID};this.HorizontalLabel.push(lableItem);};this.DrawCustomAreaItem=function(item)//自定义Y轴区域
|
|
2843
2843
|
{if(!item.AreaData)return;if(this.IsHScreen)return;//暂时不支持横屏
|
|
@@ -2980,6 +2980,7 @@ this.MaxMinWindow=g_JSChartResource.KLineToolbar.MaxMinWindow;this.TitleWindow=g
|
|
|
2980
2980
|
this.AddIndexWindow=g_JSChartResource.KLineToolbar.AddIndexWindow;//是否显示'增加指标窗口'菜单
|
|
2981
2981
|
this.IndexHelp=g_JSChartResource.KLineToolbar.IndexHelp;this.IndexAIAnalyze=g_JSChartResource.KLineToolbar.IndexAIAnalyze;this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;this.ReDrawToolbar=false;this.LastCalculateStatus={Width:0,XPointCount:0};//最后一次计算宽度的状态
|
|
2982
2982
|
this.CustomHorizontalInfo=[];//定制Y轴刻度
|
|
2983
|
+
this.SystemHorizontalInfo=[];//外部联动系统Y轴刻度
|
|
2983
2984
|
this.IsDrawTitleBG=g_JSChartResource.KLineToolbar.IsDrawTitleBG;this.IsShowNameArrow=g_JSChartResource.KLineToolbar.IsShowNameArrow;this.CustomVerticalInfo=[];//定制X轴刻度 Type:0, Date:, Time: , Line:{ Color:线段颜色, Type:线段类型 0 直线 1 虚线 }
|
|
2984
2985
|
// Type:1, Space: 第几个空白间距, Line:{ Color:线段颜色, Type:线段类型 0 直线 1 虚线 }
|
|
2985
2986
|
this.DrawCustomVerticalEvent;this.RightSpaceCount=0;this.Logarithmic=null;//{Up:上部 , Donw:下部 , OpenPrice:第一个开盘价}
|
|
@@ -3045,14 +3046,16 @@ JSConsole.Chart.Log('[KLineFrame::ZoomDown] Show all data. XPointCount='+xPointC
|
|
|
3045
3046
|
{var moveOffset=xPointCount-this.XPointCount+1;var leftOffset=parseInt(cursorIndex.Index/this.XPointCount*moveOffset);var rightOffset=moveOffset-leftOffset;var dataOffset=this.Data.DataOffset-leftOffset;if(dataOffset+(xPointCount-this.RightSpaceCount)>=dataCount)dataOffset=this.Data.DataOffset-moveOffset;}this.XPointCount=xPointCount;this.Data.DataOffset=dataOffset;if(this.Data.DataOffset<0)this.Data.DataOffset=0;JSConsole.Chart.Log('[KLineFrame::ZoomDown] calculate. XPointCount='+xPointCount+' ZoomIndex='+this.ZoomIndex+' DataCount= '+dataCount+' DataOffset='+this.Data.DataOffset);}this.DataWidth=ZOOM_SEED[this.ZoomIndex][0];this.DistanceWidth=ZOOM_SEED[this.ZoomIndex][1];if(!isShowAll){var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;this.TrimKLineDataWidth(width);}this.LastCalculateStatus.XPointCount=this.XPointCount;cursorIndex.Index=lastCursorIndex-this.Data.DataOffset;return true;};this.GetFrameWidth=function(){if(this.IsHScreen){var border=this.ChartBorder.GetHScreenBorder();return border.BottomEx-border.TopEx;//return this.ChartBorder.GetHeight();
|
|
3046
3047
|
}else{var border=this.ChartBorder.GetBorder();return border.RightEx-border.LeftEx;//return this.ChartBorder.GetWidth();
|
|
3047
3048
|
}};this.DrawCustomHorizontal=function()//Y轴刻度定制显示
|
|
3048
|
-
{if(this.IsMinSize)return;if(this.ChartBorder.IsShowTitleOnly)return;if(
|
|
3049
|
+
{if(this.IsMinSize)return;if(this.ChartBorder.IsShowTitleOnly)return;if(IFrameSplitOperator.IsNonEmptyArray(this.CustomHorizontalInfo)){var aryHorizontal=this.CustomHorizontalInfo.slice();aryHorizontal.sort(function(left,right){return right.Value-left.Value;});var mapTextRect=new _map2.default();//key=position(1=左外 2=左内, 3=右外 4=右内), value:{ Rect:, Item: }
|
|
3049
3050
|
for(var i=0;i<aryHorizontal.length;++i){var item=aryHorizontal[i];switch(item.Type){case 0://最新价格刻度
|
|
3050
3051
|
case 1://固定价格刻度
|
|
3051
3052
|
this.DrawCustomItem(item,mapTextRect);break;case 2://当前屏最后一个K线价格刻度
|
|
3052
3053
|
case 3://主图K线涨幅刻度
|
|
3053
3054
|
case 4://叠加K线涨幅刻度
|
|
3054
3055
|
case 10://自定义的
|
|
3055
|
-
this.DrawCustomItem(item,mapTextRect);break;}}}
|
|
3056
|
+
this.DrawCustomItem(item,mapTextRect);break;}}}//外部联动Y轴刻度显示
|
|
3057
|
+
if(IFrameSplitOperator.IsNonEmptyArray(this.SystemHorizontalInfo)){for(var i=0;i<this.SystemHorizontalInfo.length;++i){var item=this.SystemHorizontalInfo[i];if(!item.IsShow)continue;switch(item.Type){case 1://固定价格刻度
|
|
3058
|
+
this.DrawCustomItem(item,mapTextRect);break;}}}};//Y轴面积背景
|
|
3056
3059
|
this.DrawCustomHorizontalArea=function(){if(this.IsMinSize)return;if(this.ChartBorder.IsShowTitleOnly)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.CustomHorizontalInfo))return;for(var i=0;i<this.CustomHorizontalInfo.length;++i){var item=this.CustomHorizontalInfo[i];if(item.Type==5)this.DrawCustomAreaItem(item);}};this.DrawCustomVerticalItem=function(item){this.Canvas.save();if(item.Data.Line.Type==1)this.Canvas.setLineDash([5,5]);//虚线
|
|
3057
3060
|
this.Canvas.strokeStyle=item.Data.Line.Color;this.Canvas.beginPath();if(item.IsHScreen){this.Canvas.moveTo(item.Top,ToFixedPoint(item.X));this.Canvas.lineTo(item.Bottom,ToFixedPoint(item.X));}else{this.Canvas.moveTo(ToFixedPoint(item.X),item.Top);this.Canvas.lineTo(ToFixedPoint(item.X),item.Bottom);}this.Canvas.stroke();this.Canvas.restore();};this.DrawCustomVertical=function()//X轴定制刻度显示
|
|
3058
3061
|
{if(!this.CustomVerticalInfo)return;if(this.CustomVerticalInfo.length<=0)return;if(!this.Data)return;var isHScreen=this.IsHScreen;var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var dataWidth=this.DataWidth;var distanceWidth=this.DistanceWidth;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;if(isHScreen){xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;top=this.ChartBorder.GetLeftEx();bottom=this.ChartBorder.GetRightEx();}var j=0;for(var i=this.Data.DataOffset;i<this.Data.Data.length&&j<this.XPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];for(var k in this.CustomVerticalInfo){var item=this.CustomVerticalInfo[k];if(item.Type!=0)continue;if(IFrameSplitOperator.IsNumber(item.Time)){if(kItem.Date!=item.Date||kItem.Time!=item.Time)continue;}else{if(kItem.Date!=item.Date)continue;}var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;var DrawData={X:x,Top:top,Bottom:bottom,Data:item,IsHScreen:isHScreen};this.DrawCustomVerticalItem(DrawData);if(this.DrawCustomVerticalEvent)this.DrawCustomVerticalEvent.Callback(this.DrawCustomVerticalEvent,DrawData,this);break;}}for(var i=1;j<this.XPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){for(var k in this.CustomVerticalInfo){var item=this.CustomVerticalInfo[k];if(item.Type!=1)continue;if(item.Space!=i)continue;var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;var DrawData={X:x,Top:top,Bottom:bottom,Data:item,IsHScreen:isHScreen};this.DrawCustomVerticalItem(DrawData);if(this.DrawCustomVerticalEvent)this.DrawCustomVerticalEvent.Callback(this.DrawCustomVerticalEvent,DrawData,this);break;}}};this.DrawSelectedBorder=function(option){if(this.Identify===0)return;var border=this.IsHScreen==true?this.ChartBorder.GetHScreenBorder():this.ChartBorder.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);var right=ToFixedPoint(border.Right);var bottom=ToFixedPoint(border.Bottom);var height=bottom-top;this.Canvas.strokeStyle=this.SelBorderColor;if(option.Mode==1){var xRight=ToFixedPoint(border.ChartWidth);this.Canvas.strokeRect(right,top,xRight-right-1,height);//少一个像素让边框显示出来
|
|
@@ -7849,7 +7852,8 @@ LeftMargin:5*GetDevicePixelRatio(),RightMargin:5*GetDevicePixelRatio(),MoveStep:
|
|
|
7849
7852
|
Label:{Color:"rgb(50,50,50)",Font:13*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:10*GetDevicePixelRatio(),Bottom:1,Right:10*GetDevicePixelRatio()}}};this.OrderList={BorderColor:'rgba(192,192,192, 0.3)',//边框线
|
|
7850
7853
|
Header:{Color:"RGB(60,60,60)",Margin:{Left:5,Right:5,Top:2,Bottom:4},Font:{Size:14,Name:"微软雅黑"}},Item:{Margin:{Top:2,Bottom:4,Left:5,Right:5},//单元格四周间距
|
|
7851
7854
|
Font:{Size:15,Name:"微软雅黑"}},FieldColor:{Text:"rgb(60,60,60)"//默认文本
|
|
7852
|
-
},
|
|
7855
|
+
},Footer:{Margin:{Top:4,Bottom:4},Font:{Size:14,Name:"微软雅黑"},ItemMargin:{Top:2,Bottom:4,Left:5,Right:5},ResetButton:{Icon:{LockedText:'\uE6CE',Text:'\uE6E6',Color:'rgb(0,0,0)',Family:"iconfont",Size:18},//BGColor:"rgb(30,144,255)",
|
|
7856
|
+
ArcColor:"rgba(255,224,178,0.8)",MoveOnColor:"rgb(242,242,242)",Size:20}},UpTextColor:"rgb(238,21,21)",//上涨文字颜色
|
|
7853
7857
|
DownTextColor:"rgb(25,158,0)",//下跌文字颜色
|
|
7854
7858
|
UnchagneTextColor:"rgb(0,0,0)",//平盘文字颜色
|
|
7855
7859
|
Selected:{BGColor:"rgb(180,240,240)",LineColor:"rgb(128,128,128)",LineWidth:2},MoveOn:{LineColor:"rgb(55, 131, 250)",LineWidth:2},//自定义颜色
|
|
@@ -10110,7 +10114,7 @@ PyScriptIndex.prototype.GetDefaultColor=function(id){var COLOR_ARRAY=["rgb(255,1
|
|
|
10110
10114
|
*//*
|
|
10111
10115
|
信息地雷列表
|
|
10112
10116
|
*/function JSKLineInfoMap(){}JSKLineInfoMap.InfoMap=new _map2.default([["互动易",{Create:function Create(){return new InvestorInfo();},ClassName:"InvestorInfo"}],["公告",{Create:function Create(){return new AnnouncementInfo();},ClassName:"AnnouncementInfo"}],["业绩预告",{Create:function Create(){return new PforecastInfo();},ClassName:"PforecastInfo"}],["调研",{Create:function Create(){return new ResearchInfo();},ClassName:"ResearchInfo"}],["大宗交易",{Create:function Create(){return new BlockTrading();},ClassName:"BlockTrading"}],["龙虎榜",{Create:function Create(){return new DragonTigerInfo();},ClassName:"DragonTigerInfo"}],["新闻",{Create:function Create(){return new NewsInfo();},ClassName:"NewsInfo"}],['除权',{Create:function Create(){return new DividendInfo();},ClassName:"DividendInfo"}],["扩展信息",{Create:function Create(){return new ExtendInfo();},ClassName:"ExtendInfo"}]]);JSKLineInfoMap.Get=function(id){return JSKLineInfoMap.InfoMap.get(id);};JSKLineInfoMap.GetClassInfo=function(id){return JSKLineInfoMap.Get(id);};JSKLineInfoMap.GetIconUrl=function(type,item){switch(type){case KLINE_INFO_TYPE.INVESTOR:return g_JSChartResource.KLine.Info.Investor.Icon;break;case KLINE_INFO_TYPE.PFORECAST:return g_JSChartResource.KLine.Info.Pforecast.Icon;case KLINE_INFO_TYPE.ANNOUNCEMENT:return g_JSChartResource.KLine.Info.Announcement.Icon;case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_1:case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_2:case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_3:case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_4:return g_JSChartResource.KLine.Info.Announcement.IconQuarter;case KLINE_INFO_TYPE.RESEARCH:return g_JSChartResource.KLine.Info.Research.Icon;case KLINE_INFO_TYPE.BLOCKTRADING:return g_JSChartResource.KLine.Info.BlockTrading.Icon;case KLINE_INFO_TYPE.DRAGON_TIGER:return g_JSChartResource.KLine.Info.DragonTiger.Icon;case KLINE_INFO_TYPE.NEWS:return g_JSChartResource.KLine.Info.News.Icon;case KLINE_INFO_TYPE.DIVIDEND:return g_JSChartResource.KLine.Info.Dividend.Icon;default:return g_JSChartResource.KLine.Info.Announcement.Icon;}};JSKLineInfoMap.GetIconFont=function(type){//公告扩展数据
|
|
10113
|
-
if(type>=KLINE_INFO_TYPE.ANNOUNCEMENT_EX_START&&type<=KLINE_INFO_TYPE.ANNOUNCEMENT_EX_END){var index=type-KLINE_INFO_TYPE.ANNOUNCEMENT_EX_START;var value=g_JSChartResource.KLine.Info.AnnouncementEx.
|
|
10117
|
+
if(type>=KLINE_INFO_TYPE.ANNOUNCEMENT_EX_START&&type<=KLINE_INFO_TYPE.ANNOUNCEMENT_EX_END){var index=type-KLINE_INFO_TYPE.ANNOUNCEMENT_EX_START;var value=g_JSChartResource.KLine.Info.AnnouncementEx.Default;var aryData=g_JSChartResource.KLine.Info.AnnouncementEx.AryIconFont;if(IFrameSplitOperator.IsNonEmptyArray(aryData)&&aryData[index])value=aryData[index];return value;}if(type>=KLINE_INFO_TYPE.EXTEND_INFO_START&&type<=KLINE_INFO_TYPE.EXTEND_INFO_END){var index=type-KLINE_INFO_TYPE.EXTEND_INFO_START;var value=g_JSChartResource.KLine.Info.ExtendInfo.Default;var aryData=g_JSChartResource.KLine.Info.ExtendInfo.AryIconFont;if(IFrameSplitOperator.IsNonEmptyArray(aryData)&&aryData[index])value=aryData[index];return value;}if(type>=KLINE_INFO_TYPE.DRAGON_TIGER_EX_START&&type<=KLINE_INFO_TYPE.DRAGON_TIGER_EX_END){var index=type-KLINE_INFO_TYPE.DRAGON_TIGER_EX_START;var value=g_JSChartResource.KLine.Info.DragonTiger.IconFont;var aryData=g_JSChartResource.KLine.Info.DragonTiger.AryIconFont;if(IFrameSplitOperator.IsNonEmptyArray(aryData)&&aryData[index])value=aryData[index];return value;}switch(type){case KLINE_INFO_TYPE.INVESTOR:return g_JSChartResource.KLine.Info.Investor.IconFont;break;case KLINE_INFO_TYPE.PFORECAST:return g_JSChartResource.KLine.Info.Pforecast.IconFont;case KLINE_INFO_TYPE.ANNOUNCEMENT:return g_JSChartResource.KLine.Info.Announcement.IconFont;case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_1:case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_2:case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_3:case KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_4:return g_JSChartResource.KLine.Info.Announcement.IconFont2;case KLINE_INFO_TYPE.RESEARCH:return g_JSChartResource.KLine.Info.Research.IconFont;case KLINE_INFO_TYPE.BLOCKTRADING:return g_JSChartResource.KLine.Info.BlockTrading.IconFont;case KLINE_INFO_TYPE.DRAGON_TIGER:return g_JSChartResource.KLine.Info.DragonTiger.IconFont;case KLINE_INFO_TYPE.NEWS:return g_JSChartResource.KLine.Info.News.IconFont;case KLINE_INFO_TYPE.DIVIDEND:return g_JSChartResource.KLine.Info.Dividend.IconFont;default:return g_JSChartResource.KLine.Info.Announcement.IconFont;}};function IKLineInfo(){this.MaxRequestDataCount=1000;this.StartDate=20160101;this.Data;this.ClassName='IKLineInfo';this.Explain="IKLineInfo";this.GetToday=function(){var date=new Date();var today=date.getFullYear()*10000+(date.getMonth()+1)*100+date.getDate();return today;};this.Clear=function(){this.Data=[];};this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];if(this.NetworkFilter(hqChart,obj))return;//已被上层替换,不调用默认的网络请求
|
|
10114
10118
|
JSConsole.Chart.Warn('[IKLineInfo::RequestData] '+this.ClassName+' NetworkFilter error.');};this.GetRequestData=function(hqChart){var obj={Symbol:hqChart.Symbol,MaxRequestDataCount:hqChart.MaxRequestDataCount,//日线数据个数
|
|
10115
10119
|
MaxRequestMinuteDayCount:hqChart.MaxRequestMinuteDayCount,//分钟数据请求的天数
|
|
10116
10120
|
Period:hqChart.Period//周期
|
|
@@ -16399,7 +16403,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
|
|
|
16399
16403
|
*/this.Canvas.restore();this.ResizeDataCount(endIndex);};this.ResizeDataCount=function(startIndex){if(!IFrameSplitOperator.IsNumber(startIndex))return;if(startIndex<=0)return;if(this.LimitCount<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;if(this.Data.AryText.length<=this.LimitCount)return;var delCount=this.Data.AryText.length-this.LimitCount;for(var i=0;i<delCount&&i<startIndex;++i){this.Data.AryText.shift();}};this.GetTooltipData=function(x,y,tooltip){var rtClient=this.GetClientRect();if(x>=rtClient.Left&&x<=rtClient.Right){for(var i=0;i<this.AryRect.length;++i){var item=this.AryRect[i];if(Path2DHelper.PtInRect(x,y,item.Rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;return true;}}}return false;};this.ScrollStep=function(defaultStep){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;var moveStep=this.MoveStep;if(IFrameSplitOperator.IsNumber(defaultStep))moveStep=defaultStep;var rtClient=this.GetClientRect();var left=rtClient.Left;var right=rtClient.Right;var width=this.FirstItem.Move.Width;var xOffset=this.FirstItem.Move.XOffset+moveStep;if(right-xOffset+width<left){var startIndex=this.GetDataIndex(this.FirstItem);nextIndex=startIndex-1;if(nextIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};}else{this.FirstItem=this.Data.AryText[nextIndex];this.FirstItem.Move={XOffset:xOffset-width};}}else{this.FirstItem.Move.XOffset=xOffset;}return true;};}/********************************************************************************
|
|
16400
16404
|
* 版本信息输出
|
|
16401
16405
|
*
|
|
16402
|
-
*/var HQCHART_VERSION="1.1.
|
|
16406
|
+
*/var HQCHART_VERSION="1.1.15844";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();//把给外界调用的方法暴露出来
|
|
16403
16407
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16404
16408
|
// BaseIndex:BaseIndex,
|
|
16405
16409
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -20325,6 +20325,11 @@ function AverageWidthFrame()
|
|
|
20325
20325
|
var outItem={ Text:text[i].Text, Width:value+2*pixelTatio };
|
|
20326
20326
|
if (item.TextColor) outItem.TextColor=item.TextColor;
|
|
20327
20327
|
if (item.BGColor) outItem.BGColor=item.BGColor;
|
|
20328
|
+
if (item.Border && item.Border.Color)
|
|
20329
|
+
{
|
|
20330
|
+
outItem.Border={ Color:item.Border.Color };
|
|
20331
|
+
if (IFrameSplitOperator.IsNumber(item.Border.Width)) outItem.Border.Width=item.Border.Width;
|
|
20332
|
+
}
|
|
20328
20333
|
if (IFrameSplitOperator.IsBool(item.EnableBGColor)) outItem.EnableBGColor=item.EnableBGColor; //是否启用背景色
|
|
20329
20334
|
aryText.push(outItem);
|
|
20330
20335
|
}
|
|
@@ -20908,6 +20913,12 @@ function AverageWidthFrame()
|
|
|
20908
20913
|
if (itemText.BGColor) textBGColor=itemText.BGColor;
|
|
20909
20914
|
this.Canvas.fillStyle=textBGColor;
|
|
20910
20915
|
this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);
|
|
20916
|
+
if (itemText.Border && itemText.Border.Color)
|
|
20917
|
+
{
|
|
20918
|
+
this.Canvas.strokeStyle=itemText.Border.Color;
|
|
20919
|
+
this.Canvas.strokeRect(ToFixedPoint(textLeft),ToFixedPoint(bgTop),ToFixedRect(itemText.Width+1),ToFixedRect(textHeight));
|
|
20920
|
+
}
|
|
20921
|
+
|
|
20911
20922
|
if (itemText.TextColor) this.Canvas.fillStyle=itemText.TextColor;
|
|
20912
20923
|
else this.Canvas.fillStyle = item.TextColor;
|
|
20913
20924
|
this.Canvas.fillText(itemText.Text, textLeft + 1*pixelTatio, yText);
|
|
@@ -23786,6 +23797,7 @@ function KLineFrame()
|
|
|
23786
23797
|
this.LastCalculateStatus={ Width:0, XPointCount:0 }; //最后一次计算宽度的状态
|
|
23787
23798
|
|
|
23788
23799
|
this.CustomHorizontalInfo=[]; //定制Y轴刻度
|
|
23800
|
+
this.SystemHorizontalInfo=[]; //外部联动系统Y轴刻度
|
|
23789
23801
|
this.IsDrawTitleBG=g_JSChartResource.KLineToolbar.IsDrawTitleBG;
|
|
23790
23802
|
this.IsShowNameArrow=g_JSChartResource.KLineToolbar.IsShowNameArrow;
|
|
23791
23803
|
|
|
@@ -24716,26 +24728,44 @@ function KLineFrame()
|
|
|
24716
24728
|
{
|
|
24717
24729
|
if (this.IsMinSize) return;
|
|
24718
24730
|
if (this.ChartBorder.IsShowTitleOnly) return;
|
|
24719
|
-
if (!IFrameSplitOperator.IsNonEmptyArray(this.CustomHorizontalInfo)) return;
|
|
24720
24731
|
|
|
24721
|
-
|
|
24722
|
-
aryHorizontal.sort((left, right)=>{ return right.Value-left.Value; });
|
|
24723
|
-
var mapTextRect=new Map(); //key=position(1=左外 2=左内, 3=右外 4=右内), value:{ Rect:, Item: }
|
|
24724
|
-
for(var i=0; i<aryHorizontal.length; ++i)
|
|
24732
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.CustomHorizontalInfo))
|
|
24725
24733
|
{
|
|
24726
|
-
var
|
|
24727
|
-
|
|
24734
|
+
var aryHorizontal=this.CustomHorizontalInfo.slice();
|
|
24735
|
+
aryHorizontal.sort((left, right)=>{ return right.Value-left.Value; });
|
|
24736
|
+
var mapTextRect=new Map(); //key=position(1=左外 2=左内, 3=右外 4=右内), value:{ Rect:, Item: }
|
|
24737
|
+
for(var i=0; i<aryHorizontal.length; ++i)
|
|
24728
24738
|
{
|
|
24729
|
-
|
|
24730
|
-
|
|
24731
|
-
|
|
24732
|
-
|
|
24733
|
-
|
|
24734
|
-
|
|
24735
|
-
|
|
24736
|
-
|
|
24737
|
-
|
|
24739
|
+
var item=aryHorizontal[i];
|
|
24740
|
+
switch(item.Type)
|
|
24741
|
+
{
|
|
24742
|
+
case 0: //最新价格刻度
|
|
24743
|
+
case 1: //固定价格刻度
|
|
24744
|
+
this.DrawCustomItem(item, mapTextRect);
|
|
24745
|
+
break;
|
|
24746
|
+
case 2: //当前屏最后一个K线价格刻度
|
|
24747
|
+
case 3: //主图K线涨幅刻度
|
|
24748
|
+
case 4: //叠加K线涨幅刻度
|
|
24749
|
+
case 10://自定义的
|
|
24750
|
+
this.DrawCustomItem(item, mapTextRect);
|
|
24751
|
+
break;
|
|
24752
|
+
}
|
|
24753
|
+
}
|
|
24754
|
+
}
|
|
24755
|
+
|
|
24756
|
+
//外部联动Y轴刻度显示
|
|
24757
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.SystemHorizontalInfo))
|
|
24758
|
+
{
|
|
24759
|
+
for(var i=0;i<this.SystemHorizontalInfo.length;++i)
|
|
24760
|
+
{
|
|
24761
|
+
var item=this.SystemHorizontalInfo[i];
|
|
24762
|
+
if (!item.IsShow) continue;
|
|
24763
|
+
switch(item.Type)
|
|
24764
|
+
{
|
|
24765
|
+
case 1: //固定价格刻度
|
|
24766
|
+
this.DrawCustomItem(item, mapTextRect);
|
|
24738
24767
|
break;
|
|
24768
|
+
}
|
|
24739
24769
|
}
|
|
24740
24770
|
}
|
|
24741
24771
|
}
|
|
@@ -86452,6 +86482,22 @@ function JSChartResource()
|
|
|
86452
86482
|
Text:"rgb(60,60,60)", //默认文本
|
|
86453
86483
|
},
|
|
86454
86484
|
|
|
86485
|
+
Footer:
|
|
86486
|
+
{
|
|
86487
|
+
Margin:{ Top:4, Bottom:4 },
|
|
86488
|
+
Font:{ Size:14, Name:"微软雅黑" },
|
|
86489
|
+
ItemMargin:{ Top:2, Bottom:4,Left:5, Right:5 },
|
|
86490
|
+
|
|
86491
|
+
ResetButton:
|
|
86492
|
+
{
|
|
86493
|
+
Icon: { LockedText:'\ue6ce', Text:"\ue6e6", Color:'rgb(0,0,0)', Family:"iconfont", Size:18 },
|
|
86494
|
+
//BGColor:"rgb(30,144,255)",
|
|
86495
|
+
ArcColor:"rgba(255,224,178,0.8)",
|
|
86496
|
+
MoveOnColor:"rgb(242,242,242)",
|
|
86497
|
+
Size:20,
|
|
86498
|
+
}
|
|
86499
|
+
},
|
|
86500
|
+
|
|
86455
86501
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
86456
86502
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
86457
86503
|
UnchagneTextColor:"rgb(0,0,0)", //平盘文字颜色
|
|
@@ -109357,7 +109403,7 @@ JSKLineInfoMap.GetIconFont=function(type)
|
|
|
109357
109403
|
if (type>=KLINE_INFO_TYPE.ANNOUNCEMENT_EX_START && type<=KLINE_INFO_TYPE.ANNOUNCEMENT_EX_END)
|
|
109358
109404
|
{
|
|
109359
109405
|
var index=type-KLINE_INFO_TYPE.ANNOUNCEMENT_EX_START;
|
|
109360
|
-
var value=g_JSChartResource.KLine.Info.AnnouncementEx.
|
|
109406
|
+
var value=g_JSChartResource.KLine.Info.AnnouncementEx.Default;
|
|
109361
109407
|
var aryData=g_JSChartResource.KLine.Info.AnnouncementEx.AryIconFont;
|
|
109362
109408
|
if (IFrameSplitOperator.IsNonEmptyArray(aryData) && aryData[index]) value=aryData[index];
|
|
109363
109409
|
|
|
@@ -177379,7 +177425,7 @@ function ChartScrollText()
|
|
|
177379
177425
|
|
|
177380
177426
|
|
|
177381
177427
|
|
|
177382
|
-
var HQCHART_VERSION="1.1.
|
|
177428
|
+
var HQCHART_VERSION="1.1.15844";
|
|
177383
177429
|
|
|
177384
177430
|
function PrintHQChartVersion()
|
|
177385
177431
|
{
|