From 77953e4f75c0ffbead1c39e43308ec92636fcf54 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 17 Jan 2020 18:46:41 +0100 Subject: [PATCH] Viewport inside the Chartspace --- BollingerBands.js | 34 +++++++++++------------ BollingerBandsPanel.js | 4 +-- PercentageBandwidth.js | 62 +++++++++++++++++++++--------------------- 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/BollingerBands.js b/BollingerBands.js index 7a3d64677..b4d845f1d 100644 --- a/BollingerBands.js +++ b/BollingerBands.js @@ -64,8 +64,8 @@ /* Stop listening to the necesary events. */ - viewPort.eventHandler.stopListening(zoomChangedEventSubscriptionId); - viewPort.eventHandler.stopListening(offsetChangedEventSubscriptionId); + canvas.chartSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); + canvas.chartSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId); thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId) marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId); @@ -115,8 +115,8 @@ /* Listen to the necesary events. */ - zoomChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); - offsetChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); + zoomChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); + offsetChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished); marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onMarketFilesUpdated); dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent("Files Updated", onDailyFilesUpdated); @@ -293,8 +293,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPoint(viewPort.visibleArea.topLeft, thisObject.container, coordinateSystem); - let rightDate = getDateFromPoint(viewPort.visibleArea.topRight, thisObject.container, coordinateSystem); + let leftDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem); + let rightDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -378,8 +378,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPoint(viewPort.visibleArea.topLeft, thisObject.container, coordinateSystem); - let rightDate = getDateFromPoint(viewPort.visibleArea.topRight, thisObject.container, coordinateSystem); + let leftDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem); + let rightDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -518,16 +518,16 @@ bandPoint5 = transformThisPoint(bandPoint5, thisObject.container); bandPoint6 = transformThisPoint(bandPoint6, thisObject.container); - if (bandPoint2.x < viewPort.visibleArea.bottomLeft.x || bandPoint1.x > viewPort.visibleArea.bottomRight.x) { + if (bandPoint2.x < canvas.chartSpace.viewport.visibleArea.bottomLeft.x || bandPoint1.x > canvas.chartSpace.viewport.visibleArea.bottomRight.x) { continue; } - bandPoint1 = viewPort.fitIntoVisibleArea(bandPoint1); - bandPoint2 = viewPort.fitIntoVisibleArea(bandPoint2); - bandPoint3 = viewPort.fitIntoVisibleArea(bandPoint3); - bandPoint4 = viewPort.fitIntoVisibleArea(bandPoint4); - bandPoint5 = viewPort.fitIntoVisibleArea(bandPoint5); - bandPoint6 = viewPort.fitIntoVisibleArea(bandPoint6); + bandPoint1 = canvas.chartSpace.viewport.fitIntoVisibleArea(bandPoint1); + bandPoint2 = canvas.chartSpace.viewport.fitIntoVisibleArea(bandPoint2); + bandPoint3 = canvas.chartSpace.viewport.fitIntoVisibleArea(bandPoint3); + bandPoint4 = canvas.chartSpace.viewport.fitIntoVisibleArea(bandPoint4); + bandPoint5 = canvas.chartSpace.viewport.fitIntoVisibleArea(bandPoint5); + bandPoint6 = canvas.chartSpace.viewport.fitIntoVisibleArea(bandPoint6); bandPoint1 = thisObject.fitFunction(bandPoint1); bandPoint2 = thisObject.fitFunction(bandPoint2); @@ -556,9 +556,9 @@ } if ( - bandPoint1.x < viewPort.visibleArea.topLeft.x + 50 + bandPoint1.x < canvas.chartSpace.viewport.visibleArea.topLeft.x + 50 || - bandPoint1.x > viewPort.visibleArea.bottomRight.x - 50 + bandPoint1.x > canvas.chartSpace.viewport.visibleArea.bottomRight.x - 50 ) { // we leave this bands without fill. } else { diff --git a/BollingerBandsPanel.js b/BollingerBandsPanel.js index a0eaf8ca7..f60929056 100644 --- a/BollingerBandsPanel.js +++ b/BollingerBandsPanel.js @@ -35,8 +35,8 @@ function newAAMastersPlottersBollingerBandsBollingerBandsBollingerBandsPanel () thisObject.container.frame.width = UI_PANEL.WIDTH.NORMAL; thisObject.container.frame.height = UI_PANEL.HEIGHT.NORMAL; - thisObject.container.frame.position.x = viewPort.visibleArea.topRight.x - thisObject.container.frame.width * 3; - thisObject.container.frame.position.y = viewPort.visibleArea.bottomLeft.y - thisObject.container.frame.height; + thisObject.container.frame.position.x = canvas.chartSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width * 3; + thisObject.container.frame.position.y = canvas.chartSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height; panelTabButton = newPanelTabButton() panelTabButton.parentContainer = thisObject.container diff --git a/PercentageBandwidth.js b/PercentageBandwidth.js index be9f28d2b..34bf52b9f 100644 --- a/PercentageBandwidth.js +++ b/PercentageBandwidth.js @@ -65,8 +65,8 @@ /* Stop listening to the necesary events. */ - viewPort.eventHandler.stopListening(zoomChangedEventSubscriptionId); - viewPort.eventHandler.stopListening(offsetChangedEventSubscriptionId); + canvas.chartSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); + canvas.chartSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId); thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId) marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId); @@ -115,8 +115,8 @@ /* Listen to the necesary events. */ - zoomChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); - offsetChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); + zoomChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); + offsetChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished); marketFilesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onMarketFilesUpdated); dailyFilesUpdatedEventSubscriptionId = dailyFiles.eventHandler.listenToEvent("Files Updated", onDailyFilesUpdated); @@ -301,8 +301,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPoint(viewPort.visibleArea.topLeft, thisObject.container, plotAreaFrame); - let rightDate = getDateFromPoint(viewPort.visibleArea.topRight, thisObject.container, plotAreaFrame); + let leftDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame); + let rightDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -386,8 +386,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPoint(viewPort.visibleArea.topLeft, thisObject.container, plotAreaFrame); - let rightDate = getDateFromPoint(viewPort.visibleArea.topRight, thisObject.container, plotAreaFrame); + let leftDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame); + let rightDate = getDateFromPoint(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -480,7 +480,7 @@ plotAreaViewport.initializeY( minValue, maxValue, - viewPort.visibleArea.bottomRight.y - viewPort.visibleArea.topLeft.y + canvas.chartSpace.viewport.visibleArea.bottomRight.y - canvas.chartSpace.viewport.visibleArea.topLeft.y ); plotAreaFrame.initializeY( @@ -510,7 +510,7 @@ /* This next section is to get ready in order to be able to plot dinamically constrained to the viewport */ - let visibleHeight = viewPort.visibleArea.bottomRight.y - viewPort.visibleArea.topLeft.y; + let visibleHeight = canvas.chartSpace.viewport.visibleArea.bottomRight.y - canvas.chartSpace.viewport.visibleArea.topLeft.y; let frameCorner1 = { x: 0, @@ -651,7 +651,7 @@ pbPoint9 = transformThisPoint(pbPoint9, thisObject.container); pbPoint10 = transformThisPoint(pbPoint10, thisObject.container); - if (pbPoint1.x < viewPort.visibleArea.bottomLeft.x || pbPoint2.x > viewPort.visibleArea.bottomRight.x) { + if (pbPoint1.x < canvas.chartSpace.viewport.visibleArea.bottomLeft.x || pbPoint2.x > canvas.chartSpace.viewport.visibleArea.bottomRight.x) { return false; } @@ -669,37 +669,37 @@ /* Now we set the real value of y. */ - pbPoint1.y = viewPort.visibleArea.bottomRight.y - (previousPercentBandwidth + pbOffset) * plotAreaViewport.scale.y; - pbPoint2.y = viewPort.visibleArea.bottomRight.y - (currentPercentBandwidth + pbOffset) * plotAreaViewport.scale.y; + pbPoint1.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (previousPercentBandwidth + pbOffset) * plotAreaViewport.scale.y; + pbPoint2.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (currentPercentBandwidth + pbOffset) * plotAreaViewport.scale.y; - pbPoint3.y = viewPort.visibleArea.bottomRight.y - (0 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; - pbPoint4.y = viewPort.visibleArea.bottomRight.y - (30 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; - pbPoint5.y = viewPort.visibleArea.bottomRight.y - (70 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; - pbPoint6.y = viewPort.visibleArea.bottomRight.y - (100 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint3.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (0 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint4.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (30 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint5.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (70 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint6.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (100 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; - pbPoint7.y = viewPort.visibleArea.bottomRight.y - (previousMovingAverage + pbOffset) * plotAreaViewport.scale.y; - pbPoint8.y = viewPort.visibleArea.bottomRight.y - (currentMovingAverage + pbOffset) * plotAreaViewport.scale.y; + pbPoint7.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (previousMovingAverage + pbOffset) * plotAreaViewport.scale.y; + pbPoint8.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (currentMovingAverage + pbOffset) * plotAreaViewport.scale.y; - pbPoint9.y = viewPort.visibleArea.bottomRight.y - (previousBandwidth + pbOffset) * plotAreaViewport.scale.y; - pbPoint10.y = viewPort.visibleArea.bottomRight.y - (currentBandwidth + pbOffset) * plotAreaViewport.scale.y; + pbPoint9.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (previousBandwidth + pbOffset) * plotAreaViewport.scale.y; + pbPoint10.y = canvas.chartSpace.viewport.visibleArea.bottomRight.y - (currentBandwidth + pbOffset) * plotAreaViewport.scale.y; } /* Everything must fit within the visible area */ - pbPoint1 = viewPort.fitIntoVisibleArea(pbPoint1); - pbPoint2 = viewPort.fitIntoVisibleArea(pbPoint2); + pbPoint1 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint1); + pbPoint2 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint2); - pbPoint3 = viewPort.fitIntoVisibleArea(pbPoint3); - pbPoint4 = viewPort.fitIntoVisibleArea(pbPoint4); - pbPoint5 = viewPort.fitIntoVisibleArea(pbPoint5); - pbPoint6 = viewPort.fitIntoVisibleArea(pbPoint6); + pbPoint3 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint3); + pbPoint4 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint4); + pbPoint5 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint5); + pbPoint6 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint6); - pbPoint7 = viewPort.fitIntoVisibleArea(pbPoint7); - pbPoint8 = viewPort.fitIntoVisibleArea(pbPoint8); + pbPoint7 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint7); + pbPoint8 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint8); - pbPoint9 = viewPort.fitIntoVisibleArea(pbPoint9); - pbPoint10 = viewPort.fitIntoVisibleArea(pbPoint10); + pbPoint9 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint9); + pbPoint10 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint10); /* Now the drawing of the lines */