From 9806a7c31afb82bbe106b31db669b3239347fc22 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 14 Feb 2020 21:54:27 +0100 Subject: [PATCH] for special effect --- BollingerBands.js | 76 ++++++++++++++++++++++-------------------- BollingerBandsPanel.js | 4 +-- PercentageBandwidth.js | 62 +++++++++++++++++----------------- 3 files changed, 72 insertions(+), 70 deletions(-) diff --git a/BollingerBands.js b/BollingerBands.js index 536539572..d626b8f29 100644 --- a/BollingerBands.js +++ b/BollingerBands.js @@ -67,8 +67,8 @@ /* Stop listening to the necesary events. */ thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId) - canvas.chartSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); - canvas.chartSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); + canvas.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); + canvas.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId); thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId) marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId); @@ -121,8 +121,8 @@ /* Listen to the necesary events. */ - zoomChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); - offsetChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); + zoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); + offsetChangedEventSubscriptionId = canvas.chartingSpace.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); @@ -320,8 +320,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem); - let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem); + let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem); + let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -408,8 +408,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem); - let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem); + let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, coordinateSystem); + let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, coordinateSystem); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -518,36 +518,38 @@ bandPoint5 = transformThisPoint(bandPoint5, thisObject.container); bandPoint6 = transformThisPoint(bandPoint6, thisObject.container); - if (bandPoint2.x < canvas.chartSpace.viewport.visibleArea.bottomLeft.x || bandPoint1.x > canvas.chartSpace.viewport.visibleArea.bottomRight.x) { + if (bandPoint2.x < canvas.chartingSpace.viewport.visibleArea.bottomLeft.x || bandPoint1.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x) { continue; } - let diffA = bandPoint1.y - canvas.chartSpace.viewport.visibleArea.bottomLeft.y - if (diffA > 0) { - bandPoint1.y = bandPoint1.y - diffA - bandPoint2.y = bandPoint2.y - diffA - bandPoint3.y = bandPoint3.y - diffA - bandPoint4.y = bandPoint4.y - diffA - bandPoint5.y = bandPoint5.y - diffA - bandPoint6.y = bandPoint6.y - diffA + if (canvas.chartingSpace.viewport.zoomTargetLevel < ZOOM_OUT_THRESHOLD_FOR_PACKING_OBJECTS_AT_THE_BOTTOM_OR_TOP_OF_VIEWPORT) { + let diffA = bandPoint1.y - canvas.chartingSpace.viewport.visibleArea.bottomLeft.y + if (diffA > 0) { + bandPoint1.y = bandPoint1.y - diffA + bandPoint2.y = bandPoint2.y - diffA + bandPoint3.y = bandPoint3.y - diffA + bandPoint4.y = bandPoint4.y - diffA + bandPoint5.y = bandPoint5.y - diffA + bandPoint6.y = bandPoint6.y - diffA + } + + let diffB = bandPoint2.y - canvas.chartingSpace.viewport.visibleArea.topLeft.y + if (diffB < 0) { + bandPoint1.y = bandPoint1.y - diffB + bandPoint2.y = bandPoint2.y - diffB + bandPoint3.y = bandPoint3.y - diffB + bandPoint4.y = bandPoint4.y - diffB + bandPoint5.y = bandPoint5.y - diffB + bandPoint6.y = bandPoint6.y - diffB + } } - let diffB = bandPoint2.y - canvas.chartSpace.viewport.visibleArea.topLeft.y - if (diffB < 0) { - bandPoint1.y = bandPoint1.y - diffB - bandPoint2.y = bandPoint2.y - diffB - bandPoint3.y = bandPoint3.y - diffB - bandPoint4.y = bandPoint4.y - diffB - bandPoint5.y = bandPoint5.y - diffB - bandPoint6.y = bandPoint6.y - diffB - } - - 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 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint1); + bandPoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint2); + bandPoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint3); + bandPoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint4); + bandPoint5 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint5); + bandPoint6 = canvas.chartingSpace.viewport.fitIntoVisibleArea(bandPoint6); bandPoint1 = thisObject.fitFunction(bandPoint1); bandPoint2 = thisObject.fitFunction(bandPoint2); @@ -576,9 +578,9 @@ } if ( - bandPoint1.x < canvas.chartSpace.viewport.visibleArea.topLeft.x + 50 + bandPoint1.x < canvas.chartingSpace.viewport.visibleArea.topLeft.x + 50 || - bandPoint1.x > canvas.chartSpace.viewport.visibleArea.bottomRight.x - 50 + bandPoint1.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x - 50 ) { // we leave this bands without fill. } else { @@ -651,8 +653,8 @@ browserCanvasContext.stroke(); /* Contributing to Auto-Scale*/ - coordinateSystem.reportValue(band.movingAverage + band.deviation) - coordinateSystem.reportValue(band.movingAverage - band.deviation) + coordinateSystem.reportYValue(band.movingAverage + band.deviation) + coordinateSystem.reportYValue(band.movingAverage - band.deviation) } } diff --git a/BollingerBandsPanel.js b/BollingerBandsPanel.js index 169451809..75c9543d3 100644 --- a/BollingerBandsPanel.js +++ b/BollingerBandsPanel.js @@ -37,8 +37,8 @@ function newAAMastersPlottersBollingerBandsBollingerBandsBollingerBandsPanel () thisObject.container.frame.width = UI_PANEL.WIDTH.NORMAL; thisObject.container.frame.height = UI_PANEL.HEIGHT.NORMAL; - 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; + thisObject.container.frame.position.x = canvas.chartingSpace.viewport.visibleArea.topRight.x - thisObject.container.frame.width * 3; + thisObject.container.frame.position.y = canvas.chartingSpace.viewport.visibleArea.bottomLeft.y - thisObject.container.frame.height; panelTabButton = newPanelTabButton() panelTabButton.parentContainer = thisObject.container diff --git a/PercentageBandwidth.js b/PercentageBandwidth.js index 50d0c7ace..c7eb5f186 100644 --- a/PercentageBandwidth.js +++ b/PercentageBandwidth.js @@ -65,8 +65,8 @@ /* Stop listening to the necesary events. */ - canvas.chartSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); - canvas.chartSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); + canvas.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); + canvas.chartingSpace.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 = canvas.chartSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); - offsetChangedEventSubscriptionId = canvas.chartSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); + zoomChangedEventSubscriptionId = canvas.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); + offsetChangedEventSubscriptionId = canvas.chartingSpace.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 = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame); - let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame); + let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame); + let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -386,8 +386,8 @@ let daysOnSides = getSideDays(timeFrame); - let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame); - let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame); + let leftDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topLeft, thisObject.container, plotAreaFrame); + let rightDate = getDateFromPointAtBrowserCanvas(canvas.chartingSpace.viewport.visibleArea.topRight, thisObject.container, plotAreaFrame); let dateDiff = rightDate.valueOf() - leftDate.valueOf(); @@ -480,7 +480,7 @@ plotAreaViewport.initializeY( minValue, maxValue, - canvas.chartSpace.viewport.visibleArea.bottomRight.y - canvas.chartSpace.viewport.visibleArea.topLeft.y + canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.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 = canvas.chartSpace.viewport.visibleArea.bottomRight.y - canvas.chartSpace.viewport.visibleArea.topLeft.y; + let visibleHeight = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - canvas.chartingSpace.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 < canvas.chartSpace.viewport.visibleArea.bottomLeft.x || pbPoint2.x > canvas.chartSpace.viewport.visibleArea.bottomRight.x) { + if (pbPoint1.x < canvas.chartingSpace.viewport.visibleArea.bottomLeft.x || pbPoint2.x > canvas.chartingSpace.viewport.visibleArea.bottomRight.x) { return false; } @@ -669,37 +669,37 @@ /* Now we set the real value of 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; + pbPoint1.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (previousPercentBandwidth + pbOffset) * plotAreaViewport.scale.y; + pbPoint2.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (currentPercentBandwidth + 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; + pbPoint3.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (0 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint4.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (30 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint5.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (70 * pbChartHeight / 100 + pbOffset) * plotAreaViewport.scale.y; + pbPoint6.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (100 * pbChartHeight / 100 + 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; + pbPoint7.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (previousMovingAverage + pbOffset) * plotAreaViewport.scale.y; + pbPoint8.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (currentMovingAverage + 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; + pbPoint9.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (previousBandwidth + pbOffset) * plotAreaViewport.scale.y; + pbPoint10.y = canvas.chartingSpace.viewport.visibleArea.bottomRight.y - (currentBandwidth + pbOffset) * plotAreaViewport.scale.y; } /* Everything must fit within the visible area */ - pbPoint1 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint1); - pbPoint2 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint2); + pbPoint1 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint1); + pbPoint2 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint2); - pbPoint3 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint3); - pbPoint4 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint4); - pbPoint5 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint5); - pbPoint6 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint6); + pbPoint3 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint3); + pbPoint4 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint4); + pbPoint5 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint5); + pbPoint6 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint6); - pbPoint7 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint7); - pbPoint8 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint8); + pbPoint7 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint7); + pbPoint8 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint8); - pbPoint9 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint9); - pbPoint10 = canvas.chartSpace.viewport.fitIntoVisibleArea(pbPoint10); + pbPoint9 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint9); + pbPoint10 = canvas.chartingSpace.viewport.fitIntoVisibleArea(pbPoint10); /* Now the drawing of the lines */