[apps/shared] In graph controller, better initiate the graph range for

edge cases

Change-Id: Ifee135cafa066916d595d062c158acaf167f92ec
This commit is contained in:
Émilie Feral
2017-04-28 17:03:36 +02:00
parent 04a7b6e8a5
commit 17502373a8

View File

@@ -73,18 +73,21 @@ bool FunctionGraphController::didChangeRange(InteractiveCurveViewRange * interac
return false;
}
if (min == max) {
min = min - 1;
max = max + 1;
float step = max != 0.0f ? interactiveCurveViewRange->computeGridUnit(CurveViewRange::Axis::Y, 0.0f, max) : 1.0f;
min = min - step;
max = max + step;
}
if (min == FLT_MAX && max == -FLT_MAX) {
min = -1.0f;
max = 1.0f;
}
if (min == FLT_MAX) {
min = max-1.0f;
float step = max != 0.0f ? interactiveCurveViewRange->computeGridUnit(CurveViewRange::Axis::Y, 0.0f, fabsf(max)) : 1.0f;
min = max-step;
}
if (max == -FLT_MAX) {
max = min+1.0f;
float step = min != 0.0f ? interactiveCurveViewRange->computeGridUnit(CurveViewRange::Axis::Y, 0.0f, fabsf(min)) : 1.0f;
max = min+step;
}
interactiveCurveViewRange->setYMin(min-k_displayBottomMarginRatio*range);
interactiveCurveViewRange->setYMax(max+k_displayTopMarginRatio*range);