Viewport inside the Chartspace

This commit is contained in:
Luis Fernando Molina committed 2020-01-17 18:46:41 +01:00
1 parent e04cd1eb90
commit 77953e4f75
3 files changed
+50 -50

No files matched your search

+17 -17
View File
@@ -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 {
+2 -2
View File
@@ -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
+31 -31
View File
@@ -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 */