hqchart 1.1.12685 → 1.1.12693
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 +101 -55
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +3 -1
- package/src/jscommon/umychart.js +402 -109
- package/src/jscommon/umychart.style.js +11 -4
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +417 -115
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +417 -115
- package/src/jscommon/umychart.wechat/umychart.chartframe.wechat.js +12 -1
- package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +4 -0
package/lib/umychart.vue.js
CHANGED
|
@@ -1384,7 +1384,7 @@ var scriptData=new JSIndexScript();if(option.ColorIndex)//五彩K线
|
|
|
1384
1384
|
}else if(item.Local&&item.Local.Data){chart.WindowIndex[i]=new LocalJsonDataIndex(item.Local.Name,item.Local.Args,{JsonData:item.Local.Data});}else if(item.API)//使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
|
|
1385
1385
|
{var apiItem=item.API;chart.WindowIndex[i]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexItem=JSIndexMap.Get(item.Index);if(indexItem){chart.WindowIndex[i]=indexItem.Create(item.Option);if(chart.WindowIndex[i].SetArgs)chart.WindowIndex[i].SetArgs(item.Args);chart.CreateWindowIndex(i);}else{var _indexInfo2=scriptData.Get(item.Index);if(!_indexInfo2)continue;if(item.Lock)_indexInfo2.Lock=item.Lock;_indexInfo2.ID=item.Index;var args=_indexInfo2.Args;if(item.Args)args=item.Args;if(item.IsShortTitle)_indexInfo2.IsShortTitle=item.IsShortTitle;if(item.TitleFont)_indexInfo2.TitleFont=item.TitleFont;if(IFrameSplitOperator.IsBool(item.IsSync))_indexInfo2.IsSync=item.IsSync;chart.WindowIndex[i]=new ScriptIndex(_indexInfo2.Name,_indexInfo2.Script,args,_indexInfo2);//脚本执行
|
|
1386
1386
|
if(item.StringFormat>0)chart.WindowIndex[i].StringFormat=item.StringFormat;if(item.FloatPrecision>=0)chart.WindowIndex[i].FloatPrecision=item.FloatPrecision;}}var frame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsBool(item.Modify))frame.ModifyIndex=item.Modify;if(IFrameSplitOperator.IsBool(item.Change))frame.ChangeIndex=item.Change;if(IFrameSplitOperator.IsBool(item.Close))frame.CloseIndex=item.Close;if(IFrameSplitOperator.IsBool(item.Overlay))frame.OverlayIndex=item.Overlay;if(IFrameSplitOperator.IsBool(item.Export))frame.ExportData=item.Export;if(IFrameSplitOperator.IsBool(item.MaxMin))chart.Frame.SubFrame[i].Frame.MaxMinWindow=item.MaxMin;if(IFrameSplitOperator.IsBool(item.TitleWindow))chart.Frame.SubFrame[i].Frame.TitleWindow=item.TitleWindow;if(item.IsDrawTitleBG==true)chart.Frame.SubFrame[i].Frame.IsDrawTitleBG=item.IsDrawTitleBG;if(IFrameSplitOperator.IsBool(item.IsShowNameArrow))chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;else item.TitleHeight=chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;if(IFrameSplitOperator.IsBool(item.IsShowTitleArrow))chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;if(item.IsShowIndexName==false)chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;if(item.IsShowOverlayIndexName==false)chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;if(IFrameSplitOperator.IsNumber(item.IndexParamSpace))chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;if(IFrameSplitOperator.IsNumber(item.IndexTitleSpace))chart.Frame.SubFrame[i].Frame.IndexTitleSpace=item.IndexTitleSpace;if(item.OverlayIndexType){if(IFrameSplitOperator.IsNumber(item.OverlayIndexType.Position))chart.Frame.SubFrame[i].Frame.OverlayIndexType.Position=item.OverlayIndexType.Position;if(IFrameSplitOperator.IsNumber(item.OverlayIndexType.LineSpace))chart.Frame.SubFrame[i].Frame.OverlayIndexType.LineSpace=item.OverlayIndexType.LineSpace;}}//叠加指标宽度
|
|
1387
|
-
if(option.OverlayIndexFrameWidth>40)chart.
|
|
1387
|
+
if(option.OverlayIndexFrameWidth>40)chart.Frame.FixedRightWidth.Overlay=option.OverlayIndexFrameWidth;//叠加指标
|
|
1388
1388
|
if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Windows>=chart.Frame.SubFrame.length)continue;var itemString=(0,_stringify2.default)(item);var obj=JSON.parse(itemString);if(item.Index)obj.IndexName=item.Index;if(item.Windows>=0)obj.WindowIndex=item.Windows;chart.CreateOverlayWindowsIndex(obj);}}this.AdjustTitleHeight(chart);return chart;};//自定义指数历史K线图
|
|
1389
1389
|
this.CreateCustomKLineChartContainer=function(option){var chart=new CustomKLineChartContainer(this.CanvasElement);//创建改参数div
|
|
1390
1390
|
chart.ModifyIndexDialog=this.ModifyIndexDialog;chart.ChangeIndexDialog=this.ChangeIndexDialog;chart.MinuteDialog=this.MinuteDialog;//右键菜单
|
|
@@ -1627,7 +1627,8 @@ ON_RECV_REALTIME_DATA:109,//实时数据
|
|
|
1627
1627
|
ON_CUSTOM_OVERLAY_TOOLBAR:110,//自定义叠加指标按钮
|
|
1628
1628
|
//绘图之前的事件
|
|
1629
1629
|
ON_BEFORE_DRAW:111,ON_BEFORE_DRAW_DYNAMIC_INFO:112,//自定义图形拖拽
|
|
1630
|
-
ON_CUSTOM_DRAG_MOUSE_DOWN:113,ON_CUSTOM_DRAG_DOC_MOUSE_MOVE:114,ON_CUSTOM_DRAG_DOC_MOUSE_UP:115,ON_CUSTOM_DRAG_MOUSE_MOVE:116,ON_KEYDOWN:117
|
|
1630
|
+
ON_CUSTOM_DRAG_MOUSE_DOWN:113,ON_CUSTOM_DRAG_DOC_MOUSE_MOVE:114,ON_CUSTOM_DRAG_DOC_MOUSE_UP:115,ON_CUSTOM_DRAG_MOUSE_MOVE:116,ON_KEYDOWN:117,ON_CREATE_OVERLAY_FRAME:118//创建叠加框架回调
|
|
1631
|
+
};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
|
|
1631
1632
|
OP_SCROLL_RIGHT:2,//往右移动
|
|
1632
1633
|
OP_ZOOM_OUT:3,//缩小
|
|
1633
1634
|
OP_ZOOM_IN:4,//放大
|
|
@@ -1852,8 +1853,10 @@ if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if
|
|
|
1852
1853
|
}else if(this.DragMode==1||isMoveCorssCursor==false)//数据左右拖拽
|
|
1853
1854
|
{if((moveUpDown>0&&moveSetp<=3||moveAngle<=this.TouchMoveMinAngle)&&this.EnableScrollUpDown==true){this.StopDragTimer();return;}if(moveSetp<5||moveAngle<=this.TouchMoveMinAngle){this.PreventTouchEvent(e);return;}if(this.EnableVerticalDrag){if(!this.VerticalDrag)return;if(!this.VerticalDrag.IsDrag)return;}var isLeft=true;if(drag.LastMove.X<touches[0].clientX)isLeft=false;//右移数据
|
|
1854
1855
|
var oneStepWidth=this.GetMoveOneStepWidth();if(moveSetp<oneStepWidth)return;if(this.DataMove(moveSetp,isLeft)){this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();this.OnKLinePageChange("OnTouchMove");}else{if(this.DragDownloadData)this.DragDownloadData();}drag.LastMove.X=touches[0].clientX;drag.LastMove.Y=touches[0].clientY;}}if(this.PhoneTouchInfo){this.PhoneTouchInfo.End.X=touches[0].clientX;this.PhoneTouchInfo.End.Y=touches[0].clientY;}}else if(this.IsPhonePinching(e)){if(this.DragMode==JSCHART_DRAG_ID.DISABLE_DRAG_ID)return;this.PreventTouchEvent(e);var phonePinch=this.PhonePinch;if(!phonePinch)return;phonePinch.Operator=null;if(this.EnableZoomUpDown&&this.EnableZoomUpDown.Touch===false)return;var yHeight=Math.abs(touches[0].pageY-touches[1].pageY);var yLastHeight=Math.abs(phonePinch.Last.Y-phonePinch.Last.Y2);var yStep=yHeight-yLastHeight;var xHeight=Math.abs(touches[0].pageX-touches[1].pageX);var xLastHeight=Math.abs(phonePinch.Last.X-phonePinch.Last.X2);var xStep=xHeight-xLastHeight;var minStep=this.ZoomStepPixel;if(Math.abs(yStep)<minStep&&Math.abs(xStep)<minStep)return;var step=yStep;if(Math.abs(yStep)<minStep)step=xStep;if(step>0)//放大
|
|
1855
|
-
{var cursorIndex={IsLockRight:this.IsZoomLockRight};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(!this.Frame.ZoomUp(cursorIndex))return;phonePinch.Operator="ZoomUp";this.CursorIndex=cursorIndex.Index;this.UpdatePointByCursorIndex();this.UpdataDataoffset();this.UpdateFrameMaxMin()
|
|
1856
|
-
|
|
1856
|
+
{var cursorIndex={IsLockRight:this.IsZoomLockRight};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(!this.Frame.ZoomUp(cursorIndex))return;phonePinch.Operator="ZoomUp";this.CursorIndex=cursorIndex.Index;this.UpdatePointByCursorIndex();this.UpdataDataoffset();this.UpdateFrameMaxMin();//this.ResetFrameXSplit();
|
|
1857
|
+
this.Draw();this.ShowTooltipByKeyDown();this.StopDragTimer();}else//缩小
|
|
1858
|
+
{var cursorIndex={IsLockRight:this.IsZoomLockRight};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(!this.Frame.ZoomDown(cursorIndex))return;phonePinch.Operator="ZoomDown";this.CursorIndex=cursorIndex.Index;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();//this.ResetFrameXSplit();
|
|
1859
|
+
this.Draw();this.ShowTooltipByKeyDown();this.StopDragTimer();}phonePinch.Last={X:touches[0].pageX,Y:touches[0].pageY,X2:touches[1].pageX,Y2:touches[1].pageY};}this.PreventTouchEvent(e);};this.OnTouchEnd=function(e){JSConsole.Chart.Log('[KLineChartContainer:OnTouchEnd]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var bClearDrawPicture=true;if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==2||drawPicture.Status==1||drawPicture.Status==3){drawPicture.PointStatus=drawPicture.Status;if(this.FinishChartDrawPicturePoint())this.DrawDynamicInfo();else bClearDrawPicture=false;}else if(drawPicture.Status==20){if(this.FinishMoveChartDrawPicture())this.DrawDynamicInfo();}}if(this.EnableZoomIndexWindow){var time=Date.now();this.PhoneDBClick.AddTouchEnd(time);if(this.PhoneDBClick.IsVaildDBClick()){this.OnTouchDBClick(this.PhoneDBClick.Start);this.PhoneDBClick.Clear();}}this.IsOnTouch=false;this.VerticalDrag=null;if(bClearDrawPicture===true)this.CurrentChartDrawPicture=null;this.StopDragTimer();this.TouchEvent({EventID:JSCHART_EVENT_ID.ON_PHONE_TOUCH,FunctionName:"OnTouchEnd"},e);this.OnTouchFinished();this.TouchDrawCount=0;this.PhonePinch=null;};this.OnTouchDBClick=function(points){var pt=this.PointAbsoluteToRelative(points[0].X,points[0].Y,true);var x=pt.X,y=pt.Y;JSConsole.Chart.Log('[KLineChartContainer:OnTouchDBClick] Phone dbclick absolute ['+x+','+y+'], soruce ['+points[0].X+','+points[0].Y+']');var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[KLineChartContainer::OnTouchDBClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();return true;}}};//手势事件
|
|
1857
1860
|
this.TouchEvent=function(obj,e){var eventID=obj.EventID;var event=this.GetEventCallback(eventID);if(!event||!event.Callback)return false;var drag=this.PhoneTouchInfo;if(!drag||!drag.Start||!drag.End)return false;var pixelTatio=GetDevicePixelRatio();var clientX=drag.End.X/pixelTatio;var clientY=drag.End.Y/pixelTatio;var x=drag.End.X-this.UIElement.getBoundingClientRect().left*pixelTatio;var y=drag.End.Y-this.UIElement.getBoundingClientRect().top*pixelTatio;var data={X:clientX,Y:clientY,FrameID:-1,FunctionName:obj.FunctionName,Drag:{Start:{X:drag.Start.X/pixelTatio,Y:drag.Start.Y/pixelTatio},End:{X:drag.End.X/pixelTatio,Y:drag.End.Y/pixelTatio}}};var isInClient=false;this.Canvas.beginPath();this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());isInClient=this.Canvas.isPointInPath(x,y);if(isInClient){if(this.Frame&&this.Frame.IsHScreen){var yValueExtend={};var yValue=this.Frame.GetYData(x,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(y);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};}}else{var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};}}}event.Callback(event,data,this);return true;};this.MoveCorssCursor=function(point,e){var pixelTatio=GetDevicePixelRatio();var x=point.X-this.UIElement.getBoundingClientRect().left*pixelTatio;var y=point.Y-this.UIElement.getBoundingClientRect().top*pixelTatio;if(this.DragMode==JSCHART_DRAG_ID.CLICK_TOUCH_MODE_ID)this.TouchStatus.CorssCursorShow=true;//十字显示
|
|
1858
1861
|
this.OnMouseMove(x,y,e,true);};this.DrawEmpty=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);if(this.Frame){this.Frame.ScreenImageData=null;this.Frame.Draw();}};this.PtInChart=function(x,y){var result=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.PtInChart)continue;if(item.IsHideScriptIndex())continue;result=item.PtInChart(x,y);if(result)return result;}for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.PtInChart)continue;result=item.PtInChart(x,y);if(result)return result;}if(this.Frame.PtInOveralyChart){result=this.Frame.PtInOveralyChart(x,y);if(result)return result;}return null;};//绘制选中图形的状态
|
|
1859
1862
|
this.DrawSelectedStatus=function(){if(!this.SelectedChart.MoveOn.Identify&&!this.SelectedChart.Selected.Identify)return;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.Identify)continue;if(item.Identify!=this.SelectedChart.MoveOn.Identify&&item.Identify!=this.SelectedChart.Selected.Identify)continue;if(item.DrawSelectedStatus)item.DrawSelectedStatus();}for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Identify)continue;if(item.Identify!=this.SelectedChart.MoveOn.Identify&&item.Identify!=this.SelectedChart.Selected.Identify)continue;if(item.DrawSelectedStatus)item.DrawSelectedStatus();}for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Identify)continue;if(item.Identify!=this.SelectedChart.MoveOn.Identify&&item.Identify!=this.SelectedChart.Selected.Identify)continue;if(item.DrawSelectedStatus)item.DrawSelectedStatus();}if(this.Frame.DrawOveralySelectedStatus)this.Frame.DrawOveralySelectedStatus(this.SelectedChart);};this.SetCanvas=function(canvas){if(this.Frame){var subFrame=this.Frame.SubFrame;for(var i=0;i<subFrame.length;++i){var item=subFrame[i];item.Frame.Canvas=canvas;//框架
|
|
@@ -1979,7 +1982,7 @@ SingleOverlay:[]//独立坐标
|
|
|
1979
1982
|
item.OverlayFrame.push(overlayFrame);for(var k=0;k<overlayItem.ChartPaint.length;++k){var chart=overlayItem.ChartPaint[k];item.ChartPaint.push(chart);}}else{item.SingleOverlay.push(overlayItem);}}mapFrame.set(key,item);}for(var i=0;i<this.ChartPaint.length;++i){var chart=this.ChartPaint[i];var key=chart.ChartFrame.Identify;if(!mapFrame.has(key))continue;var finder=mapFrame.get(key);finder.ChartPaint.push(chart);}for(var i=0;i<this.OverlayChartPaint.length;++i){var chart=this.OverlayChartPaint[i];if(!chart.ChartFrame)continue;var key=chart.ChartFrame.Identify;if(!mapFrame.has(key))continue;var finder=mapFrame.get(key);finder.ChartPaint.push(chart);}var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=(0,_getIterator3.default)(mapFrame),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var mapItem=_step3.value;var item=mapItem[1];var frame=item.Frame;//计算主框架最大最小
|
|
1980
1983
|
for(var i=0;i<item.ChartPaint.length;++i){var chart=item.ChartPaint[i];if(chart.IsShow==false)continue;//隐藏的图形不计算
|
|
1981
1984
|
if(chart.NotSupportMessage)continue;if(!chart.ChartFrame)continue;var range=chart.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;if(item.Max==null||item.Max<range.Max)item.Max=range.Max;if(item.Min==null||item.Min>range.Min)item.Min=range.Min;}if(item.Frame.YSpecificMaxMin)//固定坐标
|
|
1982
|
-
{item.Min=item.Frame.YSpecificMaxMin.Max;item.Max=item.Frame.YSpecificMaxMin.Min;}if(!IFrameSplitOperator.IsNumber(frame.YMaxMin.Max)||frame.YMaxMin.Max!=item.Max){frame.YMaxMin.Max=item.Max;frame.XYSplit=true;}if(!IFrameSplitOperator.IsNumber(frame.YMaxMin.Min)||frame.YMaxMin.Min!=item.Min){frame.YMaxMin.Min=item.Min;frame.XYSplit=true;}if(frame.XYSplit){var max=10,min=0;if(item.Max!=null)max=item.Max;if(item.Min!=null)min=item.Min;frame.HorizontalMax=max;frame.HorizontalMin=min;}//共享Y轴叠加指标同步下坐标
|
|
1985
|
+
{item.Min=item.Frame.YSpecificMaxMin.Max;item.Max=item.Frame.YSpecificMaxMin.Min;}if(!IFrameSplitOperator.IsNumber(frame.YMaxMin.Max)||frame.YMaxMin.Max!=item.Max){frame.YMaxMin.Max=item.Max;frame.XYSplit=true;}if(!IFrameSplitOperator.IsNumber(frame.YMaxMin.Min)||frame.YMaxMin.Min!=item.Min){frame.YMaxMin.Min=item.Min;frame.XYSplit=true;}if(frame.XYSplit){var max=10,min=0;if(item.Max!=null)max=item.Max;if(item.Min!=null)min=item.Min;frame.HorizontalMax=max;frame.HorizontalMin=min;}else{frame.XSplit=true;}//共享Y轴叠加指标同步下坐标
|
|
1983
1986
|
for(var j=0;j<item.OverlayFrame.length;++j){item.OverlayFrame[j].XYSplit=true;}//独立坐标叠加指标
|
|
1984
1987
|
for(var i=0;i<item.SingleOverlay.length;++i){var overlayItem=item.SingleOverlay[i];overlayItem.UpdateFrameMaxMin();}}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}};this.UpdateFrameMaxMin=function(){this.UpdateFrameMaxMinV2();return;var frameMaxMinData=new Array();var chartPaint=new Array();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsShow==false)continue;//隐藏的图形不计算
|
|
1985
1988
|
chartPaint.push(this.ChartPaint[i]);}for(var i=0;i<this.OverlayChartPaint.length;++i){chartPaint.push(this.OverlayChartPaint[i]);}var aryNotSupport=[];for(var i=0;i<chartPaint.length;++i){var paint=chartPaint[i];if(paint.NotSupportMessage){aryNotSupport.push(paint);continue;}var range=paint.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;var frameItem=null;for(var j=0;j<frameMaxMinData.length;++j){if(frameMaxMinData[j].Frame==paint.ChartFrame){frameItem=frameMaxMinData[j];break;}}if(frameItem){if(frameItem.Range.Max<range.Max)frameItem.Range.Max=range.Max;if(frameItem.Range.Min>range.Min)frameItem.Range.Min=range.Min;}else{frameItem={OverlayFrame:[]};frameItem.Frame=paint.ChartFrame;frameItem.Range=range;frameMaxMinData.push(frameItem);}}//当前计算
|
|
@@ -2095,8 +2098,8 @@ if(dest.WindowIndex>=fixedWindowCount&&this.WindowIndex[dest.WindowIndex]==null)
|
|
|
2095
2098
|
{if(findOverlayItem)this.DeleteOverlayIndex(findOverlayItem.Identify,src.WindowIndex);else if(findItem)this.DeleteMainIndex(findItem.Guid,src.WindowIndex);}var bindData=this.GetMainData();this.BindIndexData(dest.WindowIndex,bindData);//执行脚本
|
|
2096
2099
|
this.UpdataDataoffset();//更新数据偏移
|
|
2097
2100
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
2098
|
-
this.Draw();}else{var subFrame=this.Frame.SubFrame[dest.WindowIndex];
|
|
2099
|
-
frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=frame.ChartBorder;frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;frame.YSplitOperator.GetEventCallback=function(id){return _this13.GetEventCallback(id);};overlayFrame.Frame=frame;var scriptIndex;if(findItem){scriptIndex=this.CreateOverlayScript(findItem);scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:dest.WindowIndex,Frame:overlayFrame};//叠加指标信息
|
|
2101
|
+
this.Draw();}else{var subFrame=this.Frame.SubFrame[dest.WindowIndex];var overlayFrame=new OverlayIndexItem();var frame=this.CreateOverlayFrame();frame.Canvas=this.Canvas;frame.MainFrame=subFrame.Frame;frame.ChartBorder=subFrame.Frame.ChartBorder;if(findOverlayItem)frame.IsShow=findOverlayItem.Frame.IsShow;//if (obj.IsShareY===true) frame.IsShareY=true;
|
|
2102
|
+
frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=frame.ChartBorder;frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;frame.YSplitOperator.GetEventCallback=function(id){return _this13.GetEventCallback(id);};overlayFrame.Frame=frame;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);if(event&&event.Callback){var sendData={OverlayFrame:overlayFrame,WindowIndex:dest.WindowIndex,SubFrame:subFrame};event.Callback(event,sendData,this);}var scriptIndex;if(findItem){scriptIndex=this.CreateOverlayScript(findItem);scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:dest.WindowIndex,Frame:overlayFrame};//叠加指标信息
|
|
2100
2103
|
}else if(findOverlayItem){scriptIndex=this.CreateOverlayScript(findOverlayItem.Script);scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:dest.WindowIndex,Frame:overlayFrame};//叠加指标信息
|
|
2101
2104
|
}overlayFrame.Script=scriptIndex;subFrame.OverlayIndex.push(overlayFrame);var updateWindowIndex=dest.WindowIndex;if(option.Operator==0)//移动模式, 删除原来的
|
|
2102
2105
|
{if(findOverlayItem)this.DeleteOverlayIndex(findOverlayItem.Identify,src.WindowIndex);else if(findItem){this.DeleteMainIndex(findItem.Guid,src.WindowIndex);var find=this.FindScriptIndex(overlayFrame.Identify);if(find)updateWindowIndex=find.WindowIndex;}}var bindData=this.GetMainData();this.BindOverlayIndexData(overlayFrame,updateWindowIndex,bindData);this.UpdataDataoffset();//更新数据偏移
|
|
@@ -2150,7 +2153,7 @@ this.TextColor2;//右侧文字颜色,空使用TextColor
|
|
|
2150
2153
|
this.Font=g_JSChartResource.FrameSplitTextFont;//字体
|
|
2151
2154
|
this.LineColor=g_JSChartResource.FrameSplitPen;//线段颜色
|
|
2152
2155
|
this.LineDash=null;//当线段类型==2时 可以设置虚线样式
|
|
2153
|
-
this.LineType=1;//线段类型 -1
|
|
2156
|
+
this.LineType=1;//线段类型 -1=不画线段 2=虚线, 8,9=集合竞价坐标
|
|
2154
2157
|
this.LineWidth;//线段宽度
|
|
2155
2158
|
this.ExtendData;//扩展属性
|
|
2156
2159
|
//百分比 { PriceColor:, PercentageColor:, SplitColor:, Font: }
|
|
@@ -2211,16 +2214,31 @@ this.IsDrawTitleBottomLine=false;this.BorderLine=null;//1=上 2=下 4=左 8=右
|
|
|
2211
2214
|
this.Buttons=[];//按钮事件
|
|
2212
2215
|
this.LeftButtonWidth=0;//左侧按钮的宽度
|
|
2213
2216
|
this.IsMinSize=false;//窗口是否最小化
|
|
2214
|
-
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.LogoBGColor=g_JSChartResource.FrameLogo.BGColor;this.GlobalOption
|
|
2217
|
+
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.LogoBGColor=g_JSChartResource.FrameLogo.BGColor;this.GlobalOption;//this.IsDrawLeftBorder;
|
|
2218
|
+
this.IsDrawRightBorder=false;//是否绘制右侧刻度空白的边框
|
|
2219
|
+
this.PtInButtons=function(x,y)//坐标是否在按钮上
|
|
2215
2220
|
{for(var i=0;i<this.Buttons.length;++i){var item=this.Buttons[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;};this.GetBorder=function(){if(this.IsHScreen)return this.ChartBorder.GetHScreenBorder();else return this.ChartBorder.GetBorder();};this.Draw=function(){this.Buttons=[];this.DrawFrame();this.DrawBorder();this.SizeChange=false;this.XYSplit=false;this.XSplit=false;};this.DrawFrame=function(){};this.ClearCoordinateText=function(option){if(IFrameSplitOperator.IsNonEmptyArray(this.HorizontalInfo)){for(var i=0;i<this.HorizontalInfo.length;++i){var item=this.HorizontalInfo[i];if(item&&item.Message&&Array.isArray(item.Message))item.Message[0]=item.Message[1]=null;}}if(IFrameSplitOperator.IsNonEmptyArray(this.VerticalInfo)){for(var i=0;i<this.VerticalInfo.length;++i){var item=this.VerticalInfo[i];if(item&&item.Message&&Array.isArray(item.Message))item.Message[0]=item.Message[1]=null;}}};//画边框
|
|
2216
2221
|
this.DrawBorder=function(){if(!this.IsShowBorder)return;if(this.IsMinSize)return;var border=this.IsHScreen==true?this.ChartBorder.GetHScreenBorder():this.ChartBorder.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);//var top=ToFixedPoint(border.TopEx);
|
|
2217
2222
|
var right=ToFixedPoint(border.Right);var bottom=ToFixedPoint(border.Bottom);var width=right-left;var height=bottom-top;//JSConsole.Chart.Log(`[IChartFramePainting.DrawBorder] left=${left} `);
|
|
2218
|
-
if(this.BorderLine==null){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.strokeRect(left,top,width,height);}else if(IFrameSplitOperator.IsPlusNumber(this.BorderLine))//单独绘制每个边框
|
|
2223
|
+
if(this.BorderLine==null){if(this.IsDrawRightBorder){var xRight=ToFixedPoint(border.ChartWidth);this.Canvas.strokeStyle=this.PenBorder;this.Canvas.strokeRect(left,top,xRight-left,height);this.Canvas.beginPath();this.Canvas.moveTo(right,top);this.Canvas.lineTo(right,bottom);this.Canvas.stroke();}else{this.Canvas.strokeStyle=this.PenBorder;this.Canvas.strokeRect(left,top,width,height);}}else if(IFrameSplitOperator.IsPlusNumber(this.BorderLine))//单独绘制每个边框
|
|
2219
2224
|
{this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();if((this.BorderLine&1)>0)//上
|
|
2220
2225
|
{this.Canvas.moveTo(left,top);this.Canvas.lineTo(right,top);}if((this.BorderLine&2)>0)//下
|
|
2221
2226
|
{this.Canvas.moveTo(left,bottom);this.Canvas.lineTo(right,bottom);}if((this.BorderLine&4)>0)//左
|
|
2222
2227
|
{this.Canvas.moveTo(left,top);this.Canvas.lineTo(left,bottom);}if((this.BorderLine&8)>0)//右
|
|
2223
|
-
{this.Canvas.moveTo(right,top);this.Canvas.lineTo(right,bottom);}this.Canvas.stroke();}
|
|
2228
|
+
{this.Canvas.moveTo(right,top);this.Canvas.lineTo(right,bottom);}this.Canvas.stroke();}/*
|
|
2229
|
+
if (this.IsDrawRightBorder)
|
|
2230
|
+
{
|
|
2231
|
+
var xRight=ToFixedPoint(border.ChartWidth);
|
|
2232
|
+
var xLeft=right;
|
|
2233
|
+
this.Canvas.beginPath();
|
|
2234
|
+
this.Canvas.moveTo(xLeft,top);
|
|
2235
|
+
this.Canvas.lineTo(xRight,top);
|
|
2236
|
+
this.Canvas.lineTo(xRight,bottom);
|
|
2237
|
+
this.Canvas.lineTo(xLeft,bottom);
|
|
2238
|
+
|
|
2239
|
+
this.Canvas.stroke();
|
|
2240
|
+
}
|
|
2241
|
+
*/};//画标题背景色
|
|
2224
2242
|
this.DrawTitleBG=function(){if(this.ChartBorder.TitleHeight<=0)return;var border=this.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);var right=ToFixedPoint(border.Right);var bottom=ToFixedPoint(this.ChartBorder.GetTopTitle());var width=right-left;var height=bottom-top;this.Canvas.fillStyle=this.TitleBGColor;this.Canvas.fillRect(left,top,width,height);if(this.IsDrawTitleBottomLine){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(border.TopTitle));this.Canvas.lineTo(right,ToFixedPoint(border.TopTitle));this.Canvas.stroke();}};this.DrawLock=function(){if(this.IsLocked){if(this.LockPaint==null)this.LockPaint=new ChartLock();this.LockPaint.Canvas=this.Canvas;this.LockPaint.ChartBorder=this.ChartBorder;this.LockPaint.ChartFrame=this;this.LockPaint.Draw(true);}};this.DrawLogo=function(){var border=this.GetBorder();var text=g_JSChartResource.FrameLogo.Text;if(!IFrameSplitOperator.IsString(text))return;this.Canvas.font=this.LogoTextFont;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var height=this.Canvas.measureText("擎").width;var width=this.Canvas.measureText(text).width;if(this.IsHScreen){var x=border.Left+5;var y=border.Top+5;this.Canvas.save();this.Canvas.translate(x,y);this.Canvas.rotate(90*Math.PI/180);var rtBG={Left:0,Bottom:0,Width:width+4,Height:height+4};rtBG.Top=rtBG.Bottom-rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;if(this.LogoBGColor){this.Canvas.fillStyle=this.LogoBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.fillStyle=this.LogoTextColor;this.Canvas.fillText(text,1,0);this.Canvas.restore();}else{var rtBG={Left:border.Left+5,Bottom:border.Bottom-5,Width:width+4,Height:height+4};rtBG.Top=rtBG.Bottom-rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;if(this.LogoBGColor){this.Canvas.fillStyle=this.LogoBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}var x=rtBG.Left+1;var y=rtBG.Bottom-1;this.Canvas.fillStyle=this.LogoTextColor;this.Canvas.fillText(text,x,y);}};this.CalculateLock=function(){if(this.IsLocked){if(this.LockPaint==null)this.LockPaint=new ChartLock();this.LockPaint.Canvas=this.Canvas;this.LockPaint.ChartBorder=this.ChartBorder;this.LockPaint.ChartFrame=this;this.LockPaint.Draw(false);}};//设施上锁
|
|
2225
2243
|
this.SetLock=function(lockData){if(!lockData)//空数据不上锁
|
|
2226
2244
|
{this.IsLocked=false;return;}this.IsLocked=true;if(!this.LockPaint)this.LockPaint=new ChartLock();//创建锁
|
|
@@ -2255,29 +2273,36 @@ this.MultiTextFormat=0;//多行刻度信息显示模式 0=显示第1行 1=价格
|
|
|
2255
2273
|
this.RightTextMaxWidth=0;this.ShortYLineLength=5;this.ShortXLineLength=5;this.BeforeDrawXYCallback;//坐标绘制前回调,绘制深度图
|
|
2256
2274
|
this.GetEventCallback;//事件回调
|
|
2257
2275
|
//工具栏的按钮样式
|
|
2258
|
-
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.ExportDataButton=CloneData(g_JSChartResource.Buttons.ExportData);this.ButtonTooltip=CloneData(g_JSChartResource.Buttons.Tooltip)
|
|
2276
|
+
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.ExportDataButton=CloneData(g_JSChartResource.Buttons.ExportData);this.ButtonTooltip=CloneData(g_JSChartResource.Buttons.Tooltip);//Y轴刻度长线
|
|
2277
|
+
this.YLineExtend;//[0]=左 [1]=右 { Width:5, Color:颜色, }
|
|
2278
|
+
this.YTextExtend;//[0]=左 [1]=右 { Align:0=默认 1=左对齐 2=右对齐 }
|
|
2279
|
+
this.YRightTextInfo;//画图工具刻度
|
|
2259
2280
|
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
|
|
2260
2281
|
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);//底部开始画
|
|
2261
2282
|
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;//右往左绘制
|
|
2262
2283
|
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(mouseOnToolbar.ID=="TitleButton"){var x=mouseOnToolbar.Point.X;var y=mouseOnToolbar.Point.Y+20;}else 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||mouseOnToolbar.Item.ID>=JSCHART_BUTTON_ID.DRAW_PICTURE_BUTTON_1&&mouseOnToolbar.Item.ID<=JSCHART_BUTTON_ID.DRAW_PICTURE_BUTTON_18){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);//画一个背景色, 不然是一个黑的背景
|
|
2263
2284
|
this.Canvas.fillStyle=this.ButtonTooltip.Color;this.Canvas.fillText(text,x+4,y+bgHeight/2);};//isLimit 是否限制在当前坐标下
|
|
2264
2285
|
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轴
|
|
2265
|
-
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.GetTop();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
|
|
2286
|
+
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.GetTop();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 rightExtendLine=null;//右侧延长线
|
|
2287
|
+
if(IFrameSplitOperator.IsNonEmptyArray(this.YLineExtend)){rightExtendLine=this.YLineExtend[1];}var rightExtendText=null;//右侧文字设置
|
|
2288
|
+
if(IFrameSplitOperator.IsNonEmptyArray(this.YTextExtend)){rightExtendText=this.YTextExtend[1];}var yPrev=null;//上一个坐标y的值
|
|
2266
2289
|
var pixelRatio=GetDevicePixelRatio();var itemHeight=(border.BottomEx-border.TopEx)/this.HorizontalInfo.length;var aryMultiText=[];var rtPreRight,rtRight,rtLeft,rtPreLeft;var textBaseline=0;//0=上 1=中 2=下
|
|
2267
2290
|
for(var i=this.HorizontalInfo.length-1;i>=0;--i)//从上往下画分割线
|
|
2268
2291
|
{var item=this.HorizontalInfo[i];var y=this.GetYFromData(item.Value);if(y!=null&&yPrev!=null&&Math.abs(y-yPrev)<this.MinYDistance)continue;//两个坐标在近了 就不画了
|
|
2269
|
-
var yFixed=ToFixedPoint(y)
|
|
2292
|
+
var yFixed=ToFixedPoint(y);//绘制刻度线
|
|
2293
|
+
if(y!=bottom&&this.IsShowYLine){var bChangeLineWidth=false;if(IFrameSplitOperator.IsPlusNumber(item.LineWidth))//刻度线宽度
|
|
2270
2294
|
{this.Canvas.lineWidth=item.LineWidth*pixelRatio;bChangeLineWidth=true;}this.Canvas.strokeStyle=item.LineColor;if(item.LineType==2){this.Canvas.save();if(item.LineDash)this.Canvas.setLineDash(item.LineDash);else this.Canvas.setLineDash([5*pixelRatio,5*pixelRatio]);//虚线
|
|
2271
2295
|
this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(right,yFixed);this.Canvas.stroke();this.Canvas.setLineDash([]);this.Canvas.restore();}else if(item.LineType==3)//只在刻度边上画一个短横线
|
|
2272
2296
|
{}else if(item.LineType==8||item.LineType==9)//集合竞价不画线
|
|
2273
2297
|
{}else if(item.LineType>0){if(g_JSChartResource.FrameYLineDash){this.Canvas.save();this.Canvas.setLineDash(g_JSChartResource.FrameYLineDash);//虚线
|
|
2274
|
-
this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(right,yFixed);this.Canvas.stroke();this.Canvas.setLineDash([]);this.Canvas.restore();}else{this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(right,yFixed);this.Canvas.stroke();}}if(bChangeLineWidth){this.Canvas.lineWidth=pixelRatio;}}var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';textBaseline=2;}else if(y<=top+2){this.Canvas.textBaseline='top';yText+=this.YTextTopOffset;textBaseline=0;}else{this.Canvas.textBaseline="middle";textBaseline=1;}
|
|
2275
|
-
this.Canvas.strokeStyle=item.TextColor;this.Canvas.fillStyle=item.TextColor;if(item.Message[0]!=null&&isDrawLeft){if(item.Font!=null)this.Canvas.font=item.Font;rtLeft=this.GetTextTopBottom(textBaseline,yText);if(!rtPreLeft||rtLeft&&!this.IsTextTopBottomOverlap(rtLeft,rtPreLeft)){this.Canvas.textAlign="right";this.Canvas.fillText(item.Message[0],left-this.YTextPadding[0],yText);rtPreLeft=rtLeft;}}
|
|
2276
|
-
if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.Font;var xText=right;if(item.LineType==3){var lineLength=this.ShortYLineLength*GetDevicePixelRatio();this.Canvas.beginPath();this.Canvas.moveTo(xText,yFixed);this.Canvas.lineTo(xText+lineLength,yFixed);this.Canvas.stroke();xText+=lineLength;}
|
|
2298
|
+
this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(right,yFixed);this.Canvas.stroke();this.Canvas.setLineDash([]);this.Canvas.restore();}else{this.Canvas.beginPath();this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(right,yFixed);this.Canvas.stroke();}}if(bChangeLineWidth){this.Canvas.lineWidth=pixelRatio;}}var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';textBaseline=2;}else if(y<=top+2){this.Canvas.textBaseline='top';yText+=this.YTextTopOffset;textBaseline=0;}else{this.Canvas.textBaseline="middle";textBaseline=1;}//左边 坐标信息 间距小于10 不画坐标
|
|
2299
|
+
this.Canvas.strokeStyle=item.TextColor;this.Canvas.fillStyle=item.TextColor;if(item.Message[0]!=null&&isDrawLeft){if(item.Font!=null)this.Canvas.font=item.Font;rtLeft=this.GetTextTopBottom(textBaseline,yText);if(!rtPreLeft||rtLeft&&!this.IsTextTopBottomOverlap(rtLeft,rtPreLeft)){this.Canvas.textAlign="right";this.Canvas.fillText(item.Message[0],left-this.YTextPadding[0],yText);rtPreLeft=rtLeft;}}//右边 坐标信息 间距小于10 不画坐标
|
|
2300
|
+
if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.Font;var xText=right;if(item.LineType==3){var lineLength=this.ShortYLineLength*GetDevicePixelRatio();this.Canvas.beginPath();this.Canvas.moveTo(xText,yFixed);this.Canvas.lineTo(xText+lineLength,yFixed);this.Canvas.stroke();xText+=lineLength;}//右侧延长线
|
|
2301
|
+
if(rightExtendLine&&rightExtendLine.Width>1){var lineLength=rightExtendLine.Width;if(rightExtendLine.Color)this.Canvas.strokeStyle=rightExtendLine.Color;else this.Canvas.strokeStyle=item.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xText,yFixed);this.Canvas.lineTo(xText+lineLength,yFixed);this.Canvas.stroke();xText+=lineLength+2;}this.Canvas.textAlign="left";if(Array.isArray(item.Message[1])){if(this.MultiTextFormat==1)//显示1行 格式:价格/百分比
|
|
2277
2302
|
{if(item.ExtendData){if(item.ExtendData.Font)this.Canvas.font=item.ExtendData.Font;}var textData={Text:[{Text:item.Message[1][0],Width:this.Canvas.measureText(item.Message[1][0]).width},{Text:item.Message[1][1],Width:this.Canvas.measureText(item.Message[1][1]).width}],X:xText+2,Y:yText,TextBaseline:this.Canvas.textBaseline,Item:item};aryMultiText.push(textData);}else if(this.MultiTextFormat==2)//显示2行
|
|
2278
2303
|
{this.Canvas.fillText(item.Message[1][0],xText+this.YTextPadding[1],yText);var lineHeight=this.Canvas.measureText('M').width;if(itemHeight>lineHeight*2)this.Canvas.fillText(item.Message[1][1],xText+this.YTextPadding[1],yText+lineHeight);}else//显示第1行
|
|
2279
2304
|
{this.Canvas.fillText(item.Message[1][0],xText+this.YTextPadding[1],yText);}}else{//计算显示的区域
|
|
2280
|
-
rtRight=this.GetTextTopBottom(textBaseline,yText);if(!rtPreRight||rtRight&&!this.IsTextTopBottomOverlap(rtRight,rtPreRight)){if(item.TextColor2)this.Canvas.fillStyle=item.TextColor2;this.Canvas.fillText(item.Message[1],xText+this.YTextPadding[1],yText);rtPreRight=rtRight;}}}yPrev=y;}if(IFrameSplitOperator.IsNonEmptyArray(aryMultiText)&&this.MultiTextFormat==1)this.DrawHorizontalMuText(aryMultiText);};//上下区域是否重叠
|
|
2305
|
+
rtRight=this.GetTextTopBottom(textBaseline,yText);if(!rtPreRight||rtRight&&!this.IsTextTopBottomOverlap(rtRight,rtPreRight)){if(item.TextColor2)this.Canvas.fillStyle=item.TextColor2;if(rightExtendText&&rightExtendText.Align&&this.YRightTextInfo){this.Canvas.textAlign="right";var xRight=this.YRightTextInfo.MainTextWidth+right-this.YTextPadding[1];this.Canvas.fillText(item.Message[1],xRight,yText);}else{this.Canvas.fillText(item.Message[1],xText+this.YTextPadding[1],yText);}rtPreRight=rtRight;}}}yPrev=y;}if(IFrameSplitOperator.IsNonEmptyArray(aryMultiText)&&this.MultiTextFormat==1)this.DrawHorizontalMuText(aryMultiText);if(isDrawRight&&this.IsDrawRightBorder&&this.YRightTextInfo){var xRight=this.YRightTextInfo.MainTextWidth+right;xLine=ToFixedPoint(xRight);this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(xLine,top);this.Canvas.lineTo(xLine,bottom);this.Canvas.stroke();if(IFrameSplitOperator.IsNonEmptyArray(this.YRightTextInfo.AryOverlayWidth)){this.Canvas.beginPath();for(var i=0;i<this.YRightTextInfo.AryOverlayWidth.length;++i){var width=this.YRightTextInfo.AryOverlayWidth[i];xRight+=width;xLine=ToFixedPoint(xRight);this.Canvas.moveTo(xLine,top);this.Canvas.lineTo(xLine,bottom);}this.Canvas.stroke();}}};//上下区域是否重叠
|
|
2281
2306
|
this.IsTextTopBottomOverlap=function(rt,rt2){if(rt2.Top>=rt.Top&&rt2.Top<=rt.Bottom)return true;if(rt2.Bottom>=rt.Top&&rt2.Bottom<=rt.Bottom)return true;return false;};this.GetTextTopBottom=function(textBaseline,yText){var rtRight=null;var textHeight=this.Canvas.measureText('擎').width;if(textBaseline==0){rtRight={Top:yText,Bottom:yText+textHeight};}else if(textBaseline==1){rtRight={Top:yText-textHeight/2};rtRight.Bottom=rtRight.Top+textHeight;}else if(textBaseline==2){rtRight={Bottom:yText};rtRight.Top=rtRight.Bottom-textHeight;}return rtRight;};this.DrawHorizontalMuText=function(aryText){var maxWidth=[null,null];for(var i=0;i<aryText.length;++i){var item=aryText[i];var width=item.Text[0].Width;if(!IFrameSplitOperator.IsNumber(maxWidth[0]))maxWidth[0]=width;else if(maxWidth[0]<width)maxWidth[0]=width;width=item.Text[1].Width;if(!IFrameSplitOperator.IsNumber(maxWidth[1]))maxWidth[1]=width;else if(maxWidth[1]<width)maxWidth[1]=width;}for(var i=0;i<aryText.length;++i){var item=aryText[i];var message=item.Item;this.Canvas.textBaseline=message.TextBaseline;if(message.ExtendData&&message.ExtendData.Font)this.Canvas.font=message.ExtendData.Font;else if(message.Font)this.Canvas.font=message.Font;if(message.ExtendData&&message.ExtendData.PriceColor)this.Canvas.fillStyle=message.ExtendData.PriceColor;else this.Canvas.fillStyle=message.TextColor;this.Canvas.textAlign="right";var x=item.X+maxWidth[1];this.Canvas.fillText(item.Text[1].Text,x,item.Y);if(message.ExtendData&&message.ExtendData.SplitColor)this.Canvas.fillStyle=message.ExtendData.SplitColor;else this.Canvas.fillStyle=message.TextColor;this.Canvas.textAlign="left";var splitWidth=this.Canvas.measureText('/').width;this.Canvas.fillText('/',x,item.Y);if(message.ExtendData&&message.ExtendData.PercentageColor)this.Canvas.fillStyle=message.ExtendData.PercentageColor;else this.Canvas.fillStyle=message.TextColor;this.Canvas.textAlign="right";var x=item.X+maxWidth[1]+maxWidth[0]+splitWidth;this.Canvas.fillText(item.Text[0].Text,x,item.Y);var textWidth=maxWidth[1]+maxWidth[0]+splitWidth*4;if(this.RightTextMaxWidth<textWidth)this.RightTextMaxWidth=textWidth;}};//画Y轴Message[2,3]两个内部刻度
|
|
2282
2307
|
this.DrawInsideClientHorizontal=function(){var border=this.GetBorder();if(border.DayBorder&&IFrameSplitOperator.IsNonEmptyArray(border.DayBorder)){var item=border.DayBorder[0];var left=item.LeftEx;var item=border.DayBorder[border.DayBorder.length-1];var right=item.RightEx;var bottom=border.Bottom;var top=border.TopTitle;}else{var left=border.LeftEx;var right=border.RightEx;var bottom=border.Bottom;var top=border.TopTitle;}var pixelTatio=GetDevicePixelRatio();var yPrev=null;//上一个坐标y的值
|
|
2283
2308
|
var yInsideText=null;for(var i=this.HorizontalInfo.length-1;i>=0;--i)//从上往下画分割线
|
|
@@ -2304,14 +2329,14 @@ this.GetYData=function(y,isLimit){if(this.Logarithmic&&this.GetYLogarithmicFromD
|
|
|
2304
2329
|
{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轴数值
|
|
2305
2330
|
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轴坐标信息
|
|
2306
2331
|
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();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");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);}};//字体外部设置好
|
|
2307
|
-
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;
|
|
2332
|
+
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;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.DrawCustomItem=function(item,mapTextRect)//显示自定义Y刻度
|
|
2308
2333
|
{if(!item.Message[1]&&!item.Message[0])return;if(item.Value>this.HorizontalMax||item.Value<this.HorizontalMin){this.SendDrawCountDownEvent({IsShow:false});return;}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;var y=this.GetYFromData(item.Value);var position=0;var emptyBGColor;if(item.ExtendData&&item.ExtendData.Custom){var customItem=item.ExtendData.Custom;if(IFrameSplitOperator.IsNumber(customItem.Position))position=customItem.Position;if(customItem.EmptyBGColor)emptyBGColor=customItem.EmptyBGColor;}if(item.Message[0])// 左
|
|
2309
2334
|
{if(borderLeft<10||position==1){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";var textInfo=this.GetCustomItemTextInfo(item,true,pixelTatio);var textWidth=textInfo.MaxWidth;var fontHeight=this.GetFontHeight();textHeight=fontHeight>defaultTextHeight?fontHeight:defaultTextHeight;var bgColor=item.LineColor;var rgb=this.RGBToStruct(item.LineColor);if(rgb)bgColor='rgba('+rgb.R+', '+rgb.G+', '+rgb.B+', '+g_JSChartResource.FrameLatestPrice.BGAlpha+')';//内部刻度 背景增加透明度
|
|
2310
2335
|
var yText=y;for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];if(this.IsHScreen){var bgTop=top;var textLeft=yText-textHeight/2-1*pixelTatio;this.Canvas.fillStyle=bgColor;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(bgTop+itemText.Width,bottom,yText,item.LineColor,item.LineType,item);yText-=textHeight+1*pixelTatio;}else{if(itemText.Type===1){}else{var bgTop=yText-textHeight/2-1*pixelTatio;var textLeft=left+1*pixelTatio;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft+1*pixelTatio,yText);if(i==0)this.DrawLine(textLeft+itemText.Width,right,yText,item.LineColor,item.LineType,item);yText+=textHeight+1*pixelTatio;}}}}else{if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";var textInfo=this.GetCustomItemTextInfo(item,true,pixelTatio);var textWidth=textInfo.MaxWidth;var fontHeight=this.GetFontHeight();textHeight=fontHeight>defaultTextHeight?fontHeight:defaultTextHeight;var yText=y;for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];if(this.IsHScreen){if(i==0)var bgTop=top-itemText.Width;else var bgTop=top-textWidth;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(bgTop+itemText.Width,bottom,yText,item.LineColor,item.LineType,item);yText-=textHeight+1*pixelTatio;}else{var bgTop=yText-textHeight/2-1*pixelTatio;if(i==0){var rectLeft=left-itemText.Width;var textLeft=left;}else{var rectLeft=left-textWidth;var textLeft=left-(textWidth-itemText.Width);}if(emptyBGColor){this.Canvas.fillStyle=emptyBGColor;this.Canvas.fillRect(rectLeft-1,bgTop,itemText.Width+1,textHeight);this.Canvas.strokeStyle=item.LineColor;this.Canvas.strokeRect(ToFixedPoint(rectLeft-1),ToFixedPoint(bgTop),ToFixedPoint(itemText.Width+1),ToFixedPoint(textHeight));this.Canvas.fillStyle=item.LineColor;this.Canvas.fillText(itemText.Text,textLeft-1*pixelTatio,yText);}else{this.Canvas.fillStyle=item.LineColor;this.Canvas.fillRect(rectLeft,bgTop,itemText.Width,textHeight);this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft-1*pixelTatio,yText);}if(i==0)this.DrawLine(left,right,yText,item.LineColor,item.LineType,item);yText+=textHeight+1*pixelTatio;}}}}else if(item.Message[1])//右
|
|
2311
2336
|
{if(borderRight<10||position==1){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 bgColor=item.LineColor;var rgb=this.RGBToStruct(item.LineColor);if(rgb)bgColor='rgba('+rgb.R+', '+rgb.G+', '+rgb.B+', '+g_JSChartResource.FrameLatestPrice.BGAlpha+')';//内部刻度 背景增加透明度
|
|
2312
2337
|
var yText=y;for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];if(this.IsHScreen){var bgTop=bottom-itemText.Width;var textLeft=yText-textHeight/2-1*pixelTatio;this.Canvas.fillStyle=bgColor;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,Right:right,Height:null,IsShow:true,BGColor:item.LineColor,TextColor:item.TextColor,PixelTatio:pixelTatio,Position:"Right",IsInside:true};if(this.SendDrawCountDownEvent(sendData)){if(IFrameSplitOperator.IsPlusNumber(sendData.Height))yText+=textHeight+1*pixelTatio;}}}else{var bgTop=yText-textHeight/2-1*pixelTatio;var textLeft=right-itemText.Width;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);//文本背景区域
|
|
2313
|
-
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);
|
|
2314
|
-
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){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(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{this.Canvas.fillStyle=item.LineColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);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);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+')';//内部刻度 背景增加透明度
|
|
2338
|
+
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);
|
|
2339
|
+
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){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(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{this.Canvas.fillStyle=item.LineColor;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);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+')';//内部刻度 背景增加透明度
|
|
2315
2340
|
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.SendDrawCountDownEvent=function(sendData){if(!this.GetEventCallback)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_COUNTDOWN);if(!event||!event.Callback)return false;event.Callback(event,sendData,this);return true;};this.DrawDotLine=function(left,right,y,color,option){var pixelTatio=GetDevicePixelRatio();this.Canvas.save();this.Canvas.strokeStyle=color;if(option&&IFrameSplitOperator.IsPlusNumber(option.LineWidth))this.Canvas.lineWidth=option.LineWidth*pixelTatio;if(option.LineDash)this.Canvas.setLineDash(option.LineDash);else this.Canvas.setLineDash([5*pixelTatio,5*pixelTatio]);//虚线
|
|
2316
2341
|
this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),right);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}this.Canvas.stroke();this.Canvas.restore();};this.DrawLine=function(left,right,y,color,lineType,option){if(lineType==-1)return;if(lineType==0){var pixelRatio=GetDevicePixelRatio();this.Canvas.strokeStyle=color;var bChangeLineWidth=false;if(option&&IFrameSplitOperator.IsPlusNumber(option.LineWidth)){this.Canvas.lineWidth=option.LineWidth*pixelRatio;bChangeLineWidth=true;}this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(y),left);this.Canvas.lineTo(ToFixedPoint(y),right);}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}this.Canvas.stroke();if(bChangeLineWidth){this.Canvas.lineWidth=pixelRatio;}}else{this.DrawDotLine(left,right,y,color,option);}};this.DrawHScreenText=function(center,data){this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=data.Color;this.Canvas.save();this.Canvas.translate(center.X,center.Y);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(data.Text,data.XOffset,data.YOffset);this.Canvas.restore();};this.RGBToStruct=function(rgb){if(/^(rgb|RGB)/.test(rgb)){var aColor=rgb.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");var result={};if(aColor.length!=3)return null;result.R=Number(aColor[0]);result.G=Number(aColor[1]);result.B=Number(aColor[2]);return result;}return null;};this.GetScaleTextWidth=function(){var border=this.ChartBorder.GetBorder();var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
2317
2342
|
if(this.IsHScreen){var borderTop=this.ChartBorder.Top;var borderBottom=this.ChartBorder.Bottom;var isDrawLeft=borderTop>10*pixelTatio&&this.IsShowYText[0]===true&&this.YTextPosition[0]!=2;var isDrawRight=borderBottom>10*pixelTatio&&this.IsShowYText[1]===true&&this.YTextPosition[1]!=2;}else{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;}if(!isDrawRight&&!isDrawLeft)return null;var width={Left:null,Right:null};var rightExtendWidth=0;var isYPercentage=false;//是否是百分比坐标
|
|
@@ -2534,22 +2559,27 @@ this.IsCalculateYMaxMin=true;//是否计算Y最大最小值
|
|
|
2534
2559
|
this.RightOffset=50;this.PenBorder=g_JSChartResource.OverlayFrame.BolderPen;//'rgb(0,0,0)'
|
|
2535
2560
|
this.IsShow=g_JSChartResource.KLineToolbar.IsShowOverlayFrame;//坐标是否显示
|
|
2536
2561
|
this.IsShowToolbar=g_JSChartResource.KLineToolbar.IsShowOverlayToolbar;//是否显示工具条
|
|
2537
|
-
this.Title=null;this.TitleColor=g_JSChartResource.OverlayFrame.TitleColor;this.TitleFont=g_JSChartResource.OverlayFrame.TitleFont;this.IsYDrawMainFrame=false;//Y轴自定刻度绘制在主图框架上
|
|
2562
|
+
this.Title=null;this.TitleColor=g_JSChartResource.OverlayFrame.TitleColor;this.TitleFont=g_JSChartResource.OverlayFrame.TitleFont;this.IsShowTitle=true;this.IsYDrawMainFrame=false;//Y轴自定刻度绘制在主图框架上
|
|
2563
|
+
this.BlankWidth=0;this.Style=0;//0=Y轴在BlankWidth 1=Y轴在左边
|
|
2564
|
+
this.YLineExtend=[{Width:2},null];//[0]=左 [1]=右 { Width:5, Color:颜色, }
|
|
2538
2565
|
this.Buttons=[];this.CloseButton=CloneData(g_JSChartResource.Buttons.CloseOverlayIndex);this.ModifyIndexParamButton=CloneData(g_JSChartResource.Buttons.ModifyIndexParam);this.KLineFrame_ReloadResource=this.ReloadResource;this.ReloadResource=function(resource){this.KLineFrame_ReloadResource(resource);if(!resource){this.CloseButton=CloneData(g_JSChartResource.Buttons.CloseOverlayIndex);this.ModifyIndexParamButton=CloneData(g_JSChartResource.Buttons.ModifyIndexParam);this.PenBorder=g_JSChartResource.OverlayFrame.BolderPen;//'rgb(0,0,0)'
|
|
2539
|
-
this.TitleColor=g_JSChartResource.OverlayFrame.TitleColor;this.TitleFont=g_JSChartResource.OverlayFrame.TitleFont;}};this.Draw=function(){this.Buttons=[];if(this.ChartBorder.IsShowTitleOnly)return;this.SplitXYCoordinate();if(this.IsShow){this.DrawVertical();this.DrawHorizontal();this.DrawTitle();}this.SizeChange=false;this.XYSplit=false;this.XSplit=false;}
|
|
2540
|
-
|
|
2541
|
-
if(this.
|
|
2566
|
+
this.TitleColor=g_JSChartResource.OverlayFrame.TitleColor;this.TitleFont=g_JSChartResource.OverlayFrame.TitleFont;}};this.Draw=function(){this.Buttons=[];if(this.ChartBorder.IsShowTitleOnly)return;this.SplitXYCoordinate();if(this.IsShow){this.DrawVertical();this.DrawHorizontal();this.DrawTitle();}this.SizeChange=false;this.XYSplit=false;this.XSplit=false;};//Y轴刻度线 x坐标
|
|
2567
|
+
this.GetXHorizontal=function(){var border=this.ChartBorder.GetBorder();var x=border.Right;x+=this.RightOffset;if(this.Style==1){}else{x+=this.BlankWidth;}return x;};this.GetHorizontalWidth=function(){var width=null;if(this.YRightTextInfo&&IFrameSplitOperator.IsNumber(this.TextWidthIndex))width=this.YRightTextInfo.AryOverlayWidth[this.TextWidthIndex];return width;};this.DrawTitle=function()//画标题
|
|
2568
|
+
{if(!this.IsShowTitle)return;if(!this.Title)return;var border=this.ChartBorder.GetBorder();var top=this.ChartBorder.GetTopTitle();var bottom=border.Bottom;var xText=this.GetXHorizontal();var leftLine=null,rightLine=null;if(IFrameSplitOperator.IsNonEmptyArray(this.YLineExtend)){rightLine=this.YLineExtend[1];leftLine=this.YLineExtend[0];}if(this.Style==1){this.Canvas.textBaseline="bottom";if(rightLine&&rightLine.Width>0)xText+=rightLine.Width+1;else xText+=1;}else{this.Canvas.textBaseline="top";if(leftLine&&leftLine.Width>0)xText-=leftLine.Width;else xText-=2;}var yText=top+(bottom-top)/2;this.Canvas.fillStyle=this.TitleColor;this.Canvas.font=this.TitleFont;this.Canvas.textAlign="center";this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(this.Title,0,0);this.Canvas.restore();};this.GetScaleTextWidth=function(){if(!this.IsShow)return null;var border=this.ChartBorder.GetBorder();var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
2569
|
+
if(this.IsHScreen){var borderBottom=this.ChartBorder.Bottom;var isDrawRight=borderBottom>10*pixelTatio&&this.IsShowYText[1]===true&&this.YTextPosition[1]!=2;}else{var borderRight=this.ChartBorder.Right;var isDrawRight=borderRight>10&&this.IsShowYText[1]===true&&this.YTextPosition[1]!=2;}if(!isDrawRight)return null;var width={Left:null,Right:0};for(var i=0;i<this.HorizontalInfo.length;++i){var textWidth=null;var item=this.HorizontalInfo[i];if(!item)continue;if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.Font;textWidth=this.Canvas.measureText(item.Message[1]).width;if(this.YTextPadding&&IFrameSplitOperator.IsNumber(this.YTextPadding[1]))textWidth+=this.YTextPadding[1];if(width.Right<textWidth)width.Right=textWidth;}}if(IFrameSplitOperator.IsNonEmptyArray(this.YLineExtend)){var line=this.YLineExtend[1];if(line&&line.Width>0)width.Right+=line.Width;}return{TextWidth:width};};//分割x,y轴坐标信息
|
|
2542
2570
|
this.SplitXYCoordinate=function(){if(this.XYSplit==false)return;if(this.IsShareY)//和主图指标共享Y轴坐标
|
|
2543
2571
|
{this.HorizontalMax=this.MainFrame.HorizontalMax;this.HorizontalMin=this.MainFrame.HorizontalMin;this.HorizontalInfo=[];for(var i in this.MainFrame.HorizontalInfo){var item=this.MainFrame.HorizontalInfo[i];this.HorizontalInfo.push(item);}this.CoordinateType=this.MainFrame.CoordinateType;}else//独立Y轴坐标
|
|
2544
2572
|
{if(this.YSplitOperator!=null)this.YSplitOperator.Operator();}// if (this.XSplitOperator!=null) this.XSplitOperator.Operator(); 子坐标和主坐标X轴一致 所以不用计算
|
|
2545
2573
|
};//画Y轴
|
|
2546
|
-
this.DrawHorizontal=function(){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;right+=this.RightOffset;var
|
|
2574
|
+
this.DrawHorizontal=function(){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;right+=this.RightOffset;var xLine=this.GetXHorizontal();if(IFrameSplitOperator.IsNumber(this.BlankWidth))right+=this.BlankWidth;var rightExtendText=null;//右侧文字设置
|
|
2575
|
+
if(IFrameSplitOperator.IsNonEmptyArray(this.YTextExtend)){rightExtendText=this.YTextExtend[1];}var leftLine=null,rightLine=null;if(IFrameSplitOperator.IsNonEmptyArray(this.YLineExtend)){rightLine=this.YLineExtend[1];leftLine=this.YLineExtend[0];}var rightWidth=this.GetHorizontalWidth();//右侧宽度
|
|
2576
|
+
var yPrev=null;//上一个坐标y的值
|
|
2547
2577
|
for(var i=this.HorizontalInfo.length-1;i>=0;--i)//从上往下画分割线
|
|
2548
2578
|
{var item=this.HorizontalInfo[i];var y=this.GetYFromData(item.Value);if(y!=null&&Math.abs(y-yPrev)<this.MinYDistance)continue;//两个坐标在近了 就不画了
|
|
2549
|
-
if(y>=bottom-2)this.Canvas.textBaseline='bottom';else if(y<=top+2)this.Canvas.textBaseline='top';else this.Canvas.textBaseline="middle";
|
|
2550
|
-
|
|
2551
|
-
this.
|
|
2552
|
-
var
|
|
2579
|
+
if(y>=bottom-2)this.Canvas.textBaseline='bottom';else if(y<=top+2)this.Canvas.textBaseline='top';else this.Canvas.textBaseline="middle";if(leftLine&&leftLine.Width>0)//左边
|
|
2580
|
+
{this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(xLine-leftLine.Width,ToFixedPoint(y));this.Canvas.lineTo(xLine,ToFixedPoint(y));this.Canvas.stroke();}if(rightLine&&rightLine.Width>0){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(xLine+rightLine.Width,ToFixedPoint(y));this.Canvas.lineTo(xLine,ToFixedPoint(y));this.Canvas.stroke();}//坐标信息 右边 间距小于10 不画坐标
|
|
2581
|
+
if(item.Message[1]!=null&&borderRight>10){if(item.Font!=null)this.Canvas.font=item.Font;var text=item.Message[1];if(Array.isArray(item.Message[1]))text=item.Message[1][0];if(rightExtendText&&rightExtendText.Align){var textWidth=rightWidth;this.Canvas.textAlign="right";var xRight=border.Right+this.RightOffset+textWidth-this.YTextPadding[1];this.Canvas.fillText(text,xRight,y);}else{var xText=right+2;if(rightLine&&rightLine.Width>0)xText+=rightLine.Width;this.Canvas.fillStyle=item.TextColor;this.Canvas.textAlign="left";this.Canvas.fillText(text,xText,y);}}yPrev=y;}};//画X轴
|
|
2582
|
+
this.DrawVertical=function(){var border=this.ChartBorder.GetBorder();var top=border.TopEx;var bottom=border.BottomEx;var right=this.GetXHorizontal();this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(right),ToFixedPoint(top));this.Canvas.lineTo(ToFixedPoint(right),ToFixedPoint(bottom));this.Canvas.stroke();};this.DrawToolbar=function(moveonPoint,isMinSize,mouseStatus){this.Buttons=[];if(isMinSize==true)return;if(this.ChartBorder.IsShowTitleOnly)return;if(this.ChartBorder.TitleHeight<5)return;if(!this.IsShowToolbar)return;var aryButton=[];aryButton.push({ID:JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM,Style:this.ModifyIndexParamButton});aryButton.push({ID:JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX,Style:this.CloseWindowButton});if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_OVERLAY_TOOLBAR);if(event&&event.Callback){var sendData={PreventDefault:false,DefaultButton:aryButton,AryButton:null,Guid:this.Guid};event.Callback(event,sendData,this);if(sendData.PreventDefault){this.DrawToolbarButton(sendData.AryButton,moveonPoint,mouseStatus);return;}}}this.DrawToolbarButton(aryButton,moveonPoint,mouseStatus);};this.DrawToolbarButton=function(aryButton,moveonPoint,mouseStatus){if(!IFrameSplitOperator.IsNonEmptyArray(aryButton))return;var border=this.ChartBorder.GetBorder();var yButton=border.Top+this.ChartBorder.TitleHeight/2;var rightWidth=this.GetHorizontalWidth();var xBotton=border.Right+this.RightOffset+rightWidth-this.CloseButton.MerginLeft;for(var i=aryButton.length-1;i>=0;--i){var item=aryButton[i];var size=item.Style.Size;var font=size+'px '+item.Style.Family;var rtButton={Left:xBotton-size-item.Style.MerginLeft,Top:yButton-size/2,Right:xBotton,Bottom:yButton+size/2,Width:size+item.Style.MerginLeft,Height:size};var color=this.CloseButton.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="right";this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Style.Text,xBotton,yButton);this.Buttons.push({ID:item.ID,Rect:rtButton});xBotton=rtButton.Left;}};this.DrawCustomItem=function(item,mapTextRect)//显示自定义Y刻度
|
|
2553
2583
|
{if(!this.IsShow&&!this.IsYDrawMainFrame)return;if(!item.Message[1]&&!item.Message[0])return;if(item.Value>this.HorizontalMax||item.Value<this.HorizontalMin){this.SendDrawCountDownEvent({IsShow:false});return;}var border=this.GetBorder();var left=border.Left;var right=border.Right+this.RightOffset;if(this.IsYDrawMainFrame)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;var y=this.GetYFromData(item.Value);var position=0;var emptyBGColor;if(item.ExtendData&&item.ExtendData.Custom){var customItem=item.ExtendData.Custom;if(IFrameSplitOperator.IsNumber(customItem.Position))position=customItem.Position;if(customItem.EmptyBGColor)emptyBGColor=customItem.EmptyBGColor;}if(item.Message[0])// 左
|
|
2554
2584
|
{if(borderLeft<10||position==1){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";var textInfo=this.GetCustomItemTextInfo(item,true,pixelTatio);var textWidth=textInfo.MaxWidth;var fontHeight=this.GetFontHeight();textHeight=fontHeight>defaultTextHeight?fontHeight:defaultTextHeight;var bgColor=item.LineColor;var rgb=this.RGBToStruct(item.LineColor);if(rgb)bgColor='rgba('+rgb.R+', '+rgb.G+', '+rgb.B+', '+g_JSChartResource.FrameLatestPrice.BGAlpha+')';//内部刻度 背景增加透明度
|
|
2555
2585
|
var yText=y;for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];if(this.IsHScreen){var bgTop=top;var textLeft=yText-textHeight/2-1*pixelTatio;this.Canvas.fillStyle=bgColor;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(bgTop+itemText.Width,bottom,yText,item.LineColor,item.LineType,item);yText-=textHeight+1*pixelTatio;}else{if(itemText.Type===1){}else{var bgTop=yText-textHeight/2-1*pixelTatio;var textLeft=left+1*pixelTatio;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(textLeft,bgTop,itemText.Width,textHeight);this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft+1*pixelTatio,yText);if(i==0)this.DrawLine(textLeft+itemText.Width,right,yText,item.LineColor,item.LineType,item);yText+=textHeight+1*pixelTatio;}}}}else{if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";var textInfo=this.GetCustomItemTextInfo(item,true,pixelTatio);var textWidth=textInfo.MaxWidth;var fontHeight=this.GetFontHeight();textHeight=fontHeight>defaultTextHeight?fontHeight:defaultTextHeight;var yText=y;for(var i=0;i<textInfo.Text.length;++i){var itemText=textInfo.Text[i];if(this.IsHScreen){if(i==0)var bgTop=top-itemText.Width;else var bgTop=top-textWidth;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(bgTop+itemText.Width,bottom,yText,item.LineColor,item.LineType,item);yText-=textHeight+1*pixelTatio;}else{var bgTop=yText-textHeight/2-1*pixelTatio;if(i==0){var rectLeft=left-itemText.Width;var textLeft=left;}else{var rectLeft=left-textWidth;var textLeft=left-(textWidth-itemText.Width);}if(emptyBGColor){this.Canvas.fillStyle=emptyBGColor;this.Canvas.fillRect(rectLeft-1,bgTop,itemText.Width+1,textHeight);this.Canvas.strokeStyle=item.LineColor;this.Canvas.strokeRect(ToFixedPoint(rectLeft-1),ToFixedPoint(bgTop),ToFixedPoint(itemText.Width+1),ToFixedPoint(textHeight));this.Canvas.fillStyle=item.LineColor;this.Canvas.fillText(itemText.Text,textLeft-1*pixelTatio,yText);}else{this.Canvas.fillStyle=item.LineColor;this.Canvas.fillRect(rectLeft,bgTop,itemText.Width,textHeight);this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(itemText.Text,textLeft-1*pixelTatio,yText);}if(i==0)this.DrawLine(left,right,yText,item.LineColor,item.LineType,item);yText+=textHeight+1*pixelTatio;}}}}else if(item.Message[1])//右
|
|
@@ -2785,7 +2815,7 @@ this.DrawHorizontal=function(){}/*
|
|
|
2785
2815
|
this.Canvas.lineTo(ToFixedPoint(right),ToFixedPoint(bottom));
|
|
2786
2816
|
this.Canvas.stroke();
|
|
2787
2817
|
*/};this.GetScaleTextWidth=function(){return{TextWidth:0};};}function SubFrameItem(){this.Frame;this.Height;this.OverlayIndex=[];//叠加指标
|
|
2788
|
-
this.Interval=60
|
|
2818
|
+
//this.Interval=60; //子坐标间间距
|
|
2789
2819
|
}function OverlayIndexItem(){this.Frame;this.ChartPaint=[];this.Identify=Guid();this.Scprit;//脚本
|
|
2790
2820
|
this.UpdateFrameMaxMin=function()//调整坐标最大 最小值
|
|
2791
2821
|
{var value={Max:null,Min:null};if(this.Frame.IsShareY)//共享Y轴坐标
|
|
@@ -2800,8 +2830,9 @@ this.Position;//画布的位置
|
|
|
2800
2830
|
this.SizeChange=true;this.MinSubFrameHeight=g_JSChartResource.DragSubFrameBorder.MinFrameHeight;this.DragBorderHeight=g_JSChartResource.DragSubFrameBorder.TopBorderHeight;//拖拽边框高度
|
|
2801
2831
|
this.AutoLeftBorder=null;//{ Blank:10 留白宽度, MinWidth:最小宽度 }
|
|
2802
2832
|
this.AutoRightBorder=null;//{ Blank:10 留白宽度, MinWidth:最小宽度 }
|
|
2803
|
-
this.OverlayBlankWidth=
|
|
2804
|
-
|
|
2833
|
+
this.OverlayBlankWidth=30;this.AuotRightWidth;//右边主坐标刻度宽度 (自动模式)
|
|
2834
|
+
//固定模式右侧宽度
|
|
2835
|
+
this.FixedRightWidth={Main:60,Overlay:80};this.ZoomWindowsInfo=null;//附图指标缩放,备份信息
|
|
2805
2836
|
this.ZoomStartWindowIndex=1;//允许缩放窗口起始位置
|
|
2806
2837
|
this.GetExtendChartByClassName;this.GetEventCallback;this.OnMoveFromeBorder=function(index,yMove){if(this.SubFrame.length<=0)return false;var topFrame=this.SubFrame[index];var bottomFrame=null;for(var i=index+1;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height>0){bottomFrame=item;break;}}if(!topFrame||!bottomFrame)return false;var bottomBackup=topFrame.Frame.ChartBorder.Bottom;var topBackup=bottomFrame.Frame.ChartBorder.Top;topFrame.Frame.ChartBorder.Bottom-=yMove;bottomFrame.Frame.ChartBorder.Top+=yMove;var height=topFrame.Frame.ChartBorder.GetHeightEx();var height2=bottomFrame.Frame.ChartBorder.GetHeightEx();//缩小的时候 小于最小高度 不处理
|
|
2807
2838
|
if(height<this.MinSubFrameHeight&&yMove<0||height2<this.MinSubFrameHeight&&yMove>0){topFrame.Frame.ChartBorder.Bottom=bottomBackup;bottomFrame.Frame.ChartBorder.Top=topBackup;return false;}return true;};this.ReDrawToolbar=function(){for(var i in this.SubFrame){this.SubFrame[i].Frame.ReDrawToolbar=true;}};this.SetFrameBorderSizeChange=function(){var firstFrame=this.SubFrame[0];if(!firstFrame||!firstFrame.Frame)return;var splitOper=firstFrame.Frame.YSplitOperator;if(!splitOper)return;if(splitOper.CoordinateType==2)//对数坐标 需要重新计算Y轴分割
|
|
@@ -2818,12 +2849,15 @@ this.SaveSubFrameHeightRate=function(){var height=this.ChartBorder.GetHeight();f
|
|
|
2818
2849
|
for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;var frame=item.Frame;if(!frame)continue;if(!frame.XSplitOperator)continue;var maxValue=frame.HorizontalMax;//最大最小要还原
|
|
2819
2850
|
var minValue=frame.HorizontalMin;frame.YSplitOperator.Operator();var value=frame.GetScaleTextWidth();frame.HorizontalMax=maxValue;frame.HorizontalMin=minValue;if(value&&value.TextWidth){var widthItem=value.TextWidth;if(IFrameSplitOperator.IsNumber(widthItem.Left)){if(width.Left==null||width.Left<widthItem.Left)width.Left=widthItem.Left;}if(IFrameSplitOperator.IsNumber(widthItem.Right)){if(width.Right==null||width.Right<widthItem.Right)width.Right=widthItem.Right;}}//右侧叠加指标
|
|
2820
2851
|
if(IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex)){for(var j=0,k=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(!overlayItem.Frame)continue;var maxValue=overlayItem.Frame.HorizontalMax;//最大最小要还原
|
|
2821
|
-
var minValue=overlayItem.Frame.HorizontalMin;overlayItem.Frame.YSplitOperator.Operator();var value=overlayItem.Frame.GetScaleTextWidth();overlayItem.Frame.HorizontalMax=maxValue;overlayItem.Frame.HorizontalMin=minValue;overlayItem.RightWidth={Index:-1,Width:0};if(!value||!value.TextWidth)continue;var widthItem=value.TextWidth;if(!IFrameSplitOperator.IsNumber(widthItem.Right))continue;overlayItem.RightWidth.Index=k;overlayItem.RightWidth.Width=widthItem.Right;if(aryOverlayWidth[k]){aryOverlayWidth[k][i]=overlayItem.RightWidth;}else{aryOverlayWidth[k]=[];aryOverlayWidth[k][i]=overlayItem.RightWidth;}++k;}}}var overlayWidth=[];for(var i=0;i<aryOverlayWidth.length;++i){var colItem=aryOverlayWidth[i];var max=0;for(var j=0;j<colItem.length;++j){if(!colItem[j])continue;var item=colItem[j].Width;if(max<item)max=item;}if(max>0)max+=this.OverlayBlankWidth;for(var j=0;j<colItem.length;++j){if(!colItem[j])continue;colItem[j].Width=max;}overlayWidth[i]=max;}for(var i=0;i<overlayWidth.length;++i){var value=overlayWidth[i];if(!IFrameSplitOperator.IsNumber(value))continue;width.OverlayRight+=value;}return width;};this.IsFrameXYSplit=function(){for(var i in this.SubFrame){var item=this.SubFrame[i];if(item.Frame.XYSplit)return true;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame.XYSplit)return true;}}return false;};this.Draw=function(option){if(this.SizeChange===true){this.CalculateChartBorder();}var isSplash=false;//是否过场动画
|
|
2822
|
-
if(option&&option.IsEnableSplash===true)isSplash=true;if(isSplash==false&&(this.AutoLeftBorder||this.AutoRightBorder)&&this.IsFrameXYSplit()){this.AutoRightOverlayWidth=[];var textWidth=this.GetScaleTextWidth();var bSizeChange=false;if(IFrameSplitOperator.IsNumber(textWidth.Left)&&this.AutoLeftBorder){var blank=0;if(IFrameSplitOperator.IsNumber(this.AutoLeftBorder.Blank))blank=this.AutoLeftBorder.Blank;var value=textWidth.Left+blank;if(IFrameSplitOperator.IsNumber(this.AutoLeftBorder.MinWidth)){if(this.AutoLeftBorder.MinWidth>value)value=this.AutoLeftBorder.MinWidth;}if(this.IsHScreen)this.ChartBorder.Top=value;else this.ChartBorder.Left=value;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(this.IsHScreen)item.Frame.ChartBorder.Top=value;else item.Frame.ChartBorder.Left=value;}}if(IFrameSplitOperator.IsNumber(textWidth.Right)
|
|
2823
|
-
|
|
2824
|
-
|
|
2852
|
+
var minValue=overlayItem.Frame.HorizontalMin;overlayItem.Frame.YSplitOperator.Operator();var value=overlayItem.Frame.GetScaleTextWidth();overlayItem.Frame.HorizontalMax=maxValue;overlayItem.Frame.HorizontalMin=minValue;overlayItem.RightWidth={Index:-1,Width:0};if(!value||!value.TextWidth)continue;var widthItem=value.TextWidth;if(!IFrameSplitOperator.IsNumber(widthItem.Right))continue;overlayItem.RightWidth.Index=k;overlayItem.RightWidth.Width=widthItem.Right;if(aryOverlayWidth[k]){aryOverlayWidth[k][i]=overlayItem.RightWidth;}else{aryOverlayWidth[k]=[];aryOverlayWidth[k][i]=overlayItem.RightWidth;}++k;}}}var overlayWidth=[];for(var i=0;i<aryOverlayWidth.length;++i){var colItem=aryOverlayWidth[i];var max=0;for(var j=0;j<colItem.length;++j){if(!colItem[j])continue;var item=colItem[j].Width;if(max<item)max=item;}if(max>0)max+=this.OverlayBlankWidth;for(var j=0;j<colItem.length;++j){if(!colItem[j])continue;colItem[j].Width=max;}overlayWidth[i]=max;}for(var i=0;i<overlayWidth.length;++i){var value=overlayWidth[i];if(!IFrameSplitOperator.IsNumber(value))continue;width.OverlayRight+=value;}width.AryOverlayWidth=overlayWidth;return width;};this.IsFrameXYSplit=function(){for(var i in this.SubFrame){var item=this.SubFrame[i];if(item.Frame.XYSplit)return true;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame.XYSplit)return true;}}return false;};this.Draw=function(option){if(this.SizeChange===true){this.CalculateChartBorder();}var isSplash=false;//是否过场动画
|
|
2853
|
+
if(option&&option.IsEnableSplash===true)isSplash=true;if(isSplash==false&&(this.AutoLeftBorder||this.AutoRightBorder)&&this.IsFrameXYSplit()){this.AutoRightOverlayWidth=[];var textWidth=this.GetScaleTextWidth();var bSizeChange=false;if(IFrameSplitOperator.IsNumber(textWidth.Left)&&this.AutoLeftBorder){var blank=0;if(IFrameSplitOperator.IsNumber(this.AutoLeftBorder.Blank))blank=this.AutoLeftBorder.Blank;var value=textWidth.Left+blank;if(IFrameSplitOperator.IsNumber(this.AutoLeftBorder.MinWidth)){if(this.AutoLeftBorder.MinWidth>value)value=this.AutoLeftBorder.MinWidth;}if(this.IsHScreen)this.ChartBorder.Top=value;else this.ChartBorder.Left=value;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(this.IsHScreen)item.Frame.ChartBorder.Top=value;else item.Frame.ChartBorder.Left=value;}}if(IFrameSplitOperator.IsNumber(textWidth.Right)){if(this.AutoRightBorder)//自动调整右侧间距
|
|
2854
|
+
{var rightTextInfo={};var blank=0;if(IFrameSplitOperator.IsNumber(this.AutoRightBorder.Blank))blank=this.AutoRightBorder.Blank;var value=textWidth.Right+blank;if(IFrameSplitOperator.IsNumber(this.AutoRightBorder.MinWidth)){if(this.AutoRightBorder.MinWidth>value)value=this.AutoRightBorder.MinWidth;}this.AuotRightWidth=value;rightTextInfo.MainTextWidth=value;//主图坐标宽度
|
|
2855
|
+
if(IFrameSplitOperator.IsNonEmptyArray(textWidth.AryOverlayWidth))rightTextInfo.AryOverlayWidth=textWidth.AryOverlayWidth;if(IFrameSplitOperator.IsPlusNumber(textWidth.OverlayRight)){this.AuotRightWidth=value;value+=textWidth.OverlayRight;}if(this.GetExtendChartRightWidth){var extendWidth=this.GetExtendChartRightWidth();if(this.GetExtendChartByClassName){var finder=this.GetExtendChartByClassName("StockChip");if(finder&&finder.Chart){finder.Chart.Left=value;}}value+=extendWidth;}if(this.IsHScreen){if(this.ChartBorder.Bottom!=value)bSizeChange=true;this.ChartBorder.Bottom=value;}else{if(this.ChartBorder.Right!=value)bSizeChange=true;this.ChartBorder.Right=value;}for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(this.IsHScreen)item.Frame.ChartBorder.Bottom=value;else item.Frame.ChartBorder.Right=value;item.Frame.ReDrawToolbar=true;item.Frame.YRightTextInfo=rightTextInfo;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];overlayItem.Frame.YRightTextInfo=rightTextInfo;}}}else{var rightTextInfo={};rightTextInfo.MainTextWidth=this.FixedRightWidth.Main;if(textWidth.OverlayRight==0)//无叠加直接最右边
|
|
2856
|
+
{if(this.IsHScreen)rightTextInfo.MainTextWidth=this.ChartBorder.Bottom;else rightTextInfo.MainTextWidth=this.ChartBorder.Right;}else if(IFrameSplitOperator.IsNonEmptyArray(textWidth.AryOverlayWidth)){for(var i=0;i<textWidth.AryOverlayWidth.length;++i){textWidth.AryOverlayWidth[i]=this.FixedRightWidth.Overlay;}rightTextInfo.AryOverlayWidth=textWidth.AryOverlayWidth;}for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];item.Frame.ReDrawToolbar=true;item.Frame.YRightTextInfo=rightTextInfo;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];overlayItem.Frame.YRightTextInfo=rightTextInfo;}}}}this.SetSizeChage(true);}for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;item.Frame.Draw();if(this.AutoRightBorder){var rightOffset=this.AuotRightWidth;for(var j=0,index=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];//把主坐标部分设置给子坐标下来
|
|
2857
|
+
overlayItem.Frame.DataWidth=item.Frame.DataWidth;overlayItem.Frame.DistanceWidth=item.Frame.DistanceWidth;overlayItem.Frame.XPointCount=item.Frame.XPointCount;overlayItem.Frame.RightOffset=rightOffset;overlayItem.Frame.BlankWidth=0;overlayItem.Frame.TextWidthIndex=index;if(IFrameSplitOperator.IsNumber(this.OverlayBlankWidth))overlayItem.Frame.BlankWidth=this.OverlayBlankWidth;overlayItem.Frame.Draw();rightOffset+=overlayItem.RightWidth.Width;if(overlayItem.Frame.IsShow)++index;}}else{var rightOffset=this.FixedRightWidth.Main;if(item.Frame.RightTextMaxWidth>rightOffset)rightOffset=item.Frame.RightTextMaxWidth;for(var j=0,index=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];//把主坐标部分设置给子坐标下来
|
|
2858
|
+
overlayItem.Frame.DataWidth=item.Frame.DataWidth;overlayItem.Frame.DistanceWidth=item.Frame.DistanceWidth;overlayItem.Frame.XPointCount=item.Frame.XPointCount;overlayItem.Frame.RightOffset=rightOffset;overlayItem.Frame.BlankWidth=0;overlayItem.Frame.TextWidthIndex=index;if(IFrameSplitOperator.IsNumber(this.OverlayBlankWidth))overlayItem.Frame.BlankWidth=this.OverlayBlankWidth;overlayItem.Frame.Draw();if(overlayItem.Frame.IsShow){rightOffset+=this.FixedRightWidth.Overlay;++index;}}}}this.SizeChange=false;};this.DrawOveraly=function(bDrawFirst){for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;//高度是0 不画
|
|
2825
2859
|
for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];for(var k=0;k<overlayItem.ChartPaint.length;++k){var chartItem=overlayItem.ChartPaint[k];if(chartItem.IsShow){if(bDrawFirst){if(chartItem.IsDrawFirst)chartItem.Draw();}else{if(!chartItem.IsDrawFirst)chartItem.Draw();}}}}}};this.DrawOveralySelectedStatus=function(selectedInfo){if(!selectedInfo.MoveOn.Identify&&!selectedInfo.Selected.Identify)return;for(var i in this.SubFrame){var item=this.SubFrame[i];for(var j in item.OverlayIndex){var overlayItem=item.OverlayIndex[j];for(var k in overlayItem.ChartPaint){var chart=overlayItem.ChartPaint[k];if(!chart.IsShow)continue;if(!chart.Identify)continue;if(chart.Identify!=selectedInfo.MoveOn.Identify&&chart.Identify!=selectedInfo.Selected.Identify)continue;if(chart.DrawSelectedStatus)chart.DrawSelectedStatus();}}}};this.PtInOveralyChart=function(x,y){var result=null;for(var i in this.SubFrame){var item=this.SubFrame[i];for(var j in item.OverlayIndex){var overlayItem=item.OverlayIndex[j];for(var k in overlayItem.ChartPaint){var chart=overlayItem.ChartPaint[k];if(!chart.IsShow)continue;if(chart.IsHideScriptIndex())continue;if(chart.PtInChart){result=chart.PtInChart(x,y);if(result)return result;}}}}return null;};this.DrawPictureCoordinate=function(drawPicture,option){if(!drawPicture||!drawPicture.Frame)return false;if(!IFrameSplitOperator.IsNonEmptyArray(drawPicture.Point))return false;if(!drawPicture.GetXYCoordinate)return false;var range=drawPicture.GetXYCoordinate();drawPicture.Frame.DrawPictureYCoordinate(drawPicture,range,option);for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(!item||!item.Frame)continue;if(!item.Frame.XSplitOperator.ShowText)continue;item.Frame.DrawPictureXCoordinate(drawPicture,range,option);break;}return true;};this.DrawLock=function(){for(var i in this.SubFrame){var item=this.SubFrame[i];item.Frame.DrawLock();}};this.DrawLogo=function(){for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Frame.DrawLogo){item.Frame.DrawLogo();break;}}};this.CalculateLock=function(){for(var i in this.SubFrame){var item=this.SubFrame[i];item.Frame.CalculateLock();}};this.DrawInsideHorizontal=function(){for(var i in this.SubFrame){var item=this.SubFrame[i];if(item.Frame.DrawInsideHorizontal)item.Frame.DrawInsideHorizontal();}};this.DrawCustomHorizontal=function()//定制Y轴自定义刻度
|
|
2826
|
-
{for(var i in this.SubFrame){var item=this.SubFrame[i];if(item.Frame.DrawCustomHorizontal)item.Frame.DrawCustomHorizontal();for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame&&overlayItem.Frame.DrawCustomHorizontal)overlayItem.Frame.DrawCustomHorizontal();}}};this.DrawEx=function(option){for(var i in this.SubFrame){var item=this.SubFrame[i];if((item.Frame.ClassName=="MinuteFrame"||item.Frame.ClassName=="MinuteHScreenFrame")&&i==1){item.Frame.DrawVolTitle(option.Symbol);}}};this.DrawCustomVertical=function(event){for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];item.Frame.DrawCustomVerticalEvent=event;if(item.Frame.DrawCustomVertical)item.Frame.DrawCustomVertical();}};this.DrawToolbar=function(mouseStatus){var moveonPoint=null;if(mouseStatus&&mouseStatus.MoveOnPoint)moveonPoint=mouseStatus.MoveOnPoint;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;var frame=item.Frame;if(!frame)continue;if(frame.ToolbarButtonStyle==1){if(frame.DrawToolbarV2)frame.DrawToolbarV2(moveonPoint,mouseStatus);}for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];var overlayFrame=overlayItem.Frame;if(overlayFrame.DrawToolbar)overlayFrame.DrawToolbar(moveonPoint,frame.IsMinSize,mouseStatus);}}};this.SetSizeChage=function(sizeChange){this.SizeChange=sizeChange;for(var i in this.SubFrame){var item=this.SubFrame[i];item.Frame.SizeChange=sizeChange;for(var j in item.OverlayIndex){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame)overlayItem.Frame.SizeChange=sizeChange;}}//画布的位置
|
|
2860
|
+
{for(var i in this.SubFrame){var item=this.SubFrame[i];if(item.Frame.DrawCustomHorizontal)item.Frame.DrawCustomHorizontal();for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame&&overlayItem.Frame.DrawCustomHorizontal)overlayItem.Frame.DrawCustomHorizontal();}}};this.DrawEx=function(option){for(var i in this.SubFrame){var item=this.SubFrame[i];if((item.Frame.ClassName=="MinuteFrame"||item.Frame.ClassName=="MinuteHScreenFrame")&&i==1){item.Frame.DrawVolTitle(option.Symbol);}}};this.DrawCustomVertical=function(event){for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];item.Frame.DrawCustomVerticalEvent=event;if(item.Frame.DrawCustomVertical)item.Frame.DrawCustomVertical();}};this.DrawToolbar=function(mouseStatus){var moveonPoint=null;if(mouseStatus&&mouseStatus.MoveOnPoint)moveonPoint=mouseStatus.MoveOnPoint;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;var frame=item.Frame;if(!frame)continue;if(frame.ToolbarButtonStyle==1){if(frame.DrawToolbarV2)frame.DrawToolbarV2(moveonPoint,mouseStatus);}for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];var overlayFrame=overlayItem.Frame;if(!overlayFrame.IsShow)continue;if(overlayFrame.DrawToolbar)overlayFrame.DrawToolbar(moveonPoint,frame.IsMinSize,mouseStatus);}}};this.SetSizeChage=function(sizeChange){this.SizeChange=sizeChange;for(var i in this.SubFrame){var item=this.SubFrame[i];item.Frame.SizeChange=sizeChange;for(var j in item.OverlayIndex){var overlayItem=item.OverlayIndex[j];if(overlayItem.Frame)overlayItem.Frame.SizeChange=sizeChange;}}//画布的位置
|
|
2827
2861
|
if(this.ChartBorder.UIElement){this.Position={X:this.ChartBorder.UIElement.offsetLeft,Y:this.ChartBorder.UIElement.offsetTop,W:this.ChartBorder.UIElement.clientWidth,H:this.ChartBorder.UIElement.clientHeight};}};this.SetBeforeDrawXYCallback=function(callback){for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];item.Frame.BeforeDrawXYCallback=callback;}};//图形快照
|
|
2828
2862
|
this.Snapshot=function(){this.ScreenImageData=this.Canvas.getImageData(0,0,this.ChartBorder.GetChartWidth(),this.ChartBorder.GetChartHeight());};this.GetXData=function(x){return this.SubFrame[0].Frame.GetXData(x);};this.GetYData=function(y,outObject)//outObject 可以保存返回的额外数据
|
|
2829
2863
|
{var frame;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var left=item.Frame.ChartBorder.GetLeft();var top=item.Frame.ChartBorder.GetTopEx();var width=item.Frame.ChartBorder.GetWidth();var height=item.Frame.ChartBorder.GetHeightEx();item.Frame.Canvas.beginPath();item.Frame.Canvas.rect(left,top,width,height);if(item.Frame.Canvas.isPointInPath(left,y)){frame=item.Frame;if(outObject)outObject.FrameID=i;break;}}if(frame!=null){if(frame.RightFrame)outObject.RightYValue=frame.RightFrame.GetYData(y);//右侧子坐标
|
|
@@ -5289,8 +5323,16 @@ if((this.ShowTextMode.Bottom==1||this.ShowTextMode.Bottom==2||this.ShowTextMode.
|
|
|
5289
5323
|
var yCenter=bottom+2+this.TextHeight/2;var yTop=bottom+2;if(this.ShowTextMode.Bottom==2){yCenter=bottom-this.TextHeight/2-2;yTop=bottom-this.TextHeight-2;}else if(this.ShowTextMode.Bottom==10){var frame=this.Frame.SubFrame[0].Frame;if(frame.GetCorssCursorTop){var value=frame.GetCorssCursorTop();if(IFrameSplitOperator.IsNumber(value)){yCenter=value+this.TextHeight/2;yTop=value;}}}//JSConsole.Chart.Log('[ChartCorssCursor::Draw] ',yCenter);
|
|
5290
5324
|
if(x-textWidth/2<3)//左边位置不够了, 顶着左边画
|
|
5291
5325
|
{this.DrawTextBGRect(x-1,yTop,textWidth,this.TextHeight);this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,x+1,yCenter,textWidth);}else if(x+textWidth/2>=right){this.DrawTextBGRect(right-textWidth,yTop,textWidth,this.TextHeight);this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,right-2,yCenter,textWidth);}else{this.DrawTextBGRect(x-textWidth/2,yTop,textWidth,this.TextHeight);this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,x,yCenter,textWidth);}}//子坐标Y轴
|
|
5292
|
-
if(yValueExtend.FrameID>=0){var frame=this.Frame.SubFrame[yValueExtend.FrameID];var
|
|
5293
|
-
|
|
5326
|
+
if(yValueExtend.FrameID>=0){var frame=this.Frame.SubFrame[yValueExtend.FrameID];var overlayLeft=right;this.Canvas.font=this.Font;for(var i=0;i<frame.OverlayIndex.length;++i){var item=frame.OverlayIndex[i];if(item.Frame.IsShow===false)continue;overlayLeft=item.Frame.GetXHorizontal();//if (overlayLeft+30>chartRight) break;
|
|
5327
|
+
var yValue=item.Frame.GetYData(y);var text=IFrameSplitOperator.FormatValueString(yValue,2);var textWidth=this.Canvas.measureText(text).width+4;//前后各空2个像素
|
|
5328
|
+
/*
|
|
5329
|
+
for(var j=2;j>=0;--j)
|
|
5330
|
+
{
|
|
5331
|
+
var text=IFrameSplitOperator.FormatValueString(yValue,j);
|
|
5332
|
+
var textWidth=this.Canvas.measureText(text).width+4; //前后各空2个像素
|
|
5333
|
+
if (textWidth<frame.Interval) break;
|
|
5334
|
+
}
|
|
5335
|
+
*/this.Canvas.fillStyle=this.TextBGColor;this.Canvas.fillRect(overlayLeft+1,y-this.TextHeight/2,textWidth,this.TextHeight);this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,overlayLeft+4,y,textWidth);}}this.Status=1;};this.DrawComplexText=function(left,y,complexText){this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";var xText=left+2;for(var i=0;i<complexText.Text.length;++i){var item=complexText.Text[i];var itemWidth=this.Canvas.measureText(item.Text).width+4;//前后各空2个像素
|
|
5294
5336
|
if(item.Color)this.Canvas.fillStyle=item.Color;else is.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(item.Text,xText,y,itemWidth);if(i>0&&IFrameSplitOperator.IsNumber(complexText.Space))xText+=complexText.Space;xText+=itemWidth;}};this.DrawRightButton=function(drawTop,drawRight,drawWidth,drawHeight,data){this.Canvas.fillStyle=this.RightButton.BGColor;var rtButtom={Left:drawRight-drawWidth,Top:drawTop,Width:drawWidth,Height:drawHeight};this.RightButton.Rect=rtButtom;this.RightButton.Data=data;this.Canvas.fillRect(ToFixedPoint(rtButtom.Left+1),ToFixedPoint(rtButtom.Top),ToFixedRect(rtButtom.Width),ToFixedRect(rtButtom.Height));var pixelRatio=GetDevicePixelRatio();var spaceWidth=3;var yCenter=rtButtom.Top+spaceWidth+(rtButtom.Height-spaceWidth*2)/2;var xCenter=rtButtom.Left+spaceWidth+(rtButtom.Width-spaceWidth*2)/2;if(this.RightButton.Icon){var icon=this.RightButton.Icon;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('\uE6A3',xCenter,yCenter);}else{//画加号
|
|
5295
5337
|
this.Canvas.strokeStyle=this.RightButton.PenColor;var x=rtButtom.Left+spaceWidth;var y=rtButtom.Top+spaceWidth;this.Canvas.save();this.Canvas.linewidth=1*pixelRatio;this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yCenter));this.Canvas.lineTo(ToFixedPoint(x+rtButtom.Width-spaceWidth*2),ToFixedPoint(yCenter));this.Canvas.moveTo(ToFixedPoint(xCenter),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(xCenter),ToFixedPoint(y+rtButtom.Height-spaceWidth*2));this.Canvas.stroke();this.Canvas.restore();}};this.PtInButton=function(x,y){if(!this.RightButton.Enable)return null;if(!this.RightButton.Rect)return null;var rect=this.RightButton.Rect;this.Canvas.beginPath();this.Canvas.rect(rect.Left,rect.Top,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){return{Data:this.RightButton.Data,Rect:rect};}};this.DrawTextBGRect=function(x,y,height,width){this.Canvas.fillStyle=this.TextBGColor;this.Canvas.fillRect(ToFixedPoint(x),ToFixedPoint(y),ToFixedRect(height),ToFixedRect(width));if(this.BorderColor){this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(ToFixedPoint(x),ToFixedPoint(y),ToFixedRect(height),ToFixedRect(width));}};this.HScreenDraw=function(){var x=this.LastPoint.X;var y=this.LastPoint.Y;if(this.IsOnlyDrawKLine)//手机端 十字只能画在K线上
|
|
5296
5338
|
y=this.Frame.GetXFromIndex(this.CursorIndex);var border=this.Frame.ChartBorder.GetHScreenBorder();var left=border.Left;var right=border.Right;var top=border.Top;var bottom=border.Bottom;var bottomWidth=this.Frame.ChartBorder.Bottom;if(this.CallAcutionXOperator){this.CallAcutionXOperator.Value=y;this.CallAcutionXOperator.Point={X:x,Y:y};this.CallAcutionXOperator.ClientPos=this.ClientPos;if(this.CallAcutionXOperator.Operator()){y=this.CallAcutionXOperator.X;}}this.PointY=[[left,y],[right,y]];this.PointX=[[x,top],[x,bottom]];//十字线
|
|
@@ -6667,7 +6709,7 @@ TextColor:"rgb(0,0,0)",Item:{Mergin:{Top:2,Bottom:0,Left:1,Right:1},//单元格
|
|
|
6667
6709
|
Font:{Size:15,Name:"微软雅黑"},BarMergin:{Top:2,Left:0,Right:0,Bottom:2},//单元格字体
|
|
6668
6710
|
NameFont:{Size:14,Name:"微软雅黑"},SymbolFont:{Size:12,Name:"微软雅黑"}}},//滚动条
|
|
6669
6711
|
this.ScrollBar={BorderColor:'rgb(192,192,192)',XSplitTextFont:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',XSplitTextColor:"rgb(0,0,0)",XSplitLineColor:"rgba(0,0,0,0.8)",BGChart:{Color:"rgb(135,206,250)",LineWidth:1,AreaColor:"rgba(135,206,250,0.5)"},Slider:{DateFont:14*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',DateColor:'rgb(0,0,0)',BarColor:"rgb(207,207,207)",BarAreaColor:"rgba(232,232,232,0.65)"}},//自定义风格
|
|
6670
|
-
this.SetStyle=function(style){var T_SetButtonStyle=function T_SetButtonStyle(item,dest){if(!item)return;if(item.Color)dest.Color=item.Color;if(item.MoveOnColor)dest.MoveOnColor=item.MoveOnColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.Family)dest.Family=item.Family;if(item.Text)dest.Text=item.Text;if(IFrameSplitOperator.IsNumber(item.Size))dest.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))dest.MerginLeft=item.MerginLeft;};if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.HighLowBarColor)this.HighLowBarColor=style.HighLowBarColor;if(style.HLCArea){var item=style.HLCArea;if(item.HighLineColor)this.HLCArea.HighLineColor=item.HighLineColor;if(item.LowLineColor)this.HLCArea.LowLineColor=item.LowLineColor;if(item.CloseLineColor)this.HLCArea.CloseLineColor=item.CloseLineColor;if(item.UpAreaColor)this.HLCArea.UpAreaColor=item.UpAreaColor;if(item.DownAreaColor)this.HLCArea.DownAreaColor=item.DownAreaColor;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.HLCArea.LineWidth=item.LineWidth;}if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(IFrameSplitOperator.IsNumber(style.Minute.PriceLineWidth))this.Minute.PriceLineWidth=style.Minute.PriceLineWidth;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)T_SetButtonStyle(item.CloseIcon,this.Minute.Before.CloseIcon);if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}if(style.Minute.After){var item=style.Minute.After;if(item.BGColor)this.Minute.After.BGColor=item.BGColor;if(item.LineColor)this.Minute.After.LineColor=item.LineColor;if(item.VolColor)this.Minute.After.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.After.AvPriceColor=item.AvPriceColor;if(item.Point){if(item.Point.Color)this.Minute.After.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.After.Point.Radius=item.Point.Radius;}}}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleBorderColor)this.IndexTitleBorderColor=style.IndexTitleBorderColor;if(style.IndexTitleBorderMoveOnColor)this.IndexTitleBorderMoveOnColor=style.IndexTitleBorderMoveOnColor;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.IndexTitleSelectedColor)this.IndexTitleSelectedColor=style.IndexTitleSelectedColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.MultiDayBorderPen)this.MultiDayBorderPen=style.MultiDayBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft))this.IndexTitleMerginLeft=style.IndexTitleMerginLeft;if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(IFrameSplitOperator.IsBool(style.IsDOMFrameTitle))this.IsDOMFrameTitle=style.IsDOMFrameTitle;if(style.FrameLatestPrice){var item=style.FrameLatestPrice;if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;if(style.FrameLatestPrice.OverlayTextColor)this.FrameLatestPrice.OverlayTextColor=style.FrameLatestPrice.OverlayTextColor;if(item.EmptyBGColor)this.FrameLatestPrice.EmptyBGColor=item.EmptyBGColor;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.KLine)this.KLine=style.KLine;if(style.VirtualKLine){var item=style.VirtualKLine;if(item.Color)this.VirtualKLine.Color=item.Color;if(item.LineDash)this.VirtualKLine.LineDash=item.LineDash;}if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.PCTooltipPaint){var item=style.PCTooltipPaint;if(item.BGColor)this.PCTooltipPaint.BGColor=item.BGColor;if(item.BorderColor)this.PCTooltipPaint.BorderColor=item.BorderColor;if(item.TitleColor)this.PCTooltipPaint.TitleColor=item.TitleColor;if(item.TitleFont)this.PCTooltipPaint.TitleFont=item.TitleFont;if(item.DateTimeColor)this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.PCTooltipPaint.VolColor=item.VolColor;if(item.AmountColor)this.PCTooltipPaint.AmountColor=item.AmountColor;}if(style.MinuteInfo){if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.DepthMapPaint){var item=style.DepthMapPaint;if(item.LineColor)this.DepthMapPaint.LineColor=item.LineColor;if(item.AreaColor)this.DepthMapPaint.AreaColor=item.AreaColor;if(item.TextColor)this.DepthMapPaint.TextColor=item.TextColor;if(item.TextBGColor)this.DepthMapPaint.TextBGColor=item.TextBGColor;}if(style.KLineYAxisBGPaint){var item=style.KLineYAxisBGPaint;if(item.Font)this.KLineYAxisBGPaint.Font=item.Font;if(item.LineColor)this.KLineYAxisBGPaint.LineColor=item.LineColor;if(item.DiffValutTextColor)this.KLineYAxisBGPaint.DiffValutTextColor=item.DiffValutTextColor;if(item.DiffValueBGColor)this.KLineYAxisBGPaint.DiffValueBGColor=item.DiffValueBGColor;}if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;if(item.DefaultButton)T_SetButtonStyle(item.DefaultButton,this.StockChip.DefaultButton);if(item.LongButton)T_SetButtonStyle(item.LongButton,this.StockChip.LongButton);if(item.RecentButton)T_SetButtonStyle(item.RecentButton,this.StockChip.RecentButton);}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Right))this.DepthCorss.Tooltip.Border.Right=border.Right;if(IFrameSplitOperator.IsNumber(border.ItemSpace))this.DepthCorss.Tooltip.Border.ItemSpace=border.ItemSpace;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;if(item.SubAreaColor)this.RectSelect.SubAreaColor=item.SubAreaColor;if(item.RangeTextColor)this.RectSelect.RangeTextColor=item.RangeTextColor;if(item.RangeTextFont)this.RectSelect.RangeTextFont=item.RangeTextFont;if(item.RangeTextBGColor)this.RectSelect.RangeTextBGColor=item.RangeTextBGColor;if(item.RangeTextSubColor)this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;if(item.RangeTextSubFont)this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;if(item.RangeTextSubBGColor)this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.OrderFlow_Style2){item=style.OrderFlow_Style2;if(item.UpColor)this.OrderFlow_Style2.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow_Style2.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow_Style2.UnchagneColor=item.UnchagneColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))this.OrderFlow_Style2.BarWidth=item.BarWidth;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.UpTextColor)this.DealList.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.DealList.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.CloseLineColor)this.DealList.CloseLineColor=item.CloseLineColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Row.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Row.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.BarMergin.Bottom=mergin.Bottom;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;if(filed.Index)this.DealList.FieldColor.Index=filed.Index;if(filed.BarTitle)this.DealList.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.DealList.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.DealList.FieldColor.Bar[i]=filed.Bar[i];}}}}if(style.Report){var item=style.Report;if(item.BorderColor)this.Report.BorderColor=item.BorderColor;if(item.UpTextColor)this.Report.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.Report.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.Report.UnchagneTextColor=item.UnchagneTextColor;if(item.BorderColor)this.Report.SelectedColor=item.SelectedColor;if(item.CloseLine){var closeLine=item.CloseLine;if(closeLine.CloseColor)this.Report.CloseLine.CloseColor=closeLine.CloseColor;if(closeLine.YCloseColor)this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;if(closeLine.AreaColor)this.Report.CloseLine.AreaColor=closeLine.AreaColor;}if(item.KLine){var kline=item.KLine;if(kline.UpColor)this.Report.KLine.UpColor=kline.UpColor;if(kline.DownColor)this.Report.KLine.DownColor=kline.DownColor;if(kline.UnchagneColor)this.Report.KLine.UnchagneColor=kline.UnchagneColor;if(IFrameSplitOperator.IsNumber(kline.DataWidth))this.Report.KLine.DataWidth=kline.DataWidth;if(IFrameSplitOperator.IsNumber(kline.DistanceWidth))this.Report.KLine.DistanceWidth=kline.DistanceWidth;}if(item.Header){var header=item.Header;if(header.Color)this.Report.Header.Color=header.Color;if(header.SortColor)this.Report.Header.SortColor=header.SortColor;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.Report.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Header.Font.Size=font.Size;}}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.Report.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)this.Report.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)this.Report.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.SymbolFont.Size=font.Size;}}if(item.FixedItem){var row=item.FixedItem;if(row.Font){var font=row.Font;if(font.Name)this.Report.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.FixedItem.Font.Size=font.Size;}}if(item.LimitBorder){var limit=item.LimitBorder;if(limit.Color)this.Report.LimitBorder.Color=limit.Color;if(limit.Mergin){var mergin=limit.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.LimitBorder.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.LimitBorder.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.LimitBorder.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.LimitBorder.Mergin.Bottom=mergin.Bottom;}}if(item.LimitColor){var limit=item.LimitColor;if(limit.UpColor)this.Report.LimitColor.UpColor=limit.UpColor;if(limit.DownColor)this.Report.LimitColor.DownColor=limit.DownColor;if(limit.TextColor)this.Report.LimitColor.UpColor=limit.TextColor;}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)this.Report.FieldColor.Name=filed.Name;if(filed.Symbol)this.Report.FieldColor.Symbol=filed.Symbol;if(filed.Vol)this.Report.FieldColor.Vol=filed.Vol;if(filed.Amount)this.Report.FieldColor.Amount=filed.Amount;if(filed.Index)this.Report.FieldColor.Index=filed.Index;if(filed.BarTitle)this.Report.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.Report.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.Report.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.Tab){var tab=item.Tab;if(tab.Font){var font=tab.Font;if(font.Name)this.Report.Tab.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Tab.Font.Size=font.Size;}if(IFrameSplitOperator.IsNumber(tab.ScrollBarWidth))this.Report.Tab.ScrollBarWidth=tab.ScrollBarWidth;if(tab.ButtonColor)this.Report.Tab.ButtonColor=tab.ButtonColor;if(tab.BarColor)this.Report.Tab.BarColor=tab.BarColor;if(tab.BorderColor)this.Report.Tab.BorderColor=tab.BorderColor;if(tab.TabTitleColor)this.Report.Tab.TabTitleColor=tab.TabTitleColor;if(tab.TabSelectedTitleColor)this.Report.Tab.TabSelectedTitleColor=tab.TabSelectedTitleColor;if(tab.TabSelectedBGColor)this.Report.Tab.TabSelectedBGColor=tab.TabSelectedBGColor;if(tab.TabMoveOnTitleColor)this.Report.Tab.TabMoveOnTitleColor=tab.TabMoveOnTitleColor;if(tab.TabBGColor)this.Report.Tab.TabBGColor=tab.TabBGColor;}if(item.PageInfo){var pageinfo=item.PageInfo;if(pageinfo.Font){var font=pageinfo.Font;if(font.Name)this.Report.PageInfo.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.PageInfo.Font.Size=font.Size;}if(pageinfo.TextColor)this.Report.PageInfo.TextColor=pageinfo.TextColor;if(pageinfo.BGColor)this.Report.PageInfo.BGColor=pageinfo.BGColor;if(pageinfo.Mergin){var mergin=pageinfo.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.PageInfo.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.PageInfo.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.PageInfo.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.PageInfo.Mergin.Bottom=mergin.Bottom;}}if(item.DragRow){var dragRow=item.DragRow;if(dragRow.Color)this.Report.DragRow.Color=dragRow.Color;if(dragRow.TextColor)this.Report.DragRow.TextColor=dragRow.TextColor;if(dragRow.MoveRowColor)this.Report.DragRow.MoveRowColor=dragRow.MoveRowColor;if(dragRow.SrcRowColor)this.Report.DragRow.SrcRowColor=dragRow.SrcRowColor;}}if(style.SelectedChart){var item=style.SelectedChart;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.SelectedChart.LineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.Radius))this.SelectedChart.Radius=item.Radius;if(IFrameSplitOperator.IsNumber(item.MinSpace))this.SelectedChart.MinSpace=item.MinSpace;if(item.LineColor)this.SelectedChart.LineColor=item.LineColor;if(item.LineColor)this.SelectedChart.BGColor=item.BGColor;}if(style.DragMovePaint){var item=style.DragMovePaint;if(item.TextColor)this.DragMovePaint.TextColor=item.TextColor;if(item.Font)this.DragMovePaint.Font=item.Font;}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(style.Buttons){var buttons=style.Buttons;T_SetButtonStyle(buttons.CloseOverlayIndex,this.Buttons.CloseOverlayIndex);T_SetButtonStyle(buttons.CloseWindow,this.Buttons.CloseWindow);T_SetButtonStyle(buttons.ChangeIndex,this.Buttons.ChangeIndex);T_SetButtonStyle(buttons.OverlayIndex,this.Buttons.OverlayIndex);T_SetButtonStyle(buttons.ModifyIndexParam,this.Buttons.ModifyIndexParam);T_SetButtonStyle(buttons.MaxMinWindow,this.Buttons.MaxMinWindow);T_SetButtonStyle(buttons.TitleWindow,this.Buttons.TitleWindow);T_SetButtonStyle(buttons.ExportData,this.Buttons.ExportData);}if(style.ChartDrawVolProfile){var item=style.ChartDrawVolProfile;if(item.UpVolColor)this.ChartDrawVolProfile.UpVolColor=item.UpVolColor;if(item.DownVolColor)this.ChartDrawVolProfile.DownVolColor=item.DownVolColor;if(item.AreaUpColor)this.ChartDrawVolProfile.AreaUpColor=item.AreaUpColor;if(item.AreaDonwColor)this.ChartDrawVolProfile.AreaDonwColor=item.AreaDonwColor;if(item.BGColor)this.ChartDrawVolProfile.BGColor=item.BGColor;if(item.BorderColor)this.ChartDrawVolProfile.BorderColor=item.BorderColor;if(item.VolLineColor)this.ChartDrawVolProfile.VolLineColor=item.VolLineColor;if(item.Text){if(item.Text.Color)this.ChartDrawVolProfile.Text.Color=item.Text.Color;if(item.Text.Family)this.ChartDrawVolProfile.Text.Family=item.Text.Family;if(IFrameSplitOperator.IsNumber(item.Text.FontMaxSize))this.ChartDrawVolProfile.Text.FontMaxSize=item.Text.FontMaxSize;if(IFrameSplitOperator.IsNumber(item.Text.FontMinSize))this.ChartDrawVolProfile.Text.FontMinSize=item.Text.FontMinSize;}}if(style.DisableLogo===true){if(this.FrameLogo)this.FrameLogo.Text=null;}if(style.ScrollBar){var item=style.ScrollBar;if(item.BorderColor)this.ScrollBar.BorderColor=item.BorderColor;if(item.XSplitTextFont)this.ScrollBar.XSplitTextFont=item.XSplitTextFont;if(item.XSplitTextColor)this.ScrollBar.XSplitTextColor=item.XSplitTextColor;if(item.XSplitLineColor)this.ScrollBar.XSplitLineColor=item.XSplitLineColor;if(item.Slider){var subItem=item.Slider;if(subItem.DateFont)this.ScrollBar.Slider.DateFont=subItem.DateFont;if(subItem.DateColor)this.ScrollBar.Slider.DateColor=subItem.DateColor;if(subItem.BarColor)this.ScrollBar.Slider.BarColor=subItem.BarColor;if(subItem.BarAreaColor)this.ScrollBar.Slider.BarAreaColor=subItem.BarAreaColor;}if(item.BGChart){var subItem=item.BGChart;if(subItem.Color)this.ScrollBar.BGChart.Color=subItem.Color;if(subItem.AreaColor)this.ScrollBar.BGChart.AreaColor=subItem.AreaColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.ScrollBar.BGChart.LineWidth=subItem.LineWidth;}}};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
|
|
6712
|
+
this.SetStyle=function(style){var T_SetButtonStyle=function T_SetButtonStyle(item,dest){if(!item)return;if(item.Color)dest.Color=item.Color;if(item.MoveOnColor)dest.MoveOnColor=item.MoveOnColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.Family)dest.Family=item.Family;if(item.Text)dest.Text=item.Text;if(IFrameSplitOperator.IsNumber(item.Size))dest.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))dest.MerginLeft=item.MerginLeft;};if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.HighLowBarColor)this.HighLowBarColor=style.HighLowBarColor;if(style.HLCArea){var item=style.HLCArea;if(item.HighLineColor)this.HLCArea.HighLineColor=item.HighLineColor;if(item.LowLineColor)this.HLCArea.LowLineColor=item.LowLineColor;if(item.CloseLineColor)this.HLCArea.CloseLineColor=item.CloseLineColor;if(item.UpAreaColor)this.HLCArea.UpAreaColor=item.UpAreaColor;if(item.DownAreaColor)this.HLCArea.DownAreaColor=item.DownAreaColor;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.HLCArea.LineWidth=item.LineWidth;}if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(IFrameSplitOperator.IsNumber(style.Minute.PriceLineWidth))this.Minute.PriceLineWidth=style.Minute.PriceLineWidth;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)T_SetButtonStyle(item.CloseIcon,this.Minute.Before.CloseIcon);if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}if(style.Minute.After){var item=style.Minute.After;if(item.BGColor)this.Minute.After.BGColor=item.BGColor;if(item.LineColor)this.Minute.After.LineColor=item.LineColor;if(item.VolColor)this.Minute.After.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.After.AvPriceColor=item.AvPriceColor;if(item.Point){if(item.Point.Color)this.Minute.After.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.After.Point.Radius=item.Point.Radius;}}}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleBorderColor)this.IndexTitleBorderColor=style.IndexTitleBorderColor;if(style.IndexTitleBorderMoveOnColor)this.IndexTitleBorderMoveOnColor=style.IndexTitleBorderMoveOnColor;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.IndexTitleSelectedColor)this.IndexTitleSelectedColor=style.IndexTitleSelectedColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.MultiDayBorderPen)this.MultiDayBorderPen=style.MultiDayBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft))this.IndexTitleMerginLeft=style.IndexTitleMerginLeft;if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(IFrameSplitOperator.IsBool(style.IsDOMFrameTitle))this.IsDOMFrameTitle=style.IsDOMFrameTitle;if(style.FrameLatestPrice){var item=style.FrameLatestPrice;if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;if(style.FrameLatestPrice.OverlayTextColor)this.FrameLatestPrice.OverlayTextColor=style.FrameLatestPrice.OverlayTextColor;if(item.EmptyBGColor)this.FrameLatestPrice.EmptyBGColor=item.EmptyBGColor;}if(style.OverlayFrame){var item=style.OverlayFrame;if(style.OverlayFrame.BolderPen)this.OverlayFrame.BolderPen=style.OverlayFrame.BolderPen;if(style.OverlayFrame.TitleColor)this.OverlayFrame.TitleColor=style.OverlayFrame.TitleColor;if(style.OverlayFrame.TitleFont)this.OverlayFrame.TitleFont=style.OverlayFrame.TitleFont;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.KLine)this.KLine=style.KLine;if(style.VirtualKLine){var item=style.VirtualKLine;if(item.Color)this.VirtualKLine.Color=item.Color;if(item.LineDash)this.VirtualKLine.LineDash=item.LineDash;}if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.PCTooltipPaint){var item=style.PCTooltipPaint;if(item.BGColor)this.PCTooltipPaint.BGColor=item.BGColor;if(item.BorderColor)this.PCTooltipPaint.BorderColor=item.BorderColor;if(item.TitleColor)this.PCTooltipPaint.TitleColor=item.TitleColor;if(item.TitleFont)this.PCTooltipPaint.TitleFont=item.TitleFont;if(item.DateTimeColor)this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.PCTooltipPaint.VolColor=item.VolColor;if(item.AmountColor)this.PCTooltipPaint.AmountColor=item.AmountColor;}if(style.MinuteInfo){if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.DepthMapPaint){var item=style.DepthMapPaint;if(item.LineColor)this.DepthMapPaint.LineColor=item.LineColor;if(item.AreaColor)this.DepthMapPaint.AreaColor=item.AreaColor;if(item.TextColor)this.DepthMapPaint.TextColor=item.TextColor;if(item.TextBGColor)this.DepthMapPaint.TextBGColor=item.TextBGColor;}if(style.KLineYAxisBGPaint){var item=style.KLineYAxisBGPaint;if(item.Font)this.KLineYAxisBGPaint.Font=item.Font;if(item.LineColor)this.KLineYAxisBGPaint.LineColor=item.LineColor;if(item.DiffValutTextColor)this.KLineYAxisBGPaint.DiffValutTextColor=item.DiffValutTextColor;if(item.DiffValueBGColor)this.KLineYAxisBGPaint.DiffValueBGColor=item.DiffValueBGColor;}if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;if(item.DefaultButton)T_SetButtonStyle(item.DefaultButton,this.StockChip.DefaultButton);if(item.LongButton)T_SetButtonStyle(item.LongButton,this.StockChip.LongButton);if(item.RecentButton)T_SetButtonStyle(item.RecentButton,this.StockChip.RecentButton);}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Right))this.DepthCorss.Tooltip.Border.Right=border.Right;if(IFrameSplitOperator.IsNumber(border.ItemSpace))this.DepthCorss.Tooltip.Border.ItemSpace=border.ItemSpace;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;if(item.SubAreaColor)this.RectSelect.SubAreaColor=item.SubAreaColor;if(item.RangeTextColor)this.RectSelect.RangeTextColor=item.RangeTextColor;if(item.RangeTextFont)this.RectSelect.RangeTextFont=item.RangeTextFont;if(item.RangeTextBGColor)this.RectSelect.RangeTextBGColor=item.RangeTextBGColor;if(item.RangeTextSubColor)this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;if(item.RangeTextSubFont)this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;if(item.RangeTextSubBGColor)this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.OrderFlow_Style2){item=style.OrderFlow_Style2;if(item.UpColor)this.OrderFlow_Style2.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow_Style2.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow_Style2.UnchagneColor=item.UnchagneColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))this.OrderFlow_Style2.BarWidth=item.BarWidth;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.UpTextColor)this.DealList.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.DealList.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.CloseLineColor)this.DealList.CloseLineColor=item.CloseLineColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Row.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Row.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.BarMergin.Bottom=mergin.Bottom;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;if(filed.Index)this.DealList.FieldColor.Index=filed.Index;if(filed.BarTitle)this.DealList.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.DealList.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.DealList.FieldColor.Bar[i]=filed.Bar[i];}}}}if(style.Report){var item=style.Report;if(item.BorderColor)this.Report.BorderColor=item.BorderColor;if(item.UpTextColor)this.Report.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.Report.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.Report.UnchagneTextColor=item.UnchagneTextColor;if(item.BorderColor)this.Report.SelectedColor=item.SelectedColor;if(item.CloseLine){var closeLine=item.CloseLine;if(closeLine.CloseColor)this.Report.CloseLine.CloseColor=closeLine.CloseColor;if(closeLine.YCloseColor)this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;if(closeLine.AreaColor)this.Report.CloseLine.AreaColor=closeLine.AreaColor;}if(item.KLine){var kline=item.KLine;if(kline.UpColor)this.Report.KLine.UpColor=kline.UpColor;if(kline.DownColor)this.Report.KLine.DownColor=kline.DownColor;if(kline.UnchagneColor)this.Report.KLine.UnchagneColor=kline.UnchagneColor;if(IFrameSplitOperator.IsNumber(kline.DataWidth))this.Report.KLine.DataWidth=kline.DataWidth;if(IFrameSplitOperator.IsNumber(kline.DistanceWidth))this.Report.KLine.DistanceWidth=kline.DistanceWidth;}if(item.Header){var header=item.Header;if(header.Color)this.Report.Header.Color=header.Color;if(header.SortColor)this.Report.Header.SortColor=header.SortColor;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.Report.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Header.Font.Size=font.Size;}}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.Report.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)this.Report.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)this.Report.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.SymbolFont.Size=font.Size;}}if(item.FixedItem){var row=item.FixedItem;if(row.Font){var font=row.Font;if(font.Name)this.Report.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.FixedItem.Font.Size=font.Size;}}if(item.LimitBorder){var limit=item.LimitBorder;if(limit.Color)this.Report.LimitBorder.Color=limit.Color;if(limit.Mergin){var mergin=limit.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.LimitBorder.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.LimitBorder.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.LimitBorder.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.LimitBorder.Mergin.Bottom=mergin.Bottom;}}if(item.LimitColor){var limit=item.LimitColor;if(limit.UpColor)this.Report.LimitColor.UpColor=limit.UpColor;if(limit.DownColor)this.Report.LimitColor.DownColor=limit.DownColor;if(limit.TextColor)this.Report.LimitColor.UpColor=limit.TextColor;}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)this.Report.FieldColor.Name=filed.Name;if(filed.Symbol)this.Report.FieldColor.Symbol=filed.Symbol;if(filed.Vol)this.Report.FieldColor.Vol=filed.Vol;if(filed.Amount)this.Report.FieldColor.Amount=filed.Amount;if(filed.Index)this.Report.FieldColor.Index=filed.Index;if(filed.BarTitle)this.Report.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.Report.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.Report.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.Tab){var tab=item.Tab;if(tab.Font){var font=tab.Font;if(font.Name)this.Report.Tab.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Tab.Font.Size=font.Size;}if(IFrameSplitOperator.IsNumber(tab.ScrollBarWidth))this.Report.Tab.ScrollBarWidth=tab.ScrollBarWidth;if(tab.ButtonColor)this.Report.Tab.ButtonColor=tab.ButtonColor;if(tab.BarColor)this.Report.Tab.BarColor=tab.BarColor;if(tab.BorderColor)this.Report.Tab.BorderColor=tab.BorderColor;if(tab.TabTitleColor)this.Report.Tab.TabTitleColor=tab.TabTitleColor;if(tab.TabSelectedTitleColor)this.Report.Tab.TabSelectedTitleColor=tab.TabSelectedTitleColor;if(tab.TabSelectedBGColor)this.Report.Tab.TabSelectedBGColor=tab.TabSelectedBGColor;if(tab.TabMoveOnTitleColor)this.Report.Tab.TabMoveOnTitleColor=tab.TabMoveOnTitleColor;if(tab.TabBGColor)this.Report.Tab.TabBGColor=tab.TabBGColor;}if(item.PageInfo){var pageinfo=item.PageInfo;if(pageinfo.Font){var font=pageinfo.Font;if(font.Name)this.Report.PageInfo.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.PageInfo.Font.Size=font.Size;}if(pageinfo.TextColor)this.Report.PageInfo.TextColor=pageinfo.TextColor;if(pageinfo.BGColor)this.Report.PageInfo.BGColor=pageinfo.BGColor;if(pageinfo.Mergin){var mergin=pageinfo.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.PageInfo.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.PageInfo.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.PageInfo.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.PageInfo.Mergin.Bottom=mergin.Bottom;}}if(item.DragRow){var dragRow=item.DragRow;if(dragRow.Color)this.Report.DragRow.Color=dragRow.Color;if(dragRow.TextColor)this.Report.DragRow.TextColor=dragRow.TextColor;if(dragRow.MoveRowColor)this.Report.DragRow.MoveRowColor=dragRow.MoveRowColor;if(dragRow.SrcRowColor)this.Report.DragRow.SrcRowColor=dragRow.SrcRowColor;}}if(style.SelectedChart){var item=style.SelectedChart;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.SelectedChart.LineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.Radius))this.SelectedChart.Radius=item.Radius;if(IFrameSplitOperator.IsNumber(item.MinSpace))this.SelectedChart.MinSpace=item.MinSpace;if(item.LineColor)this.SelectedChart.LineColor=item.LineColor;if(item.LineColor)this.SelectedChart.BGColor=item.BGColor;}if(style.DragMovePaint){var item=style.DragMovePaint;if(item.TextColor)this.DragMovePaint.TextColor=item.TextColor;if(item.Font)this.DragMovePaint.Font=item.Font;}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(style.Buttons){var buttons=style.Buttons;T_SetButtonStyle(buttons.CloseOverlayIndex,this.Buttons.CloseOverlayIndex);T_SetButtonStyle(buttons.CloseWindow,this.Buttons.CloseWindow);T_SetButtonStyle(buttons.ChangeIndex,this.Buttons.ChangeIndex);T_SetButtonStyle(buttons.OverlayIndex,this.Buttons.OverlayIndex);T_SetButtonStyle(buttons.ModifyIndexParam,this.Buttons.ModifyIndexParam);T_SetButtonStyle(buttons.MaxMinWindow,this.Buttons.MaxMinWindow);T_SetButtonStyle(buttons.TitleWindow,this.Buttons.TitleWindow);T_SetButtonStyle(buttons.ExportData,this.Buttons.ExportData);}if(style.ChartDrawVolProfile){var item=style.ChartDrawVolProfile;if(item.UpVolColor)this.ChartDrawVolProfile.UpVolColor=item.UpVolColor;if(item.DownVolColor)this.ChartDrawVolProfile.DownVolColor=item.DownVolColor;if(item.AreaUpColor)this.ChartDrawVolProfile.AreaUpColor=item.AreaUpColor;if(item.AreaDonwColor)this.ChartDrawVolProfile.AreaDonwColor=item.AreaDonwColor;if(item.BGColor)this.ChartDrawVolProfile.BGColor=item.BGColor;if(item.BorderColor)this.ChartDrawVolProfile.BorderColor=item.BorderColor;if(item.VolLineColor)this.ChartDrawVolProfile.VolLineColor=item.VolLineColor;if(item.Text){if(item.Text.Color)this.ChartDrawVolProfile.Text.Color=item.Text.Color;if(item.Text.Family)this.ChartDrawVolProfile.Text.Family=item.Text.Family;if(IFrameSplitOperator.IsNumber(item.Text.FontMaxSize))this.ChartDrawVolProfile.Text.FontMaxSize=item.Text.FontMaxSize;if(IFrameSplitOperator.IsNumber(item.Text.FontMinSize))this.ChartDrawVolProfile.Text.FontMinSize=item.Text.FontMinSize;}}if(style.DisableLogo===true){if(this.FrameLogo)this.FrameLogo.Text=null;}if(style.ScrollBar){var item=style.ScrollBar;if(item.BorderColor)this.ScrollBar.BorderColor=item.BorderColor;if(item.XSplitTextFont)this.ScrollBar.XSplitTextFont=item.XSplitTextFont;if(item.XSplitTextColor)this.ScrollBar.XSplitTextColor=item.XSplitTextColor;if(item.XSplitLineColor)this.ScrollBar.XSplitLineColor=item.XSplitLineColor;if(item.Slider){var subItem=item.Slider;if(subItem.DateFont)this.ScrollBar.Slider.DateFont=subItem.DateFont;if(subItem.DateColor)this.ScrollBar.Slider.DateColor=subItem.DateColor;if(subItem.BarColor)this.ScrollBar.Slider.BarColor=subItem.BarColor;if(subItem.BarAreaColor)this.ScrollBar.Slider.BarAreaColor=subItem.BarAreaColor;}if(item.BGChart){var subItem=item.BGChart;if(subItem.Color)this.ScrollBar.BGChart.Color=subItem.Color;if(subItem.AreaColor)this.ScrollBar.BGChart.AreaColor=subItem.AreaColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.ScrollBar.BGChart.LineWidth=subItem.LineWidth;}}};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
|
|
6671
6713
|
//
|
|
6672
6714
|
//
|
|
6673
6715
|
//
|
|
@@ -6795,7 +6837,6 @@ this.RightSpaceCount=0;//右侧空白个数
|
|
|
6795
6837
|
this.SourceDataLimit=new _map2.default();//每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
6796
6838
|
this.CtrlMoveStep=5;//Ctrl+(Left/Right) 移动数据个数
|
|
6797
6839
|
this.CustomShow=null;//首先显示的K线的起始日期 { Date:日期 PageSize:}
|
|
6798
|
-
this.OverlayIndexFrameWidth=60;//叠加指标框架宽度
|
|
6799
6840
|
this.ZoomType=0;//缩放模式 0=最右边固定缩放, 1=十字光标两边缩放
|
|
6800
6841
|
this.IsZoomLockRight=false;this.KLineSize=null;//{ DataWidth:, }
|
|
6801
6842
|
//this.EnableYDrag={ Left:false, Right:true };
|
|
@@ -6847,7 +6888,7 @@ this.GetKDataInfo=function(){if(!this.ChartPaint[0])return null;var chartKLine=t
|
|
|
6847
6888
|
{var id=obj.ID;if(id===JSCHART_OPERATOR_ID.OP_SCROLL_LEFT||id===JSCHART_OPERATOR_ID.OP_SCROLL_RIGHT)//左右移动 { Step:移动数据个数 }
|
|
6848
6889
|
{var isLeft=id===JSCHART_OPERATOR_ID.OP_SCROLL_LEFT?true:false;var step=1;if(obj.Step>0)step=obj.Step;var oneStepWidth=this.GetMoveOneStepWidth();if(this.DataMove(step*oneStepWidth,isLeft))//每次移动一个数据
|
|
6849
6890
|
{this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();}else{if(id===JSCHART_OPERATOR_ID.OP_SCROLL_RIGHT&&this.DragDownloadData)this.DragDownloadData();}}else if(id===JSCHART_OPERATOR_ID.OP_ZOOM_IN||id===JSCHART_OPERATOR_ID.OP_ZOOM_OUT)//缩放
|
|
6850
|
-
{var cursorIndex={};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(id===JSCHART_OPERATOR_ID.OP_ZOOM_IN){if(!this.Frame.ZoomUp(cursorIndex))return;}else{if(!this.Frame.ZoomDown(cursorIndex))return;}this.CursorIndex=cursorIndex.Index;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.Draw();}else if(id===JSCHART_OPERATOR_ID.OP_GOTO_HOME){var hisData=this.ChartOperator_Temp_GetHistroyData();;if(!hisData)return;//数据还没有到达
|
|
6891
|
+
{var cursorIndex={};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(id===JSCHART_OPERATOR_ID.OP_ZOOM_IN){if(!this.Frame.ZoomUp(cursorIndex))return;}else{if(!this.Frame.ZoomDown(cursorIndex))return;}this.CursorIndex=cursorIndex.Index;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.ResetFrameXSplit();this.Draw();}else if(id===JSCHART_OPERATOR_ID.OP_GOTO_HOME){var hisData=this.ChartOperator_Temp_GetHistroyData();;if(!hisData)return;//数据还没有到达
|
|
6851
6892
|
var showCount=this.Frame.SubFrame[0].Frame.XPointCount;//获取一屏显示的数据个数
|
|
6852
6893
|
showCount-=this.RightSpaceCount;var index=hisData.Data.length-showCount;hisData.DataOffset=index;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;JSConsole.Chart.Log('[KLineChartContainer::ChartOperator] OP_GOTO_HOME, dataOffset='+hisData.DataOffset+' CursorIndex='+this.CursorIndex+' PageSize='+showCount);this.ChartOperator_Temp_Update();}else if(id===JSCHART_OPERATOR_ID.OP_GOTO_END){var hisData=this.ChartOperator_Temp_GetHistroyData();if(!hisData)return;//数据还没有到达
|
|
6853
6894
|
hisData.DataOffset=0;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;JSConsole.Chart.Log('[KLineChartContainer::ChartOperator] OP_GOTO_END ');this.ChartOperator_Temp_Update();}else if(id==JSCHART_OPERATOR_ID.OP_LEFT_ZOOM_IN||id==JSCHART_OPERATOR_ID.OP_LEFT_ZOOM_OUT)//{ Step:增加/减少数量 } 左边增加/减少显示个数
|
|
@@ -6887,7 +6928,7 @@ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);var titleChart=t
|
|
|
6887
6928
|
this.ChartOperator_Temp_GetHistroyData=function(){var hisData=null;if(!this.Frame.Data)hisData=this.Frame.Data;else hisData=this.Frame.SubFrame[0].Frame.Data;if(!hisData)return null;//数据还没有到达
|
|
6888
6929
|
return hisData;};this.ChartOperator_Temp_Update=function(){this.UpdataDataoffset();//更新数据偏移
|
|
6889
6930
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
6890
|
-
this.Frame.SetSizeChage(true);this.Draw();this.UpdatePointByCursorIndex();//更新十字光标位子
|
|
6931
|
+
this.ResetFrameXSplit();this.Frame.SetSizeChage(true);this.Draw();this.UpdatePointByCursorIndex();//更新十字光标位子
|
|
6891
6932
|
};this.OnWheel=function(e){var _this16=this;JSConsole.Chart.Log('[KLineChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var isInClient=false;this.Canvas.beginPath();this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());isInClient=this.Canvas.isPointInPath(x,y);var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;var enableZoomUpDown=true;//是否允许缩放
|
|
6892
6933
|
if(this.EnableZoomUpDown&&this.EnableZoomUpDown.Wheel===false)enableZoomUpDown=false;if(this.SourceData&&this.SourceData.Data){if(isInClient&&wheelValue<0&&enableZoomUpDown)//缩小
|
|
6893
6934
|
{var cursorIndex={ZoomType:this.ZoomType,IsLockRight:this.IsZoomLockRight};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(this.Frame.ZoomDown(cursorIndex,{ZoomDownloadDataCallback:function ZoomDownloadDataCallback(requestData){_this16.ZoomDownloadData(requestData);}})){this.CursorIndex=cursorIndex.Index;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.ResetFrameXSplit();this.Draw();this.OnKLinePageChange("wheel");}}else if(isInClient&&wheelValue>0&&enableZoomUpDown)//放大
|
|
@@ -7274,12 +7315,13 @@ this.CreateOverlayWindowsIndex=function(obj)// {WindowIndex:, IndexName:, Identi
|
|
|
7274
7315
|
{var _this21=this;var indexName=obj.IndexName;var windowIndex=obj.WindowIndex;var apiItem=null,indexInfo=null,indexCustom=null;if(obj.API){apiItem=obj.API;}else if(obj.Script)//动态执行脚本
|
|
7275
7316
|
{indexInfo={Script:obj.Script,ID:obj.indexName,Name:obj.indexName};if(obj.Name)indexInfo.Name=obj.Name;}else{var scriptData=new JSIndexScript();indexInfo=scriptData.Get(indexName);//系统指标
|
|
7276
7317
|
if(!indexInfo){indexCustom=JSIndexMap.Get(indexName);//定制指标
|
|
7277
|
-
if(!indexCustom){console.warn('[KLineChartContainer::CreateOverlayIndex] can not find index['+indexName+']');return null;}}}var subFrame=this.Frame.SubFrame[windowIndex];
|
|
7278
|
-
var frame=this.ClassName==='KLineChartHScreenContainer'?new OverlayKLineHScreenFrame():new OverlayKLineFrame();
|
|
7318
|
+
if(!indexCustom){console.warn('[KLineChartContainer::CreateOverlayIndex] can not find index['+indexName+']');return null;}}}var subFrame=this.Frame.SubFrame[windowIndex];var overlayFrame=new OverlayIndexItem();if(obj.Identify)overlayFrame.Identify=obj.Identify;//由外部指定id
|
|
7319
|
+
//var frame= this.ClassName==='KLineChartHScreenContainer' ? new OverlayKLineHScreenFrame() : new OverlayKLineFrame();
|
|
7320
|
+
var frame=this.CreateOverlayFrame();frame.Canvas=this.Canvas;frame.MainFrame=subFrame.Frame;frame.ChartBorder=subFrame.Frame.ChartBorder;frame.GetEventCallback=function(id){return _this21.GetEventCallback(id);};if(obj.ShowRightText===true)frame.IsShow=true;else if(obj.ShowRightText===false)frame.IsShow=false;if(IFrameSplitOperator.IsBool(obj.ShowToolbar))frame.IsShowToolbar=obj.ShowToolbar;//废弃
|
|
7279
7321
|
if(IFrameSplitOperator.IsBool(obj.IsShareY))frame.IsShareY=obj.IsShareY;if(IFrameSplitOperator.IsBool(obj.IsShowIndexTitle))frame.IsShowIndexTitle=obj.IsShowIndexTitle;if(IFrameSplitOperator.IsBool(obj.IsCalculateYMaxMin))frame.IsCalculateYMaxMin=obj.IsCalculateYMaxMin;//是否计算Y最大最小值
|
|
7280
7322
|
frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=frame.ChartBorder;frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;frame.YSplitOperator.GetEventCallback=function(id){return _this21.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this21.GetKLineChart();};frame.YSplitOperator.OverlayIndex=overlayFrame;frame.YSplitOperator.HQChart=this;frame.YSplitOperator.OverlayIdentify=overlayFrame.Identify;if(obj.Frame){var item=obj.Frame;if(item.Custom)frame.YSplitOperator.Custom=item.Custom;if(IFrameSplitOperator.IsBool(item.IsYDrawMainFrame))frame.IsYDrawMainFrame=item.IsYDrawMainFrame;//自定义刻度绘制在主图上
|
|
7281
|
-
if(IFrameSplitOperator.IsBool(item.IsShowToolbar))frame.IsShowToolbar=item.IsShowToolbar
|
|
7282
|
-
}overlayFrame.Frame=frame;if(apiItem){var apiIndex=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,obj,true);apiIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
7323
|
+
if(IFrameSplitOperator.IsBool(item.IsShowToolbar))frame.IsShowToolbar=item.IsShowToolbar;//是否显示工具栏
|
|
7324
|
+
}overlayFrame.Frame=frame;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);if(event&&event.Callback){var sendData={OverlayFrame:overlayFrame,WindowIndex:windowIndex,SubFrame:subFrame};event.Callback(event,sendData,this);}if(apiItem){var apiIndex=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,obj,true);apiIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
7283
7325
|
overlayFrame.Script=apiIndex;}else if(indexInfo){var args=indexInfo.Args;if(obj.Args)args=obj.Args;//外部可以设置参数
|
|
7284
7326
|
var indexData={Name:indexInfo.Name,Script:indexInfo.Script,Args:args,ID:indexName,//扩展属性 可以是空
|
|
7285
7327
|
KLineType:indexInfo.KLineType,YSpecificMaxMin:indexInfo.YSpecificMaxMin,YSplitScale:indexInfo.YSplitScale,FloatPrecision:indexInfo.FloatPrecision,Condition:indexInfo.Condition,OutName:indexInfo.OutName};if(IFrameSplitOperator.IsNumber(obj.FloatPrecision))indexData.FloatPrecision=obj.FloatPrecision;if(IFrameSplitOperator.IsNumber(obj.StringFormat))indexData.StringFormat=obj.StringFormat;var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData);//脚本执行
|
|
@@ -8001,7 +8043,7 @@ this.CreateOverlayWindowsIndex=function(obj)//{WindowIndex:, IndexName:, Identif
|
|
|
8001
8043
|
{var _this36=this;var indexName=obj.IndexName;var windowIndex=obj.WindowIndex;var apiItem=null,indexInfo=null,indexCustom=null;if(obj.API){apiItem=obj.API;}else if(obj.Script)//动态执行脚本
|
|
8002
8044
|
{indexInfo={Script:obj.Script,ID:obj.indexName,Name:obj.indexName};if(obj.Name)indexInfo.Name=obj.Name;}else{var scriptData=new JSIndexScript();indexInfo=scriptData.Get(indexName);//系统指标
|
|
8003
8045
|
if(!indexInfo){indexCustom=JSIndexMap.Get(indexName);//定制指标
|
|
8004
|
-
if(!indexCustom){console.warn('[MinuteChartContainer::CreateOverlayIndex] can not find index['+indexName+']');return null;}}}var subFrame=this.Frame.SubFrame[windowIndex];
|
|
8046
|
+
if(!indexCustom){console.warn('[MinuteChartContainer::CreateOverlayIndex] can not find index['+indexName+']');return null;}}}var subFrame=this.Frame.SubFrame[windowIndex];var overlayFrame=new OverlayIndexItem();if(obj.Identify)overlayFrame.Identify=obj.Identify;//由外部指定id
|
|
8005
8047
|
var frame=null;if(this.ClassName=="MinuteChartContainer")frame=new OverlayMinuteFrame();else frame=new OverlayMinuteHScreenFrame();frame.Canvas=this.Canvas;frame.MainFrame=subFrame.Frame;frame.ChartBorder=subFrame.Frame.ChartBorder;frame.GlobalOption=this.GlobalOption;if(obj.ShowRightText===true)frame.IsShow=true;else if(obj.ShowRightText===false)frame.IsShow=false;if(obj.IsShareY===true)frame.IsShareY=true;if(IFrameSplitOperator.IsBool(obj.IsCalculateYMaxMin))frame.IsCalculateYMaxMin=obj.IsCalculateYMaxMin;//是否计算Y最大最小值
|
|
8006
8048
|
frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=frame.ChartBorder;frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;frame.YSplitOperator.GetEventCallback=function(id){return _this36.GetEventCallback(id);};frame.YSplitOperator.HQChart=this;frame.YSplitOperator.OverlayIdentify=overlayFrame.Identify;if(obj.Frame){var item=obj.Frame;if(item.Custom)frame.YSplitOperator.Custom=item.Custom;}overlayFrame.Frame=frame;if(apiItem){var apiIndex=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,obj,true);apiIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
8007
8049
|
overlayFrame.Script=apiIndex;}else if(indexInfo){var indexData=indexInfo;if(obj.Args)indexData.Args=obj.Args;//外部可以设置参数
|
|
@@ -11595,8 +11637,8 @@ this.OverlayIndex=null;// { IsOverlay:true, Identify:overlayFrame.Identify, Wind
|
|
|
11595
11637
|
//显示指标不符合条件
|
|
11596
11638
|
this.ShowConditionError=function(param,msg){var hqChart=param.HQChart;var windowIndex=param.WindowIndex;var message='指标不支持当前品种或周期';if(msg)message=msg;var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;frame.ChartPaint=[];var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.NotSupportMessage=message;frame.ChartPaint.push(chart);hqChart.Draw();};this.BindData=function(hqChart,windowIndex,hisData){if(!this.OverlayIndex||this.OverlayIndex.IsOverlay!=true)return;this.OverlayIndex.Frame.ChartPaint=[];if(!IFrameSplitOperator.IsNonEmptyArray(this.OutVar))return;//修改Y轴分割方式
|
|
11597
11639
|
if(IFrameSplitOperator.IsNumber(this.YSplitType))this.OverlayIndex.Frame.Frame.YSplitOperator.SplitType=this.YSplitType;//指标名字
|
|
11598
|
-
var titleInfo={Data:[],Title:this.Name,Frame:this.OverlayIndex.Frame.Frame,Script:this};var indexParam='';for(var i in this.Arguments){var _item34=this.Arguments[i];if(indexParam.length>0)indexParam+=',';indexParam+=_item34.Value.toString();}if(indexParam.length>0)titleInfo.Title=this.Name+'('+indexParam+')';var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.set(this.OverlayIndex.Identify,titleInfo);this.OverlayIndex.Frame.Frame.Title=
|
|
11599
|
-
|
|
11640
|
+
var titleInfo={Data:[],Title:this.Name,Frame:this.OverlayIndex.Frame.Frame,Script:this};var indexParam='';for(var i in this.Arguments){var _item34=this.Arguments[i];if(indexParam.length>0)indexParam+=',';indexParam+=_item34.Value.toString();}if(indexParam.length>0)titleInfo.Title=this.Name+'('+indexParam+')';var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.set(this.OverlayIndex.Identify,titleInfo);if(this.OutName&&this.OutName.length>0&&this.Arguments&&this.Arguments.length>0){titlePaint.SetDynamicTitle(this.OutName,this.Arguments,this.OverlayIndex.Identify);}this.OverlayIndex.Frame.Frame.Title=this.Name;//给子框架设置标题
|
|
11641
|
+
for(var i=0;i<this.OutVar.length;++i){var _item35=this.OutVar[i];if(_item35.IsExData===true)continue;//扩展数据不显示图形
|
|
11600
11642
|
if(_item35.Type==0){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}else if(_item35.Type==1){switch(_item35.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item35,i);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item35,i);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item35,i);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item35,i);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item35,i);break;case'DRAWKLINE':this.CreateKLine(hqChart,windowIndex,_item35,i);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item35,i);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item35,i);break;case'DRAWNUMBER':case"DRAWNUMBER_FIX":case'DRAWTEXT_FIX':this.CreateNumberText(hqChart,windowIndex,_item35,i);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item35,i);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item35,i);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item35,i);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item35,i);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item35,i);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item35,i);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item35,i);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item35,i);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item35,i);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item35,i);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item35,i);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item35,i);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item35,i);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item35,i);break;case"DRAWTEXTABS":case"DRAWTEXTREL":this.CreateDrawText(hqChart,windowIndex,_item35,i);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item35,i);break;default:{var find=g_ScriptIndexChartFactory.Get(_item35.Draw.DrawType);//外部挂接
|
|
11601
11643
|
if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item35,i,this);}break;}}else if(_item35.Type==2){this.CreateMACD(hqChart,windowIndex,_item35,i);}else if(_item35.Type==3){this.CreatePointDot(hqChart,windowIndex,_item35,i,hisData);}else if(_item35.Type==4){this.CreateLineStick(hqChart,windowIndex,_item35,i);}else if(_item35.Type==5){this.CreateStick(hqChart,windowIndex,_item35,i);}else if(_item35.Type==6){this.CreateVolStick(hqChart,windowIndex,_item35,i,hisData);}else if(_item35.Type==7){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}else if(_item35.Type==8){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}var titleData=titleInfo.Data[i];if(titleData){if(this.FloatPrecision>=0)titleData.FloatPrecision=this.FloatPrecision;if(IFrameSplitOperator.IsNumber(this.StringFormat))titleData.StringFormat=this.StringFormat;}}/*
|
|
11602
11644
|
hqChart.TitlePaint[titleIndex].Title=this.Name;
|
|
@@ -11917,15 +11959,19 @@ SettingColor:"rgb(190, 190 ,190)",//周期,复权
|
|
|
11917
11959
|
NameColor:"rgb(190, 190 ,190)",//股票名称
|
|
11918
11960
|
TurnoverRateColor:'rgb(101,104,112)',//换手率
|
|
11919
11961
|
PositionColor:"rgb(101,104,112)"//持仓
|
|
11920
|
-
},FrameBorderPen:"
|
|
11962
|
+
},FrameBorderPen:"rgb(47,51,62)",//边框
|
|
11921
11963
|
MultiDayBorderPen:"rgba(236,236,236,0.5)",FrameSplitPen:"rgba(236,236,236,0.13)",//分割线
|
|
11922
|
-
FrameSplitTextColor:"rgb(
|
|
11964
|
+
FrameSplitTextColor:"rgb(220,220,220)",//刻度文字颜色
|
|
11923
11965
|
FrameSplitTextFont:12*GetDevicePixelRatio()+"px 微软雅黑",//坐标刻度文字字体
|
|
11924
11966
|
FrameTitleBGColor:"rgb(0,0,0)",//标题栏背景色
|
|
11925
11967
|
OverlayIndexTitleBGColor:'rgba(0,0,0,0.7)',//叠加指标背景色
|
|
11926
11968
|
Frame:{XBottomOffset:1*GetDevicePixelRatio(),//X轴文字向下偏移
|
|
11927
11969
|
PercentageText://百分比坐标文字颜色
|
|
11928
|
-
{PriceColor:'rgb(101,104,112)',PercentageColor:"rgb(101,104,112)",SplitColor:"rgb(101,104,112)",Font:14*GetDevicePixelRatio()+"px 微软雅黑"}}
|
|
11970
|
+
{PriceColor:'rgb(101,104,112)',PercentageColor:"rgb(101,104,112)",SplitColor:"rgb(101,104,112)",Font:14*GetDevicePixelRatio()+"px 微软雅黑"}},//叠加指标框架
|
|
11971
|
+
OverlayFrame:{BolderPen:'rgb(130,130,130)',//指标边框线
|
|
11972
|
+
TitleColor:'rgb(181,181,181)',//指标名字颜色
|
|
11973
|
+
TitleFont:11*GetDevicePixelRatio()+'px arial'//指标名字字体
|
|
11974
|
+
},FrameLatestPrice:{TextColor:'rgb(255,255,255)',//最新价格文字颜色
|
|
11929
11975
|
UpBarColor:"rgb(238,21,21)",//上涨
|
|
11930
11976
|
DownBarColor:"rgb(25,158,0)",//下跌
|
|
11931
11977
|
UnchagneBarColor:"rgb(190,190,190)",//平盘
|
|
@@ -12844,7 +12890,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
12844
12890
|
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);};}/********************************************************************************
|
|
12845
12891
|
* 版本信息输出
|
|
12846
12892
|
*
|
|
12847
|
-
*/var HQCHART_VERSION="1.1.
|
|
12893
|
+
*/var HQCHART_VERSION="1.1.12692";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12848
12894
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12849
12895
|
// BaseIndex:BaseIndex,
|
|
12850
12896
|
// ChartLine:ChartLine,
|