hqchart 1.1.14245 → 1.1.14256
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -4335,7 +4335,7 @@ this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return i
|
|
|
4335
4335
|
{if(isHScreen==true){var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=this.ChartBorder.GetTop();var bottom=this.ChartBorder.GetBottom();}else{var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=this.ChartBorder.GetTop();var bottom=this.ChartBorder.GetBottom();}this.Canvas.beginPath();this.Canvas.rect(left,top,right-left,bottom-top);//this.Canvas.stroke(); //调试用
|
|
4336
4336
|
this.Canvas.clip();};this.Draw=function(){this.IconRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
4337
4337
|
if(!this.Family)return;if(!this.MapCache||this.MapCache.size<=0)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var isMinute=this.IsMinuteFrame();var border=this.GetBorder();if(this.IsHScreen){var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var chartLeft=border.TopEx;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartLeft=border.LeftEx;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);var fontSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);this.Canvas.font=fontSize+'px '+this.Family;var drawInfo={Left:chartLeft,Right:chartright,FontSize:fontSize,DataWidth:dataWidth,DistanceWidth:distanceWidth};for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.DrawItem(mapItem,kItem,x,drawInfo);}this.Canvas.restore();};this.GetKValue=function(kItem,valueName){switch(valueName){case"HIGH":case"H":return kItem.High;case"L":case"LOW":return kItem.Low;case"C":case"CLOSE":return kItem.Close;case"O":case"OPEN":return KItem.Open;default:return null;}};this.DrawItem=function(groupItem,kItem,x,drawInfo){if(!IFrameSplitOperator.IsNonEmptyArray(groupItem.Data))return;var fontSize=drawInfo.FontSize;var left=drawInfo.Left,right=drawInfo.Right;var dataWidth=drawInfo.DataWidth;//var distanceWidth=drawInfo.DistanceWidth;
|
|
4338
|
-
for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(item.Value,false);if(item.Image){var imageHeight=item.Image.Height;var imageWidth=item.Image.Width;var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);if(item.Baseline==1)
|
|
4338
|
+
for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(item.Value,false);if(item.Image){var imageHeight=item.Image.Height;var imageWidth=item.Image.Width;if(this.IsHScreen){var xImage=x-imageWidth/2,yImage=y;if(item.Baseline==1)yImage=y-imageHeight;else if(item.Baseline==2)yImage=y;else yImage=y-imageHeight/2;if(IFrameSplitOperator.IsNumber(item.YMove)){yImage-=item.YMove;y-=item.YMove;}this.Canvas.save();this.Canvas.translate(yImage+imageWidth/2,xImage+imageHeight/2);this.Canvas.rotate(90*Math.PI/180);this.Canvas.drawImage(item.Image.Data,-imageWidth/2,-imageHeight/2,item.Image.Width,item.Image.Height);this.Canvas.restore();}else{var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);if(item.Baseline==1)rtIcon.Y=y;else if(item.Baseline==2)rtIcon.Y=y-imageHeight;else rtIcon.Y=y-imageHeight/2;if(IFrameSplitOperator.IsNumber(item.YMove)){y+=item.YMove;rtIcon.Y+=item.YMove;}this.Canvas.drawImage(item.Image.Data,rtIcon.X,rtIcon.Y,item.Image.Width,item.Image.Height);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}}else{if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;//var textWidth=this.Canvas.measureText(item.Symbol).width;
|
|
4339
4339
|
this.Canvas.textAlign='center';var rtIcon=new Rect(x-fontSize/2,y-fontSize/2,fontSize,fontSize);if(item.Baseline==1){this.Canvas.textBaseline='top';rtIcon.Y=y;}else if(item.Baseline==2){this.Canvas.textBaseline='bottom';rtIcon.Y=y-fontSize;}else{this.Canvas.textBaseline='middle';rtIcon.Y=y-fontSize/2;}if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Symbol,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove)){y+=item.YMove;rtIcon.Y+=item.YMove;}this.Canvas.fillText(item.Symbol,x,y);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}}if(item.Line){var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price,false);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4340
4340
|
{yText-=item.Line.Offset[1];yPrice+=item.Line.Offset[0];}else if(yText<yPrice){yText+=item.Line.Offset[1];yPrice-=item.Line.Offset[0];}}this.Canvas.save();if(item.Line.Dash)this.Canvas.setLineDash(item.Line.Dash);//虚线
|
|
4341
4341
|
if(item.Line.Width>0)this.Canvas.lineWidth=item.Line.Width;//线宽
|
|
@@ -5998,7 +5998,7 @@ this.LineWidth=1;this.Precision=2;//小数位数
|
|
|
5998
5998
|
this.ValueTextColor='rgb(250,250,250)';this.IsShowCorssCursor=true;//画的时候是否显示十字光标
|
|
5999
5999
|
this.GetLabelCallback;//绘制标题回调函数
|
|
6000
6000
|
this.PointCount=1;this.ClassName='ChartDrawHLine';this.Font=14*GetDevicePixelRatio()+"px 微软雅黑";this.TextFont=12*GetDevicePixelRatio()+"px 微软雅黑";this.RightSpaceWidth=50;this.ButtonPosition=0;//按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
6001
|
-
this.ButtonBGColor='rgb(190,190,190)';this.ButtonSpace=3;this.TextMargin={Left:0,Right:0,Top:0,Bottom:0,YOffset:4*GetDevicePixelRatio()};this.AlwaysShowLab=false;//总是显示标签
|
|
6001
|
+
this.ButtonBGColor='rgb(190,190,190)';this.ButtonSpace=3;this.TopOffset=3;this.TextMargin={Left:0,Right:0,Top:0,Bottom:0,YOffset:4*GetDevicePixelRatio()};this.AlwaysShowLab=false;//总是显示标签
|
|
6002
6002
|
this.Button={CloseIcon:{Text:'\uE62B',Color:'rgb(255,255,255)',Family:"iconfont",Size:16,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE,TooltipText:null,Margin:{Left:2,Right:2}},SettingIcon:{Text:'\uE623',Color:'rgb(255,255,255)',Family:"iconfont",Size:16,ID:JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING,TooltipText:null,Margin:{Left:2,Right:2}//修改ID, Text , TooltipText 可以外部定制按钮
|
|
6003
6003
|
}};this.CustomButton=[];//自定义的按钮 { Text:'\ue62b', Color:'rgb(255,255,255)', Family:"iconfont", Size:16, ID:JSCHART_BUTTON_ID.DRAW_PICTURE_BUTTON_1, TooltipText:null, Data:null }
|
|
6004
6004
|
this.AryShowButton=[];//需要显示的按钮 { Data:, Width }
|
|
@@ -6007,7 +6007,7 @@ this.ShowPriceTextConfig={IsShow:[false,false,true],//[0]=left内 [1]=right内 [
|
|
|
6007
6007
|
Font:[12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1']};this.LableInfo;//{ Position:2=右侧外部 }
|
|
6008
6008
|
//内部变量
|
|
6009
6009
|
this.ColseButtonSize=0;this.SettingButtonSize=0;this.ButtonBGWidth=0;this.VerticalButtonInfo={Width:0,Height:0};//垂直按钮信息
|
|
6010
|
-
this.IsPointIn=this.IsPointIn_XYValue_Line;this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.GetLabelCallback){this.GetLabelCallback=option.GetLabelCallback;}if(IFrameSplitOperator.IsNumber(option.Precision))this.Precision=option.Precision;if(option.Font)this.Font=option.Font;if(option.ValueTextColor)this.ValueTextColor=option.ValueTextColor;if(option.ButtonBGColor)this.ButtonBGColor=option.ButtonBGColor;if(IFrameSplitOperator.IsNumber(option.ButtonPosition))this.ButtonPosition=option.ButtonPosition;if(IFrameSplitOperator.IsNumber(option.RightSpaceWidth))this.RightSpaceWidth=option.RightSpaceWidth;if(IFrameSplitOperator.IsBool(option.AlwaysShowLab))this.AlwaysShowLab=option.AlwaysShowLab;if(option.Button){var item=option.Button;if(item.CloseIcon){this.Button.CloseIcon=CloneData(item.CloseIcon);if(!this.Button.CloseIcon.ID)this.Button.CloseIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE;}else if(item.CloseIcon===null){this.Button.CloseIcon=null;}if(item.SettingIcon){this.Button.SettingIcon=CloneData(item.SettingIcon);if(!this.Button.SettingIcon.ID)this.Button.SettingIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING;}else if(item.SettingIcon===null){this.Button.SettingIcon=null;}}if(option.ExtendData)this.ExtendData=option.ExtendData;if(IFrameSplitOperator.IsNonEmptyArray(option.IsShowPriceText)){for(var i=0;i<option.IsShowPriceText.length&&i<3;++i){var value=option.IsShowPriceText[i];if(IFrameSplitOperator.IsBool(value))this.ShowPriceTextConfig.IsShow[i]=value;}}if(option.TextMargin){var item=option.TextMargin;if(IFrameSplitOperator.IsNumber(item.Left))this.TextMargin.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))this.TextMargin.Right=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))this.TextMargin.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))this.TextMargin.Bottom=item.Bottom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.TextMargin.YOffset=item.YOffset;}}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.Label)storageData.Label=this.Label;}return storageData;};/*
|
|
6010
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.GetLabelCallback){this.GetLabelCallback=option.GetLabelCallback;}if(IFrameSplitOperator.IsNumber(option.Precision))this.Precision=option.Precision;if(option.Font)this.Font=option.Font;if(option.ValueTextColor)this.ValueTextColor=option.ValueTextColor;if(option.ButtonBGColor)this.ButtonBGColor=option.ButtonBGColor;if(IFrameSplitOperator.IsNumber(option.ButtonPosition))this.ButtonPosition=option.ButtonPosition;if(IFrameSplitOperator.IsNumber(option.RightSpaceWidth))this.RightSpaceWidth=option.RightSpaceWidth;if(IFrameSplitOperator.IsBool(option.AlwaysShowLab))this.AlwaysShowLab=option.AlwaysShowLab;if(IFrameSplitOperator.IsNumber(option.TopOffset))this.TopOffset=option.TopOffset;if(option.Button){var item=option.Button;if(item.CloseIcon){this.Button.CloseIcon=CloneData(item.CloseIcon);if(!this.Button.CloseIcon.ID)this.Button.CloseIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE;}else if(item.CloseIcon===null){this.Button.CloseIcon=null;}if(item.SettingIcon){this.Button.SettingIcon=CloneData(item.SettingIcon);if(!this.Button.SettingIcon.ID)this.Button.SettingIcon.ID=JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING;}else if(item.SettingIcon===null){this.Button.SettingIcon=null;}}if(option.ExtendData)this.ExtendData=option.ExtendData;if(IFrameSplitOperator.IsNonEmptyArray(option.IsShowPriceText)){for(var i=0;i<option.IsShowPriceText.length&&i<3;++i){var value=option.IsShowPriceText[i];if(IFrameSplitOperator.IsBool(value))this.ShowPriceTextConfig.IsShow[i]=value;}}if(option.TextMargin){var item=option.TextMargin;if(IFrameSplitOperator.IsNumber(item.Left))this.TextMargin.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))this.TextMargin.Right=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))this.TextMargin.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))this.TextMargin.Bottom=item.Bottom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.TextMargin.YOffset=item.YOffset;}}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.Label)storageData.Label=this.Label;}return storageData;};/*
|
|
6011
6011
|
this.GetXYCoordinate=function()
|
|
6012
6012
|
{
|
|
6013
6013
|
if (this.IsFrameMinSize()) return null;
|
|
@@ -6030,7 +6030,7 @@ if(moveonPoint&&mouseStatus){for(var i=0;i<this.AryButton.length;++i){var item=t
|
|
|
6030
6030
|
this.DrawInternalLabel=function(y){if(!this.LableInfo||!IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryText))return;if(this.LableInfo.Position==2)return;var border=this.Frame.GetBorder();var left=border.Left;var right=border.Right;var labSize=this.CalculateLabSize(this.LableInfo);var drawLeft=right-labSize.Width;var drawRight=drawLeft+labSize.Width;var drawTop=y-labSize.Height-1;if(drawTop<=border.TopEx)drawTop=y+1;var rtLabel={Left:drawLeft,Right:drawRight,Top:drawTop,Width:labSize.Width,Height:labSize.Height};rtLabel.Bottom=rtLabel.Top+rtLabel.Height;this.DrawLabel(this.LableInfo,labSize,rtLabel);};//绘制标签页
|
|
6031
6031
|
this.DrawLabel=function(labelInfo,labelSize,rtLabel){//背景色
|
|
6032
6032
|
if(labelInfo.BGColor){this.Canvas.fillStyle=labelInfo.BGColor;this.Canvas.fillRect(ToFixedRect(rtLabel.Left),ToFixedRect(rtLabel.Top),ToFixedRect(rtLabel.Width),ToFixedRect(rtLabel.Height));}var labelMargin=labelInfo.LabelMargin;var lineSpace=0;if(IFrameSplitOperator.IsNumber(labelInfo.LineSpace))lineSpace=labelInfo.LineSpace;var yText=rtLabel.Top;var xText=rtLabel.Left;var yRightText=rtLabel.Right;if(labelMargin){if(IFrameSplitOperator.IsNumber(labelMargin.Left))xText+=labelMargin.Left;if(IFrameSplitOperator.IsNumber(labelMargin.Right))yRightText-=labelMargin.Right;if(IFrameSplitOperator.IsNumber(labelMargin.Top))yText+=labelMargin.Top;}this.Canvas.font=this.TextFont;this.Canvas.textBaseline="top";for(var i=0;i<labelInfo.AryText.length;++i){if(i>0)yText+=lineSpace;var item=labelInfo.AryText[i];if(item.Name){this.Canvas.textAlign="left";this.Canvas.fillStyle=item.NameColor;this.Canvas.fillText(item.Name,xText,yText);}if(item.Text){this.Canvas.textAlign="right";this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(item.Text,yRightText,yText);}yText+=labelSize.LineHeight;}};this.DrawRightLabel=function(y){var rtDraw={};if(!this.LableInfo||!IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryText)||this.LableInfo.Position!=2){this.DrawValueText(y,rtDraw);return;}var priceSize=this.CalculateValueText(y);var labSize=this.CalculateLabSize(this.LableInfo);var border=this.Frame.GetBorder();var yTop=y-priceSize.Height/2;var totalHeight=priceSize.Height+labSize.Height;var yBottom=yTop+totalHeight;var option={};if(yBottom>border.Bottom)//超过窗口底部, 标签位置不动
|
|
6033
|
-
{yBottom=border.Bottom;yTop=yBottom-totalHeight;option.Top=yTop;}this.DrawValueText(y,rtDraw,option);var drawLeft=rtDraw.Right-labSize.Width;if(drawLeft<rtDraw.Left)drawLeft=rtDraw.Left;var drawRight=drawLeft+labSize.Width;var drawTop=rtDraw.Bottom;var rtLabel={Left:drawLeft,Right:drawRight,Top:drawTop,Width:labSize.Width,Height:labSize.Height};rtLabel.Bottom=rtLabel.Top+rtLabel.Height;this.DrawLabel(this.LableInfo,labSize,rtLabel);this.DrawVerticalButton(rtLabel);};this.DrawCustomHLine=function(yLine){if(!this.LableInfo)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryLine))return;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var pixelRatio=GetDevicePixelRatio();var yMax=yLine,yMin=yLine;for(var i=0;i<this.LableInfo.AryLine.length;++i){var item=this.LableInfo.AryLine[i];if(!IFrameSplitOperator.IsNumber(item.Value))continue;if(item.Width<0)continue;var y=this.Frame.GetYFromData(item.Value);var yFixed=ToFixedPoint(y);var xRight=right;if(IFrameSplitOperator.IsPlusNumber(item.Width)){if(item.Width<1)xRight=left+item.Width*(right-left);//0.3 百分比
|
|
6033
|
+
{yBottom=border.Bottom;yTop=yBottom-totalHeight;if(yTop<this.TopOffset){yTop=this.TopOffset;yBottom=yTop+totalHeight;}option.Top=yTop;}this.DrawValueText(y,rtDraw,option);var drawLeft=rtDraw.Right-labSize.Width;if(drawLeft<rtDraw.Left)drawLeft=rtDraw.Left;var drawRight=drawLeft+labSize.Width;var drawTop=rtDraw.Bottom;var rtLabel={Left:drawLeft,Right:drawRight,Top:drawTop,Width:labSize.Width,Height:labSize.Height};rtLabel.Bottom=rtLabel.Top+rtLabel.Height;this.DrawLabel(this.LableInfo,labSize,rtLabel);this.DrawVerticalButton(rtLabel);};this.DrawCustomHLine=function(yLine){if(!this.LableInfo)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.LableInfo.AryLine))return;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var pixelRatio=GetDevicePixelRatio();var yMax=yLine,yMin=yLine;for(var i=0;i<this.LableInfo.AryLine.length;++i){var item=this.LableInfo.AryLine[i];if(!IFrameSplitOperator.IsNumber(item.Value))continue;if(item.Width<0)continue;var y=this.Frame.GetYFromData(item.Value);var yFixed=ToFixedPoint(y);var xRight=right;if(IFrameSplitOperator.IsPlusNumber(item.Width)){if(item.Width<1)xRight=left+item.Width*(right-left);//0.3 百分比
|
|
6034
6034
|
else xRight=left+item.Width*pixelRatio;//>1 实际数值就是长度
|
|
6035
6035
|
}if(item.Color)this.Canvas.strokeStyle=item.Color;else this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(xRight,yFixed);this.Canvas.stroke();if(yMax<yFixed)yMax=yFixed;if(yMin>yFixed)yMin=yFixed;}if(yMax!=yMin&&this.LableInfo.VLine){var item=this.LableInfo.VLine;var x=left+20*pixelRatio;if(IFrameSplitOperator.IsNumber(item.XOffset))x=left+item.XOffset*pixelRatio;x=ToFixedPoint(x);if(item.Color)this.Canvas.strokeStyle=item.Color;else this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(x,yMax);this.Canvas.lineTo(x,yMin);this.Canvas.stroke();}};this.DrawValueText=function(y,rtDraw,option){var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottomEx();var pixelTatio=GetDevicePixelRatio();var labInfo=this.LabelInfo;if(labInfo&&IFrameSplitOperator.IsNumber(labInfo.TopOffset))top-=labInfo.TopOffset;if(labInfo&&IFrameSplitOperator.IsNumber(labInfo.BottomOffset))bottom+=labInfo.BottomOffset;var yValue=this.Frame.GetYData(y,false);var strValue=yValue.toFixed(this.Precision);if(labInfo&&labInfo.PriceSuffixText)strValue+=labInfo.PriceSuffixText;var bVisibleRange=true;if(y<top){y=top;bVisibleRange=false;}else if(y>bottom){y=bottom;bVisibleRange=false;}if(this.RightSpaceWidth>0){if(!bVisibleRange)this.Canvas.setLineDash([2*pixelTatio,3*pixelTatio]);//虚线
|
|
6036
6036
|
this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(right,ToFixedPoint(y));this.Canvas.lineTo(right+this.RightSpaceWidth,ToFixedPoint(y));this.Canvas.stroke();if(!bVisibleRange)this.Canvas.setLineDash([]);}this.Canvas.fillStyle=this.LineColor;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(strValue).width;var lineHeight=this.GetFontHeight();var rtBG={Left:right+this.RightSpaceWidth,YCenter:y,Width:textWidth,Height:lineHeight};rtBG.Height+=this.TextMargin.Top+this.TextMargin.Bottom;rtBG.Width+=this.TextMargin.Left+this.TextMargin.Right;rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.YCenter-rtBG.Height/2;rtBG.Bottom=rtBG.Top+rtBG.Height;if(option&&IFrameSplitOperator.IsNumber(option.Top)){rtBG.Top=option.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;}var xText=rtBG.Left+this.TextMargin.Left;var yText=rtBG.Top+this.TextMargin.Top+this.TextMargin.YOffset;if(this.ButtonPosition==1){this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width+this.ButtonBGWidth),ToFixedRect(rtBG.Height));}else{this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));}this.Canvas.fillStyle=this.ValueTextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="top";this.Canvas.fillText(strValue,xText,yText);rtDraw.Left=rtBG.Left;rtDraw.Top=rtBG.Top;rtDraw.Bottom=rtBG.Bottom;rtDraw.Right=rtBG.Right;this.DrawButton(rtBG.Top,rtBG.Right,lineHeight,rtDraw);};//计算右侧价格标签大小
|
|
@@ -13825,7 +13825,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13825
13825
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
13826
13826
|
* 版本信息输出
|
|
13827
13827
|
*
|
|
13828
|
-
*/var HQCHART_VERSION="1.1.
|
|
13828
|
+
*/var HQCHART_VERSION="1.1.14255";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();//把给外界调用的方法暴露出来
|
|
13829
13829
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13830
13830
|
// BaseIndex:BaseIndex,
|
|
13831
13831
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -40641,34 +40641,43 @@ function ChartMultiSVGIconV2()
|
|
|
40641
40641
|
{
|
|
40642
40642
|
var imageHeight=item.Image.Height;
|
|
40643
40643
|
var imageWidth=item.Image.Width;
|
|
40644
|
-
|
|
40645
|
-
if (item.Baseline==1)
|
|
40646
|
-
{
|
|
40647
|
-
this.Canvas.textBaseline='top';
|
|
40648
|
-
rtIcon.Y=y;
|
|
40649
|
-
}
|
|
40650
|
-
else if (item.Baseline==2)
|
|
40644
|
+
if (this.IsHScreen)
|
|
40651
40645
|
{
|
|
40652
|
-
|
|
40653
|
-
|
|
40646
|
+
var xImage=x-imageWidth/2, yImage=y;
|
|
40647
|
+
if (item.Baseline==1) yImage=y-imageHeight;
|
|
40648
|
+
else if (item.Baseline==2) yImage=y;
|
|
40649
|
+
else yImage=y-imageHeight/2;
|
|
40650
|
+
|
|
40651
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
40652
|
+
{
|
|
40653
|
+
yImage-=item.YMove;
|
|
40654
|
+
y-=item.YMove;
|
|
40655
|
+
}
|
|
40656
|
+
|
|
40657
|
+
this.Canvas.save();
|
|
40658
|
+
this.Canvas.translate(yImage+imageWidth/2, xImage+imageHeight/2);
|
|
40659
|
+
this.Canvas.rotate(90 * Math.PI / 180);
|
|
40660
|
+
this.Canvas.drawImage(item.Image.Data, -imageWidth/2, -imageHeight/2, item.Image.Width, item.Image.Height);
|
|
40661
|
+
this.Canvas.restore();
|
|
40654
40662
|
}
|
|
40655
|
-
else
|
|
40663
|
+
else
|
|
40656
40664
|
{
|
|
40657
|
-
|
|
40658
|
-
rtIcon.Y=y
|
|
40659
|
-
|
|
40665
|
+
var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);
|
|
40666
|
+
if (item.Baseline==1) rtIcon.Y=y;
|
|
40667
|
+
else if (item.Baseline==2) rtIcon.Y=y-imageHeight;
|
|
40668
|
+
else rtIcon.Y=y-imageHeight/2;
|
|
40669
|
+
|
|
40670
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
40671
|
+
{
|
|
40672
|
+
y+=item.YMove;
|
|
40673
|
+
rtIcon.Y+=item.YMove;
|
|
40674
|
+
}
|
|
40675
|
+
|
|
40676
|
+
this.Canvas.drawImage(item.Image.Data, rtIcon.X, rtIcon.Y, item.Image.Width, item.Image.Height);
|
|
40660
40677
|
|
|
40661
|
-
|
|
40662
|
-
|
|
40663
|
-
y+=item.YMove;
|
|
40664
|
-
rtIcon.Y+=item.YMove;
|
|
40678
|
+
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
40679
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
40665
40680
|
}
|
|
40666
|
-
|
|
40667
|
-
this.Canvas.drawImage(item.Image.Data, rtIcon.X, rtIcon.Y, item.Image.Width, item.Image.Height);
|
|
40668
|
-
|
|
40669
|
-
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
40670
|
-
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
40671
|
-
|
|
40672
40681
|
}
|
|
40673
40682
|
else
|
|
40674
40683
|
{
|
|
@@ -60288,6 +60297,7 @@ function ChartDrawHLine()
|
|
|
60288
60297
|
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
60289
60298
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
60290
60299
|
this.ButtonSpace=3;
|
|
60300
|
+
this.TopOffset=3;
|
|
60291
60301
|
|
|
60292
60302
|
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:4*GetDevicePixelRatio() };
|
|
60293
60303
|
|
|
@@ -60342,6 +60352,7 @@ function ChartDrawHLine()
|
|
|
60342
60352
|
if (IFrameSplitOperator.IsNumber(option.ButtonPosition)) this.ButtonPosition=option.ButtonPosition;
|
|
60343
60353
|
if (IFrameSplitOperator.IsNumber(option.RightSpaceWidth)) this.RightSpaceWidth=option.RightSpaceWidth;
|
|
60344
60354
|
if (IFrameSplitOperator.IsBool(option.AlwaysShowLab)) this.AlwaysShowLab=option.AlwaysShowLab;
|
|
60355
|
+
if (IFrameSplitOperator.IsNumber(option.TopOffset)) this.TopOffset=option.TopOffset;
|
|
60345
60356
|
|
|
60346
60357
|
|
|
60347
60358
|
if (option.Button)
|
|
@@ -60713,6 +60724,12 @@ function ChartDrawHLine()
|
|
|
60713
60724
|
{
|
|
60714
60725
|
yBottom=border.Bottom;
|
|
60715
60726
|
yTop=yBottom-totalHeight;
|
|
60727
|
+
if (yTop<this.TopOffset)
|
|
60728
|
+
{
|
|
60729
|
+
yTop=this.TopOffset;
|
|
60730
|
+
yBottom=yTop+totalHeight;
|
|
60731
|
+
}
|
|
60732
|
+
|
|
60716
60733
|
option.Top=yTop;
|
|
60717
60734
|
}
|
|
60718
60735
|
|
|
@@ -44566,34 +44566,43 @@ function ChartMultiSVGIconV2()
|
|
|
44566
44566
|
{
|
|
44567
44567
|
var imageHeight=item.Image.Height;
|
|
44568
44568
|
var imageWidth=item.Image.Width;
|
|
44569
|
-
|
|
44570
|
-
if (item.Baseline==1)
|
|
44571
|
-
{
|
|
44572
|
-
this.Canvas.textBaseline='top';
|
|
44573
|
-
rtIcon.Y=y;
|
|
44574
|
-
}
|
|
44575
|
-
else if (item.Baseline==2)
|
|
44569
|
+
if (this.IsHScreen)
|
|
44576
44570
|
{
|
|
44577
|
-
|
|
44578
|
-
|
|
44571
|
+
var xImage=x-imageWidth/2, yImage=y;
|
|
44572
|
+
if (item.Baseline==1) yImage=y-imageHeight;
|
|
44573
|
+
else if (item.Baseline==2) yImage=y;
|
|
44574
|
+
else yImage=y-imageHeight/2;
|
|
44575
|
+
|
|
44576
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44577
|
+
{
|
|
44578
|
+
yImage-=item.YMove;
|
|
44579
|
+
y-=item.YMove;
|
|
44580
|
+
}
|
|
44581
|
+
|
|
44582
|
+
this.Canvas.save();
|
|
44583
|
+
this.Canvas.translate(yImage+imageWidth/2, xImage+imageHeight/2);
|
|
44584
|
+
this.Canvas.rotate(90 * Math.PI / 180);
|
|
44585
|
+
this.Canvas.drawImage(item.Image.Data, -imageWidth/2, -imageHeight/2, item.Image.Width, item.Image.Height);
|
|
44586
|
+
this.Canvas.restore();
|
|
44579
44587
|
}
|
|
44580
|
-
else
|
|
44588
|
+
else
|
|
44581
44589
|
{
|
|
44582
|
-
|
|
44583
|
-
rtIcon.Y=y
|
|
44584
|
-
|
|
44590
|
+
var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);
|
|
44591
|
+
if (item.Baseline==1) rtIcon.Y=y;
|
|
44592
|
+
else if (item.Baseline==2) rtIcon.Y=y-imageHeight;
|
|
44593
|
+
else rtIcon.Y=y-imageHeight/2;
|
|
44594
|
+
|
|
44595
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44596
|
+
{
|
|
44597
|
+
y+=item.YMove;
|
|
44598
|
+
rtIcon.Y+=item.YMove;
|
|
44599
|
+
}
|
|
44600
|
+
|
|
44601
|
+
this.Canvas.drawImage(item.Image.Data, rtIcon.X, rtIcon.Y, item.Image.Width, item.Image.Height);
|
|
44585
44602
|
|
|
44586
|
-
|
|
44587
|
-
|
|
44588
|
-
y+=item.YMove;
|
|
44589
|
-
rtIcon.Y+=item.YMove;
|
|
44603
|
+
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44604
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44590
44605
|
}
|
|
44591
|
-
|
|
44592
|
-
this.Canvas.drawImage(item.Image.Data, rtIcon.X, rtIcon.Y, item.Image.Width, item.Image.Height);
|
|
44593
|
-
|
|
44594
|
-
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44595
|
-
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44596
|
-
|
|
44597
44606
|
}
|
|
44598
44607
|
else
|
|
44599
44608
|
{
|
|
@@ -64213,6 +64222,7 @@ function ChartDrawHLine()
|
|
|
64213
64222
|
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
64214
64223
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
64215
64224
|
this.ButtonSpace=3;
|
|
64225
|
+
this.TopOffset=3;
|
|
64216
64226
|
|
|
64217
64227
|
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:4*GetDevicePixelRatio() };
|
|
64218
64228
|
|
|
@@ -64267,6 +64277,7 @@ function ChartDrawHLine()
|
|
|
64267
64277
|
if (IFrameSplitOperator.IsNumber(option.ButtonPosition)) this.ButtonPosition=option.ButtonPosition;
|
|
64268
64278
|
if (IFrameSplitOperator.IsNumber(option.RightSpaceWidth)) this.RightSpaceWidth=option.RightSpaceWidth;
|
|
64269
64279
|
if (IFrameSplitOperator.IsBool(option.AlwaysShowLab)) this.AlwaysShowLab=option.AlwaysShowLab;
|
|
64280
|
+
if (IFrameSplitOperator.IsNumber(option.TopOffset)) this.TopOffset=option.TopOffset;
|
|
64270
64281
|
|
|
64271
64282
|
|
|
64272
64283
|
if (option.Button)
|
|
@@ -64638,6 +64649,12 @@ function ChartDrawHLine()
|
|
|
64638
64649
|
{
|
|
64639
64650
|
yBottom=border.Bottom;
|
|
64640
64651
|
yTop=yBottom-totalHeight;
|
|
64652
|
+
if (yTop<this.TopOffset)
|
|
64653
|
+
{
|
|
64654
|
+
yTop=this.TopOffset;
|
|
64655
|
+
yBottom=yTop+totalHeight;
|
|
64656
|
+
}
|
|
64657
|
+
|
|
64641
64658
|
option.Top=yTop;
|
|
64642
64659
|
}
|
|
64643
64660
|
|
|
@@ -140382,7 +140399,7 @@ function ScrollBarBGChart()
|
|
|
140382
140399
|
|
|
140383
140400
|
|
|
140384
140401
|
|
|
140385
|
-
var HQCHART_VERSION="1.1.
|
|
140402
|
+
var HQCHART_VERSION="1.1.14255";
|
|
140386
140403
|
|
|
140387
140404
|
function PrintHQChartVersion()
|
|
140388
140405
|
{
|
|
@@ -44610,34 +44610,43 @@ function ChartMultiSVGIconV2()
|
|
|
44610
44610
|
{
|
|
44611
44611
|
var imageHeight=item.Image.Height;
|
|
44612
44612
|
var imageWidth=item.Image.Width;
|
|
44613
|
-
|
|
44614
|
-
if (item.Baseline==1)
|
|
44615
|
-
{
|
|
44616
|
-
this.Canvas.textBaseline='top';
|
|
44617
|
-
rtIcon.Y=y;
|
|
44618
|
-
}
|
|
44619
|
-
else if (item.Baseline==2)
|
|
44613
|
+
if (this.IsHScreen)
|
|
44620
44614
|
{
|
|
44621
|
-
|
|
44622
|
-
|
|
44615
|
+
var xImage=x-imageWidth/2, yImage=y;
|
|
44616
|
+
if (item.Baseline==1) yImage=y-imageHeight;
|
|
44617
|
+
else if (item.Baseline==2) yImage=y;
|
|
44618
|
+
else yImage=y-imageHeight/2;
|
|
44619
|
+
|
|
44620
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44621
|
+
{
|
|
44622
|
+
yImage-=item.YMove;
|
|
44623
|
+
y-=item.YMove;
|
|
44624
|
+
}
|
|
44625
|
+
|
|
44626
|
+
this.Canvas.save();
|
|
44627
|
+
this.Canvas.translate(yImage+imageWidth/2, xImage+imageHeight/2);
|
|
44628
|
+
this.Canvas.rotate(90 * Math.PI / 180);
|
|
44629
|
+
this.Canvas.drawImage(item.Image.Data, -imageWidth/2, -imageHeight/2, item.Image.Width, item.Image.Height);
|
|
44630
|
+
this.Canvas.restore();
|
|
44623
44631
|
}
|
|
44624
|
-
else
|
|
44632
|
+
else
|
|
44625
44633
|
{
|
|
44626
|
-
|
|
44627
|
-
rtIcon.Y=y
|
|
44628
|
-
|
|
44634
|
+
var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);
|
|
44635
|
+
if (item.Baseline==1) rtIcon.Y=y;
|
|
44636
|
+
else if (item.Baseline==2) rtIcon.Y=y-imageHeight;
|
|
44637
|
+
else rtIcon.Y=y-imageHeight/2;
|
|
44638
|
+
|
|
44639
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44640
|
+
{
|
|
44641
|
+
y+=item.YMove;
|
|
44642
|
+
rtIcon.Y+=item.YMove;
|
|
44643
|
+
}
|
|
44644
|
+
|
|
44645
|
+
this.Canvas.drawImage(item.Image.Data, rtIcon.X, rtIcon.Y, item.Image.Width, item.Image.Height);
|
|
44629
44646
|
|
|
44630
|
-
|
|
44631
|
-
|
|
44632
|
-
y+=item.YMove;
|
|
44633
|
-
rtIcon.Y+=item.YMove;
|
|
44647
|
+
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44648
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44634
44649
|
}
|
|
44635
|
-
|
|
44636
|
-
this.Canvas.drawImage(item.Image.Data, rtIcon.X, rtIcon.Y, item.Image.Width, item.Image.Height);
|
|
44637
|
-
|
|
44638
|
-
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44639
|
-
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44640
|
-
|
|
44641
44650
|
}
|
|
44642
44651
|
else
|
|
44643
44652
|
{
|
|
@@ -64257,6 +64266,7 @@ function ChartDrawHLine()
|
|
|
64257
64266
|
this.ButtonPosition=0; //按钮位置, 0=价格后面, 1=价格上面 2=价格上面 左对齐 3=垂直排列
|
|
64258
64267
|
this.ButtonBGColor='rgb(190,190,190)';
|
|
64259
64268
|
this.ButtonSpace=3;
|
|
64269
|
+
this.TopOffset=3;
|
|
64260
64270
|
|
|
64261
64271
|
this.TextMargin={ Left:0, Right:0, Top:0, Bottom:0, YOffset:4*GetDevicePixelRatio() };
|
|
64262
64272
|
|
|
@@ -64311,6 +64321,7 @@ function ChartDrawHLine()
|
|
|
64311
64321
|
if (IFrameSplitOperator.IsNumber(option.ButtonPosition)) this.ButtonPosition=option.ButtonPosition;
|
|
64312
64322
|
if (IFrameSplitOperator.IsNumber(option.RightSpaceWidth)) this.RightSpaceWidth=option.RightSpaceWidth;
|
|
64313
64323
|
if (IFrameSplitOperator.IsBool(option.AlwaysShowLab)) this.AlwaysShowLab=option.AlwaysShowLab;
|
|
64324
|
+
if (IFrameSplitOperator.IsNumber(option.TopOffset)) this.TopOffset=option.TopOffset;
|
|
64314
64325
|
|
|
64315
64326
|
|
|
64316
64327
|
if (option.Button)
|
|
@@ -64682,6 +64693,12 @@ function ChartDrawHLine()
|
|
|
64682
64693
|
{
|
|
64683
64694
|
yBottom=border.Bottom;
|
|
64684
64695
|
yTop=yBottom-totalHeight;
|
|
64696
|
+
if (yTop<this.TopOffset)
|
|
64697
|
+
{
|
|
64698
|
+
yTop=this.TopOffset;
|
|
64699
|
+
yBottom=yTop+totalHeight;
|
|
64700
|
+
}
|
|
64701
|
+
|
|
64685
64702
|
option.Top=yTop;
|
|
64686
64703
|
}
|
|
64687
64704
|
|
|
@@ -149987,7 +150004,7 @@ function HQChartScriptWorker()
|
|
|
149987
150004
|
|
|
149988
150005
|
|
|
149989
150006
|
|
|
149990
|
-
var HQCHART_VERSION="1.1.
|
|
150007
|
+
var HQCHART_VERSION="1.1.14255";
|
|
149991
150008
|
|
|
149992
150009
|
function PrintHQChartVersion()
|
|
149993
150010
|
{
|