hqchart 1.1.12387 → 1.1.12391
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -1314,7 +1314,7 @@ this.OffscreenCanvasElement;if(bOffscreen==true)this.OffscreenCanvasElement=docu
|
|
|
1314
1314
|
this.CacheCanvasElement=null;if(bCacheCanvas)this.CacheCanvasElement=document.createElement("canvas");//改参数div
|
|
1315
1315
|
this.ModifyIndexDialog=new ModifyIndexDialog(divElement);this.ChangeIndexDialog=new ChangeIndexDialog(divElement);this.MinuteDialog=new MinuteDialog(divElement);//额外的画布
|
|
1316
1316
|
this.MapExtraCanvasElement=new _map2.default();//key=画布名字, value={ Element:, Canvas:}
|
|
1317
|
-
this.CreateExtraCanvasElement=function(name){if(this.MapExtraCanvasElement.has(name))return this.MapExtraCanvasElement.get(name);var element=document.createElement("canvas");element.className='jschart-drawing-extra';element.id=Guid();if(name==JSChart.CorssCursorCanvasKey)element.setAttribute("tabindex",5);else element.setAttribute("tabindex",1);if(element.style){element.style.outline='none';element.style.position="absolute";element.style.left='0px';element.style.top='0px';element.style["pointer-events"]="none";}divElement.appendChild(element);var item={Element:element,Canvas:null};this.MapExtraCanvasElement.set(name,item);};this.GetExtraCanvas=function(name){if(!this.MapExtraCanvasElement.has(name))return null;var item=this.MapExtraCanvasElement.get(name);if(!item.Element)return null;if(!item.Canvas)item.Canvas=item.Element.getContext("2d");return item;};this.OnSize=function(option)//{ Type:1 新版本OnSize Redraw:是否重绘, XYSplit:是否重新计算分割线 }
|
|
1317
|
+
this.CreateExtraCanvasElement=function(name,option){if(this.MapExtraCanvasElement.has(name))return this.MapExtraCanvasElement.get(name);var element=document.createElement("canvas");element.className='jschart-drawing-extra';element.id=Guid();if(name==JSChart.CorssCursorCanvasKey)element.setAttribute("tabindex",5);else element.setAttribute("tabindex",1);if(element.style){element.style.outline='none';element.style.position="absolute";element.style.left='0px';element.style.top='0px';element.style["pointer-events"]="none";}if(option){if(IFrameSplitOperator.IsNumber(option.TabIndex))element.setAttribute("tabindex",option.TabIndex);}divElement.appendChild(element);var item={Element:element,Canvas:null};this.MapExtraCanvasElement.set(name,item);};this.GetExtraCanvas=function(name){if(!this.MapExtraCanvasElement.has(name))return null;var item=this.MapExtraCanvasElement.get(name);if(!item.Element)return null;if(!item.Canvas)item.Canvas=item.Element.getContext("2d");return item;};this.OnSize=function(option)//{ Type:1 新版本OnSize Redraw:是否重绘, XYSplit:是否重新计算分割线 }
|
|
1318
1318
|
{//画布大小通过div获取
|
|
1319
1319
|
var height=parseInt(this.DivElement.style.height.replace("px",""));if(this.ToolElement){//TODO调整工具条大小
|
|
1320
1320
|
height-=this.ToolElement.style.height.replace("px","");//减去工具条的高度
|
|
@@ -1592,8 +1592,9 @@ ON_RELOAD_INDEX_CHART_RESOURCE:103,//加载指标图形额外资源
|
|
|
1592
1592
|
ON_RELOAD_OVERLAY_INDEX_CHART_RESOURCE:104,//加载叠加指标图形额外资源
|
|
1593
1593
|
ON_CREATE_FRAME:105,ON_DELETE_FRAME:106,ON_SIZE_FRAME:107,ON_TOUCH_SCROLL_UP_DOWN:108,//页面上下滚动 手机端
|
|
1594
1594
|
ON_RECV_REALTIME_DATA:109,//实时数据
|
|
1595
|
-
ON_CUSTOM_OVERLAY_TOOLBAR:110
|
|
1596
|
-
|
|
1595
|
+
ON_CUSTOM_OVERLAY_TOOLBAR:110,//自定义叠加指标按钮
|
|
1596
|
+
//绘图之前的事件
|
|
1597
|
+
ON_BEFORE_DRAW:111,ON_BEFORE_DRAW_DYNAMIC_INFO:112};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
|
|
1597
1598
|
OP_SCROLL_RIGHT:2,//往右移动
|
|
1598
1599
|
OP_ZOOM_OUT:3,//缩小
|
|
1599
1600
|
OP_ZOOM_IN:4,//放大
|
|
@@ -1815,7 +1816,7 @@ for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i
|
|
|
1815
1816
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Canvas=canvas;}//扩展图形
|
|
1816
1817
|
for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];item.Canvas=canvas;}//叠加股票
|
|
1817
1818
|
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.Canvas=canvas;}//扩展画法
|
|
1818
|
-
for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];item.Canvas=canvas;}};this.Draw=function(){var _this6=this;if(this.ChartCorssCursor)this.ChartCorssCursor.Status=0;if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.StopDrawDynamicInfo();this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);if(this.CacheCanvas)this.CacheCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
1819
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];item.Canvas=canvas;}};this.Draw=function(){var _this6=this;if(this.ChartCorssCursor)this.ChartCorssCursor.Status=0;if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.StopDrawDynamicInfo();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW);if(event&&event.Callback){var sendData={};event.Callback(event,sendData,this);}this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);if(this.CacheCanvas)this.CacheCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
1819
1820
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
1820
1821
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.ClearCoordinateText();this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}if(this.CacheCanvas)this.SetCanvas(this.CacheCanvas);//框架
|
|
1821
1822
|
if(this.Frame.SetBeforeDrawXYCallback){this.Frame.SetBeforeDrawXYCallback(function(frame){_this6.BeforeDrawXYCoordinate(frame);});}this.Frame.Draw();if(this.Frame.DrawCustomVertical){var eventCVericalDraw=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_VERTICAL_DRAW);this.Frame.DrawCustomVertical(eventCVericalDraw);}this.Frame.CalculateLock();for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(!item.IsDrawMain)continue;if(item.IsDrawMain())item.MainDraw();}//框架内图形
|
|
@@ -1846,7 +1847,7 @@ for(var i=0;i<frame.CustomHorizontalInfo.length;++i){var info=frame.CustomHorizo
|
|
|
1846
1847
|
var newCustomHorizontalInfo=frame.CustomHorizontalInfo.filter(function(value,index,ary){return value.Type!=4;});frame.CustomHorizontalInfo=newCustomHorizontalInfo;}for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item)continue;if(item.YInfoType!=4)continue;var data=item.Data;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))continue;if(!IFrameSplitOperator.IsNumber(item.DrawKRange.Start)||!IFrameSplitOperator.IsNumber(item.DrawKRange.End))continue;var startKLine=data.Data[item.DrawKRange.Start];var endKLine=data.Data[item.DrawKRange.End];var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;var info=new CoordinateInfo();info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;info.Message[1]=value.toFixed(2)+"%";info.LineType=-1;info.Type=item.YInfoType;//叠加股票
|
|
1847
1848
|
info.LineColor=item.Color;info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;if(item.Title)info.Title=item.Title;frame.CustomHorizontalInfo.push(info);}};this.OffscreenToShowCanvas=function(){if(!this.ShowCanvas)return;this.ShowCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.ShowCanvas.drawImage(this.OffscreenCanvasElement,0,0);};this.GetDrawStatus=function(){var status={Point:{X:this.LastPoint.X,Y:this.LastPoint.Y},IsOnTouch:this.IsOnTouch,CorssCursorTouchEnd:this.CorssCursorTouchEnd,IsTitleShowLatestData:this.IsTitleShowLatestData,IsMinuteChart:this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false};status.FrameID=this.Frame.PtInFrame(this.LastPoint.X,this.LastPoint.Y);return status;};//画动态信息
|
|
1848
1849
|
this.DrawDynamicInfo=function(option){this.LastMouseStatus.MouseOnToolbar=null;//鼠标在工具栏按钮上
|
|
1849
|
-
if(this.Frame.ScreenImageData==null&&!this.CacheCanvas)return;var isErase=false;if(this.ChartCorssCursor){if(this.ChartCorssCursor.PointX!=null||this.ChartCorssCursor.PointY!=null)isErase=true;}isErase=true;//每次都擦除背景
|
|
1850
|
+
if(this.Frame.ScreenImageData==null&&!this.CacheCanvas)return;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);if(event&&event.Callback){var sendData={};event.Callback(event,sendData,this);}var isErase=false;if(this.ChartCorssCursor){if(this.ChartCorssCursor.PointX!=null||this.ChartCorssCursor.PointY!=null)isErase=true;}isErase=true;//每次都擦除背景
|
|
1850
1851
|
if(isErase==false){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw)continue;if(item.IsDynamic&&item.IsEraseBG){isErase=true;break;}}}if(isErase){if(this.Frame.ScreenImageData){this.Canvas.putImageData(this.Frame.ScreenImageData,0,0);}else if(this.CacheCanvas){this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.Canvas.drawImage(this.CacheElement,0,0);}}if(this.Frame.DrawToolbar)this.Frame.DrawToolbar(this.LastMouseStatus);this.DrawSelectedStatus();var moveonPoint=null;if(this.LastMouseStatus&&this.LastMouseStatus.MoveOnPoint)moveonPoint=this.LastMouseStatus.MoveOnPoint;for(var i=0;i<this.ExtendChartPaint.length;++i)//动态扩展图形
|
|
1851
1852
|
{var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw)continue;if(item.DrawAfterPicture)continue;if(item.IsDynamic&&item.DrawAfterTitle===false&&item.IsAnimation==false){item.Draw();if(item.DrawToolbar)item.DrawToolbar(moveonPoint,this.LastMouseStatus);}}for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)item.Draw();}this.DrawDrawPictureXYCoordinate();if(this.ChartCorssCursor){this.ChartCorssCursor.LastPoint=this.LastPoint;this.ChartCorssCursor.CursorIndex=this.CursorIndex;var bRestoreCanvas=false;if(this.CorssCursorCanvas)//独立的十字光标层
|
|
1852
1853
|
{this.ChartCorssCursor.Canvas=this.CorssCursorCanvas;this.ChartCorssCursor.Canvas.clearRect(0,0,this.CorssCursorElement.width,this.CorssCursorElement.height);bRestoreCanvas=true;}if(option&&option.Corss==false){}else if(this.DragMode==JSCHART_DRAG_ID.CLICK_TOUCH_MODE_ID){if(this.TouchStatus.CorssCursorShow==true)this.ChartCorssCursor.Draw();}else if(this.IsOnTouch===false&&this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.IsShowCorssCursor===true)//开始绘图
|
|
@@ -4097,11 +4098,13 @@ this.ArrawAngle=35;//三角斜边一直线夹角
|
|
|
4097
4098
|
this.ArrawLength=10;//三角斜边长度
|
|
4098
4099
|
this.ArrawLineWidth=5;//箭头粗细
|
|
4099
4100
|
this.Arrow={Start:false,End:false};//Start=是否绘制开始箭头 <- End=是否绘制结束箭头 ->
|
|
4100
|
-
this.IsFullRangeMaxMin=false;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||this.Data.length<=0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var drawLines=[];var arrowLines=[];for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];var drawPoints={Point:[],Color:line.Color};var drawArrowPoints={Start:[],End:[]};if(line.BGColor)drawPoints.BGColor=line.BGColor;var isExtendLine=false;if(IFrameSplitOperator.IsBool(line.IsExtendLine))isExtendLine=line.IsExtendLine;if(isExtendLine)//左右延申
|
|
4101
|
+
this.IsFullRangeMaxMin=false;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||this.Data.length<=0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var drawLines=[];var arrowLines=[];for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];var drawPoints={Point:[],Color:line.Color,AryCircle:null};var drawArrowPoints={Start:[],End:[]};if(line.BGColor)drawPoints.BGColor=line.BGColor;if(IFrameSplitOperator.IsNonEmptyArray(line.Circle))drawPoints.AryCircle=line.Circle;var isExtendLine=false;if(IFrameSplitOperator.IsBool(line.IsExtendLine))isExtendLine=line.IsExtendLine;if(isExtendLine)//左右延申
|
|
4101
4102
|
{var prePoint=null;var bFirstPoint=true;for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>0&&index<xPointCount){if(bFirstPoint){if(prePoint){var preIndex=prePoint.Index-offset;var x=this.ChartFrame.GetXFromIndex(preIndex,false);var y=this.ChartFrame.GetYFromData(prePoint.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);}bFirstPoint=false;}var x=this.ChartFrame.GetXFromIndex(index,false);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);}else{if(drawPoints.Point.length>0){var x=this.ChartFrame.GetXFromIndex(index,false);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:true};drawPoints.Point.push(pointItem);bFirstPoint=true;prePoint=null;}}prePoint=point;}if(drawPoints.Point.length>=2){drawLines.push(drawPoints);arrowLines.push(drawArrowPoints);}}else{for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(!IFrameSplitOperator.IsNumber(point.Index))continue;var index=point.Index-offset;if(index>=0&&index<xPointCount){var x=this.ChartFrame.GetXFromIndex(index);var y=this.ChartFrame.GetYFromData(point.Value,false);var pointItem={X:x,Y:y,End:false};drawPoints.Point.push(pointItem);if(j==0||j==1)drawArrowPoints.Start.push(pointItem);//起始点
|
|
4102
4103
|
if(j==line.Point.length-1||j==line.Point.length-2)drawArrowPoints.End.push(pointItem);//结束点
|
|
4103
4104
|
}else{if(drawPoints.Point.length>0)drawPoints.Point[drawPoints.Point.length-1].End=true;//点断开
|
|
4104
|
-
}}if(drawPoints.Point.length>=2){drawLines.push(drawPoints);arrowLines.push(drawArrowPoints);}}}var pixelRatio=GetDevicePixelRatio();this.Canvas.save();this.ClipClient(this.IsHScreen)
|
|
4105
|
+
}}if(drawPoints.Point.length>=2){drawLines.push(drawPoints);arrowLines.push(drawArrowPoints);}}}var pixelRatio=GetDevicePixelRatio();this.Canvas.save();this.ClipClient(this.IsHScreen);//绘制线段
|
|
4106
|
+
for(var i=0;i<drawLines.length;++i){if(this.LineDash)this.Canvas.setLineDash(this.LineDash);if(IFrameSplitOperator.IsPlusNumber(this.LineWidth))this.Canvas.lineWidth=this.LineWidth*pixelRatio;else this.Canvas.lineWidth=1*pixelRatio;var item=drawLines[i];this.DrawLine(item,arrowLines[i]);//绘制圆点
|
|
4107
|
+
if(item.AryCircle)this.DrawCircle(item);}this.Canvas.restore();};this.DrawCircle=function(line){var pixelRatio=GetDevicePixelRatio();for(var i=0;i<line.Point.length;++i){var item=line.Point[i];for(var j=0;j<line.AryCircle.length;++j){var circleItem=line.AryCircle[j];var type=0;if(IFrameSplitOperator.IsNumber(circleItem.Type))type=circleItem.Type;this.Canvas.beginPath();this.Canvas.arc(item.X,item.Y,circleItem.Radius,0,2*Math.PI);if(type==1){if(IFrameSplitOperator.IsPlusNumber(circleItem.LineWidth))this.Canvas.lineWidth=circleItem.LineWidth*pixelRatio;this.Canvas.strokeStyle=circleItem.Color;this.Canvas.stroke();}else{this.Canvas.fillStyle=circleItem.Color;this.Canvas.fill();}}}};this.DrawLine=function(line,arrow){if(line.BGColor)//背景色
|
|
4105
4108
|
{this.Canvas.fillStyle=line.BGColor;for(var i=0;i<line.Point.length;++i){var item=line.Point[i];if(i==0){this.Canvas.beginPath();if(this.IsHScreen)this.Canvas.moveTo(item.Y,item.X);else this.Canvas.moveTo(item.X,item.Y);}else{if(this.IsHScreen)this.Canvas.lineTo(item.Y,item.X);else this.Canvas.lineTo(item.X,item.Y);}}this.Canvas.closePath();this.Canvas.fill();}this.Canvas.strokeStyle=line.Color;var drawCount=0;for(var i=0;i<line.Point.length;++i){var item=line.Point[i];if(drawCount==0){this.Canvas.beginPath();if(this.IsHScreen)this.Canvas.moveTo(item.Y,item.X);else this.Canvas.moveTo(item.X,item.Y);++drawCount;}else{if(this.IsHScreen)this.Canvas.lineTo(item.Y,item.X);else this.Canvas.lineTo(item.X,item.Y);++drawCount;}if(item.End==true)//点断了 要重新画
|
|
4106
4109
|
{if(drawCount>0)this.Canvas.stroke();drawCount=0;}}if(drawCount>0)this.Canvas.stroke();//绘制箭头
|
|
4107
4110
|
if(arrow.End.length==2&&this.Arrow.End==true)this.DrawArrow(arrow.End[0],arrow.End[1]);if(arrow.Start.length==2&&this.Arrow.Start==true)this.DrawArrow(arrow.Start[1],arrow.Start[0]);};this.DrawArrow=function(ptStart,ptEnd){//计算箭头
|
|
@@ -12563,7 +12566,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
|
|
|
12563
12566
|
};this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
|
|
12564
12567
|
* 版本信息输出
|
|
12565
12568
|
*
|
|
12566
|
-
*/var HQCHART_VERSION="1.1.
|
|
12569
|
+
*/var HQCHART_VERSION="1.1.12390";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();//把给外界调用的方法暴露出来
|
|
12567
12570
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12568
12571
|
// BaseIndex:BaseIndex,
|
|
12569
12572
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -56,7 +56,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
56
56
|
//额外的画布
|
|
57
57
|
this.MapExtraCanvasElement=new Map(); //key=画布名字, value={ Element:, Canvas:}
|
|
58
58
|
|
|
59
|
-
this.CreateExtraCanvasElement=function(name)
|
|
59
|
+
this.CreateExtraCanvasElement=function(name, option)
|
|
60
60
|
{
|
|
61
61
|
if (this.MapExtraCanvasElement.has(name)) return this.MapExtraCanvasElement.get(name);
|
|
62
62
|
|
|
@@ -77,6 +77,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
77
77
|
element.style["pointer-events"]="none";
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
if (option)
|
|
81
|
+
{
|
|
82
|
+
if (IFrameSplitOperator.IsNumber(option.TabIndex)) element.setAttribute("tabindex",option.TabIndex);
|
|
83
|
+
}
|
|
84
|
+
|
|
80
85
|
divElement.appendChild(element);
|
|
81
86
|
|
|
82
87
|
var item={ Element:element, Canvas:null };
|
|
@@ -2469,6 +2474,10 @@ var JSCHART_EVENT_ID=
|
|
|
2469
2474
|
ON_RECV_REALTIME_DATA:109, //实时数据
|
|
2470
2475
|
|
|
2471
2476
|
ON_CUSTOM_OVERLAY_TOOLBAR:110, //自定义叠加指标按钮
|
|
2477
|
+
|
|
2478
|
+
//绘图之前的事件
|
|
2479
|
+
ON_BEFORE_DRAW:111,
|
|
2480
|
+
ON_BEFORE_DRAW_DYNAMIC_INFO:112,
|
|
2472
2481
|
}
|
|
2473
2482
|
|
|
2474
2483
|
var JSCHART_OPERATOR_ID=
|
|
@@ -4786,6 +4795,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4786
4795
|
|
|
4787
4796
|
this.StopDrawDynamicInfo();
|
|
4788
4797
|
|
|
4798
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW);
|
|
4799
|
+
if (event && event.Callback)
|
|
4800
|
+
{
|
|
4801
|
+
var sendData={ };
|
|
4802
|
+
event.Callback(event,sendData,this);
|
|
4803
|
+
}
|
|
4804
|
+
|
|
4789
4805
|
this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
4790
4806
|
if (this.CacheCanvas) this.CacheCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
4791
4807
|
|
|
@@ -5210,6 +5226,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5210
5226
|
|
|
5211
5227
|
if (this.Frame.ScreenImageData==null && !this.CacheCanvas) return;
|
|
5212
5228
|
|
|
5229
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);
|
|
5230
|
+
if (event && event.Callback)
|
|
5231
|
+
{
|
|
5232
|
+
var sendData={ };
|
|
5233
|
+
event.Callback(event,sendData,this);
|
|
5234
|
+
}
|
|
5235
|
+
|
|
5213
5236
|
var isErase=false;
|
|
5214
5237
|
if (this.ChartCorssCursor)
|
|
5215
5238
|
{
|
|
@@ -34046,11 +34069,14 @@ function ChartMultiLine()
|
|
|
34046
34069
|
for(var i=0; i<this.Lines.length; ++i)
|
|
34047
34070
|
{
|
|
34048
34071
|
var line=this.Lines[i];
|
|
34049
|
-
var drawPoints={ Point:[], Color:line.Color };
|
|
34072
|
+
var drawPoints={ Point:[], Color:line.Color, AryCircle:null };
|
|
34050
34073
|
var drawArrowPoints={ Start:[], End:[] };
|
|
34051
34074
|
if (line.BGColor) drawPoints.BGColor=line.BGColor;
|
|
34075
|
+
if (IFrameSplitOperator.IsNonEmptyArray(line.Circle)) drawPoints.AryCircle=line.Circle;
|
|
34076
|
+
|
|
34052
34077
|
var isExtendLine=false;
|
|
34053
34078
|
if (IFrameSplitOperator.IsBool(line.IsExtendLine)) isExtendLine=line.IsExtendLine;
|
|
34079
|
+
|
|
34054
34080
|
if (isExtendLine) //左右延申
|
|
34055
34081
|
{
|
|
34056
34082
|
var prePoint=null;
|
|
@@ -34122,6 +34148,7 @@ function ChartMultiLine()
|
|
|
34122
34148
|
var x=this.ChartFrame.GetXFromIndex(index);
|
|
34123
34149
|
var y=this.ChartFrame.GetYFromData(point.Value, false);
|
|
34124
34150
|
var pointItem={X:x, Y:y, End:false};
|
|
34151
|
+
|
|
34125
34152
|
drawPoints.Point.push(pointItem);
|
|
34126
34153
|
|
|
34127
34154
|
if (j==0 || j==1) drawArrowPoints.Start.push(pointItem); //起始点
|
|
@@ -34144,6 +34171,7 @@ function ChartMultiLine()
|
|
|
34144
34171
|
var pixelRatio=GetDevicePixelRatio();
|
|
34145
34172
|
this.Canvas.save();
|
|
34146
34173
|
this.ClipClient(this.IsHScreen);
|
|
34174
|
+
//绘制线段
|
|
34147
34175
|
for(var i=0; i<drawLines.length; ++i)
|
|
34148
34176
|
{
|
|
34149
34177
|
if (this.LineDash) this.Canvas.setLineDash(this.LineDash);
|
|
@@ -34151,10 +34179,48 @@ function ChartMultiLine()
|
|
|
34151
34179
|
else this.Canvas.lineWidth=1*pixelRatio;
|
|
34152
34180
|
var item=drawLines[i];
|
|
34153
34181
|
this.DrawLine(item, arrowLines[i]);
|
|
34182
|
+
|
|
34183
|
+
//绘制圆点
|
|
34184
|
+
if (item.AryCircle) this.DrawCircle(item)
|
|
34154
34185
|
}
|
|
34186
|
+
|
|
34155
34187
|
this.Canvas.restore();
|
|
34156
34188
|
}
|
|
34157
34189
|
|
|
34190
|
+
this.DrawCircle=function(line)
|
|
34191
|
+
{
|
|
34192
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
34193
|
+
|
|
34194
|
+
for(var i=0; i<line.Point.length; ++i)
|
|
34195
|
+
{
|
|
34196
|
+
var item=line.Point[i];
|
|
34197
|
+
|
|
34198
|
+
for(var j=0;j<line.AryCircle.length;++j)
|
|
34199
|
+
{
|
|
34200
|
+
var circleItem=line.AryCircle[j];
|
|
34201
|
+
|
|
34202
|
+
var type=0;
|
|
34203
|
+
if (IFrameSplitOperator.IsNumber(circleItem.Type)) type=circleItem.Type;
|
|
34204
|
+
|
|
34205
|
+
this.Canvas.beginPath();
|
|
34206
|
+
this.Canvas.arc(item.X, item.Y, circleItem.Radius, 0, 2 * Math.PI);
|
|
34207
|
+
|
|
34208
|
+
if (type==1)
|
|
34209
|
+
{
|
|
34210
|
+
if (IFrameSplitOperator.IsPlusNumber(circleItem.LineWidth)) this.Canvas.lineWidth=circleItem.LineWidth*pixelRatio;
|
|
34211
|
+
this.Canvas.strokeStyle=circleItem.Color;
|
|
34212
|
+
this.Canvas.stroke();
|
|
34213
|
+
}
|
|
34214
|
+
else
|
|
34215
|
+
{
|
|
34216
|
+
this.Canvas.fillStyle=circleItem.Color;
|
|
34217
|
+
this.Canvas.fill()
|
|
34218
|
+
}
|
|
34219
|
+
|
|
34220
|
+
}
|
|
34221
|
+
}
|
|
34222
|
+
}
|
|
34223
|
+
|
|
34158
34224
|
this.DrawLine=function(line, arrow)
|
|
34159
34225
|
{
|
|
34160
34226
|
if (line.BGColor) //背景色
|
|
@@ -4136,7 +4136,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4136
4136
|
//额外的画布
|
|
4137
4137
|
this.MapExtraCanvasElement=new Map(); //key=画布名字, value={ Element:, Canvas:}
|
|
4138
4138
|
|
|
4139
|
-
this.CreateExtraCanvasElement=function(name)
|
|
4139
|
+
this.CreateExtraCanvasElement=function(name, option)
|
|
4140
4140
|
{
|
|
4141
4141
|
if (this.MapExtraCanvasElement.has(name)) return this.MapExtraCanvasElement.get(name);
|
|
4142
4142
|
|
|
@@ -4157,6 +4157,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4157
4157
|
element.style["pointer-events"]="none";
|
|
4158
4158
|
}
|
|
4159
4159
|
|
|
4160
|
+
if (option)
|
|
4161
|
+
{
|
|
4162
|
+
if (IFrameSplitOperator.IsNumber(option.TabIndex)) element.setAttribute("tabindex",option.TabIndex);
|
|
4163
|
+
}
|
|
4164
|
+
|
|
4160
4165
|
divElement.appendChild(element);
|
|
4161
4166
|
|
|
4162
4167
|
var item={ Element:element, Canvas:null };
|
|
@@ -6549,6 +6554,10 @@ var JSCHART_EVENT_ID=
|
|
|
6549
6554
|
ON_RECV_REALTIME_DATA:109, //实时数据
|
|
6550
6555
|
|
|
6551
6556
|
ON_CUSTOM_OVERLAY_TOOLBAR:110, //自定义叠加指标按钮
|
|
6557
|
+
|
|
6558
|
+
//绘图之前的事件
|
|
6559
|
+
ON_BEFORE_DRAW:111,
|
|
6560
|
+
ON_BEFORE_DRAW_DYNAMIC_INFO:112,
|
|
6552
6561
|
}
|
|
6553
6562
|
|
|
6554
6563
|
var JSCHART_OPERATOR_ID=
|
|
@@ -8866,6 +8875,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8866
8875
|
|
|
8867
8876
|
this.StopDrawDynamicInfo();
|
|
8868
8877
|
|
|
8878
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW);
|
|
8879
|
+
if (event && event.Callback)
|
|
8880
|
+
{
|
|
8881
|
+
var sendData={ };
|
|
8882
|
+
event.Callback(event,sendData,this);
|
|
8883
|
+
}
|
|
8884
|
+
|
|
8869
8885
|
this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
8870
8886
|
if (this.CacheCanvas) this.CacheCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
8871
8887
|
|
|
@@ -9290,6 +9306,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9290
9306
|
|
|
9291
9307
|
if (this.Frame.ScreenImageData==null && !this.CacheCanvas) return;
|
|
9292
9308
|
|
|
9309
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);
|
|
9310
|
+
if (event && event.Callback)
|
|
9311
|
+
{
|
|
9312
|
+
var sendData={ };
|
|
9313
|
+
event.Callback(event,sendData,this);
|
|
9314
|
+
}
|
|
9315
|
+
|
|
9293
9316
|
var isErase=false;
|
|
9294
9317
|
if (this.ChartCorssCursor)
|
|
9295
9318
|
{
|
|
@@ -38126,11 +38149,14 @@ function ChartMultiLine()
|
|
|
38126
38149
|
for(var i=0; i<this.Lines.length; ++i)
|
|
38127
38150
|
{
|
|
38128
38151
|
var line=this.Lines[i];
|
|
38129
|
-
var drawPoints={ Point:[], Color:line.Color };
|
|
38152
|
+
var drawPoints={ Point:[], Color:line.Color, AryCircle:null };
|
|
38130
38153
|
var drawArrowPoints={ Start:[], End:[] };
|
|
38131
38154
|
if (line.BGColor) drawPoints.BGColor=line.BGColor;
|
|
38155
|
+
if (IFrameSplitOperator.IsNonEmptyArray(line.Circle)) drawPoints.AryCircle=line.Circle;
|
|
38156
|
+
|
|
38132
38157
|
var isExtendLine=false;
|
|
38133
38158
|
if (IFrameSplitOperator.IsBool(line.IsExtendLine)) isExtendLine=line.IsExtendLine;
|
|
38159
|
+
|
|
38134
38160
|
if (isExtendLine) //左右延申
|
|
38135
38161
|
{
|
|
38136
38162
|
var prePoint=null;
|
|
@@ -38202,6 +38228,7 @@ function ChartMultiLine()
|
|
|
38202
38228
|
var x=this.ChartFrame.GetXFromIndex(index);
|
|
38203
38229
|
var y=this.ChartFrame.GetYFromData(point.Value, false);
|
|
38204
38230
|
var pointItem={X:x, Y:y, End:false};
|
|
38231
|
+
|
|
38205
38232
|
drawPoints.Point.push(pointItem);
|
|
38206
38233
|
|
|
38207
38234
|
if (j==0 || j==1) drawArrowPoints.Start.push(pointItem); //起始点
|
|
@@ -38224,6 +38251,7 @@ function ChartMultiLine()
|
|
|
38224
38251
|
var pixelRatio=GetDevicePixelRatio();
|
|
38225
38252
|
this.Canvas.save();
|
|
38226
38253
|
this.ClipClient(this.IsHScreen);
|
|
38254
|
+
//绘制线段
|
|
38227
38255
|
for(var i=0; i<drawLines.length; ++i)
|
|
38228
38256
|
{
|
|
38229
38257
|
if (this.LineDash) this.Canvas.setLineDash(this.LineDash);
|
|
@@ -38231,10 +38259,48 @@ function ChartMultiLine()
|
|
|
38231
38259
|
else this.Canvas.lineWidth=1*pixelRatio;
|
|
38232
38260
|
var item=drawLines[i];
|
|
38233
38261
|
this.DrawLine(item, arrowLines[i]);
|
|
38262
|
+
|
|
38263
|
+
//绘制圆点
|
|
38264
|
+
if (item.AryCircle) this.DrawCircle(item)
|
|
38234
38265
|
}
|
|
38266
|
+
|
|
38235
38267
|
this.Canvas.restore();
|
|
38236
38268
|
}
|
|
38237
38269
|
|
|
38270
|
+
this.DrawCircle=function(line)
|
|
38271
|
+
{
|
|
38272
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
38273
|
+
|
|
38274
|
+
for(var i=0; i<line.Point.length; ++i)
|
|
38275
|
+
{
|
|
38276
|
+
var item=line.Point[i];
|
|
38277
|
+
|
|
38278
|
+
for(var j=0;j<line.AryCircle.length;++j)
|
|
38279
|
+
{
|
|
38280
|
+
var circleItem=line.AryCircle[j];
|
|
38281
|
+
|
|
38282
|
+
var type=0;
|
|
38283
|
+
if (IFrameSplitOperator.IsNumber(circleItem.Type)) type=circleItem.Type;
|
|
38284
|
+
|
|
38285
|
+
this.Canvas.beginPath();
|
|
38286
|
+
this.Canvas.arc(item.X, item.Y, circleItem.Radius, 0, 2 * Math.PI);
|
|
38287
|
+
|
|
38288
|
+
if (type==1)
|
|
38289
|
+
{
|
|
38290
|
+
if (IFrameSplitOperator.IsPlusNumber(circleItem.LineWidth)) this.Canvas.lineWidth=circleItem.LineWidth*pixelRatio;
|
|
38291
|
+
this.Canvas.strokeStyle=circleItem.Color;
|
|
38292
|
+
this.Canvas.stroke();
|
|
38293
|
+
}
|
|
38294
|
+
else
|
|
38295
|
+
{
|
|
38296
|
+
this.Canvas.fillStyle=circleItem.Color;
|
|
38297
|
+
this.Canvas.fill()
|
|
38298
|
+
}
|
|
38299
|
+
|
|
38300
|
+
}
|
|
38301
|
+
}
|
|
38302
|
+
}
|
|
38303
|
+
|
|
38238
38304
|
this.DrawLine=function(line, arrow)
|
|
38239
38305
|
{
|
|
38240
38306
|
if (line.BGColor) //背景色
|
|
@@ -127361,7 +127427,7 @@ function ScrollBarBGChart()
|
|
|
127361
127427
|
|
|
127362
127428
|
|
|
127363
127429
|
|
|
127364
|
-
var HQCHART_VERSION="1.1.
|
|
127430
|
+
var HQCHART_VERSION="1.1.12390";
|
|
127365
127431
|
|
|
127366
127432
|
function PrintHQChartVersion()
|
|
127367
127433
|
{
|
|
@@ -4180,7 +4180,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4180
4180
|
//额外的画布
|
|
4181
4181
|
this.MapExtraCanvasElement=new Map(); //key=画布名字, value={ Element:, Canvas:}
|
|
4182
4182
|
|
|
4183
|
-
this.CreateExtraCanvasElement=function(name)
|
|
4183
|
+
this.CreateExtraCanvasElement=function(name, option)
|
|
4184
4184
|
{
|
|
4185
4185
|
if (this.MapExtraCanvasElement.has(name)) return this.MapExtraCanvasElement.get(name);
|
|
4186
4186
|
|
|
@@ -4201,6 +4201,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4201
4201
|
element.style["pointer-events"]="none";
|
|
4202
4202
|
}
|
|
4203
4203
|
|
|
4204
|
+
if (option)
|
|
4205
|
+
{
|
|
4206
|
+
if (IFrameSplitOperator.IsNumber(option.TabIndex)) element.setAttribute("tabindex",option.TabIndex);
|
|
4207
|
+
}
|
|
4208
|
+
|
|
4204
4209
|
divElement.appendChild(element);
|
|
4205
4210
|
|
|
4206
4211
|
var item={ Element:element, Canvas:null };
|
|
@@ -6593,6 +6598,10 @@ var JSCHART_EVENT_ID=
|
|
|
6593
6598
|
ON_RECV_REALTIME_DATA:109, //实时数据
|
|
6594
6599
|
|
|
6595
6600
|
ON_CUSTOM_OVERLAY_TOOLBAR:110, //自定义叠加指标按钮
|
|
6601
|
+
|
|
6602
|
+
//绘图之前的事件
|
|
6603
|
+
ON_BEFORE_DRAW:111,
|
|
6604
|
+
ON_BEFORE_DRAW_DYNAMIC_INFO:112,
|
|
6596
6605
|
}
|
|
6597
6606
|
|
|
6598
6607
|
var JSCHART_OPERATOR_ID=
|
|
@@ -8910,6 +8919,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8910
8919
|
|
|
8911
8920
|
this.StopDrawDynamicInfo();
|
|
8912
8921
|
|
|
8922
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW);
|
|
8923
|
+
if (event && event.Callback)
|
|
8924
|
+
{
|
|
8925
|
+
var sendData={ };
|
|
8926
|
+
event.Callback(event,sendData,this);
|
|
8927
|
+
}
|
|
8928
|
+
|
|
8913
8929
|
this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
8914
8930
|
if (this.CacheCanvas) this.CacheCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
8915
8931
|
|
|
@@ -9334,6 +9350,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9334
9350
|
|
|
9335
9351
|
if (this.Frame.ScreenImageData==null && !this.CacheCanvas) return;
|
|
9336
9352
|
|
|
9353
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);
|
|
9354
|
+
if (event && event.Callback)
|
|
9355
|
+
{
|
|
9356
|
+
var sendData={ };
|
|
9357
|
+
event.Callback(event,sendData,this);
|
|
9358
|
+
}
|
|
9359
|
+
|
|
9337
9360
|
var isErase=false;
|
|
9338
9361
|
if (this.ChartCorssCursor)
|
|
9339
9362
|
{
|
|
@@ -38170,11 +38193,14 @@ function ChartMultiLine()
|
|
|
38170
38193
|
for(var i=0; i<this.Lines.length; ++i)
|
|
38171
38194
|
{
|
|
38172
38195
|
var line=this.Lines[i];
|
|
38173
|
-
var drawPoints={ Point:[], Color:line.Color };
|
|
38196
|
+
var drawPoints={ Point:[], Color:line.Color, AryCircle:null };
|
|
38174
38197
|
var drawArrowPoints={ Start:[], End:[] };
|
|
38175
38198
|
if (line.BGColor) drawPoints.BGColor=line.BGColor;
|
|
38199
|
+
if (IFrameSplitOperator.IsNonEmptyArray(line.Circle)) drawPoints.AryCircle=line.Circle;
|
|
38200
|
+
|
|
38176
38201
|
var isExtendLine=false;
|
|
38177
38202
|
if (IFrameSplitOperator.IsBool(line.IsExtendLine)) isExtendLine=line.IsExtendLine;
|
|
38203
|
+
|
|
38178
38204
|
if (isExtendLine) //左右延申
|
|
38179
38205
|
{
|
|
38180
38206
|
var prePoint=null;
|
|
@@ -38246,6 +38272,7 @@ function ChartMultiLine()
|
|
|
38246
38272
|
var x=this.ChartFrame.GetXFromIndex(index);
|
|
38247
38273
|
var y=this.ChartFrame.GetYFromData(point.Value, false);
|
|
38248
38274
|
var pointItem={X:x, Y:y, End:false};
|
|
38275
|
+
|
|
38249
38276
|
drawPoints.Point.push(pointItem);
|
|
38250
38277
|
|
|
38251
38278
|
if (j==0 || j==1) drawArrowPoints.Start.push(pointItem); //起始点
|
|
@@ -38268,6 +38295,7 @@ function ChartMultiLine()
|
|
|
38268
38295
|
var pixelRatio=GetDevicePixelRatio();
|
|
38269
38296
|
this.Canvas.save();
|
|
38270
38297
|
this.ClipClient(this.IsHScreen);
|
|
38298
|
+
//绘制线段
|
|
38271
38299
|
for(var i=0; i<drawLines.length; ++i)
|
|
38272
38300
|
{
|
|
38273
38301
|
if (this.LineDash) this.Canvas.setLineDash(this.LineDash);
|
|
@@ -38275,10 +38303,48 @@ function ChartMultiLine()
|
|
|
38275
38303
|
else this.Canvas.lineWidth=1*pixelRatio;
|
|
38276
38304
|
var item=drawLines[i];
|
|
38277
38305
|
this.DrawLine(item, arrowLines[i]);
|
|
38306
|
+
|
|
38307
|
+
//绘制圆点
|
|
38308
|
+
if (item.AryCircle) this.DrawCircle(item)
|
|
38278
38309
|
}
|
|
38310
|
+
|
|
38279
38311
|
this.Canvas.restore();
|
|
38280
38312
|
}
|
|
38281
38313
|
|
|
38314
|
+
this.DrawCircle=function(line)
|
|
38315
|
+
{
|
|
38316
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
38317
|
+
|
|
38318
|
+
for(var i=0; i<line.Point.length; ++i)
|
|
38319
|
+
{
|
|
38320
|
+
var item=line.Point[i];
|
|
38321
|
+
|
|
38322
|
+
for(var j=0;j<line.AryCircle.length;++j)
|
|
38323
|
+
{
|
|
38324
|
+
var circleItem=line.AryCircle[j];
|
|
38325
|
+
|
|
38326
|
+
var type=0;
|
|
38327
|
+
if (IFrameSplitOperator.IsNumber(circleItem.Type)) type=circleItem.Type;
|
|
38328
|
+
|
|
38329
|
+
this.Canvas.beginPath();
|
|
38330
|
+
this.Canvas.arc(item.X, item.Y, circleItem.Radius, 0, 2 * Math.PI);
|
|
38331
|
+
|
|
38332
|
+
if (type==1)
|
|
38333
|
+
{
|
|
38334
|
+
if (IFrameSplitOperator.IsPlusNumber(circleItem.LineWidth)) this.Canvas.lineWidth=circleItem.LineWidth*pixelRatio;
|
|
38335
|
+
this.Canvas.strokeStyle=circleItem.Color;
|
|
38336
|
+
this.Canvas.stroke();
|
|
38337
|
+
}
|
|
38338
|
+
else
|
|
38339
|
+
{
|
|
38340
|
+
this.Canvas.fillStyle=circleItem.Color;
|
|
38341
|
+
this.Canvas.fill()
|
|
38342
|
+
}
|
|
38343
|
+
|
|
38344
|
+
}
|
|
38345
|
+
}
|
|
38346
|
+
}
|
|
38347
|
+
|
|
38282
38348
|
this.DrawLine=function(line, arrow)
|
|
38283
38349
|
{
|
|
38284
38350
|
if (line.BGColor) //背景色
|
|
@@ -127405,7 +127471,7 @@ function ScrollBarBGChart()
|
|
|
127405
127471
|
|
|
127406
127472
|
|
|
127407
127473
|
|
|
127408
|
-
var HQCHART_VERSION="1.1.
|
|
127474
|
+
var HQCHART_VERSION="1.1.12390";
|
|
127409
127475
|
|
|
127410
127476
|
function PrintHQChartVersion()
|
|
127411
127477
|
{
|