[apps/graph/graph] Zoom by cliking on +/- on graph view

Change-Id: I38f0b710beffb334ffeeffd375c1fbaffb0ec87c
This commit is contained in:
Émilie Feral
2016-11-28 15:54:05 +01:00
parent 40f7181766
commit 7e7b47d4dc

View File

@@ -1,6 +1,7 @@
#include "graph_controller.h"
#include "../app.h"
#include <assert.h>
#include <math.h>
namespace Graph {
@@ -106,6 +107,28 @@ bool GraphController::handleEvent(Ion::Events::Event event) {
}
return headerViewController()->handleEvent(event);
} else {
float xMin = m_axisInterval.xMin();
float xMax = m_axisInterval.xMax();
float yMin = m_axisInterval.yMin();
float yMax = m_axisInterval.yMax();
if (event == Ion::Events::Plus) {
m_axisInterval.setXMin((xMax+xMin)/2.0f - fabsf(xMax-xMin)/3.0f);
m_axisInterval.setXMax((xMax+xMin)/2.0f + fabsf(xMax-xMin)/3.0f);
m_axisInterval.setYAuto(false);
m_axisInterval.setYMin((yMax+yMin)/2.0f - fabsf(yMax-yMin)/3.0f);
m_axisInterval.setYMax((yMax+yMin)/2.0f + fabsf(yMax-yMin)/3.0f);
m_view.reload();
return true;
}
if (event == Ion::Events::Minus) {
m_axisInterval.setXMin((xMax+xMin)/2.0f - 3.0f*fabsf(xMax-xMin)/4.0f);
m_axisInterval.setXMax((xMax+xMin)/2.0f + 3.0f*fabsf(xMax-xMin)/4.0f);
m_axisInterval.setYAuto(false);
m_axisInterval.setYMin((yMax+yMin)/2.0f - 3.0f*fabsf(yMax-yMin)/4.0f);
m_axisInterval.setYMax((yMax+yMin)/2.0f + 3.0f*fabsf(yMax-yMin)/4.0f);
m_view.reload();
return true;
}
if (event == Ion::Events::OK) {
m_view.moveCursorRight();
return true;