30 size_t dataLengthInBytes = 5*
sizeof(float);
31 assert((dataLengthInBytes & 0x3) == 0);
42 if (
m_xMax - newXMin < k_minFloat) {
43 newXMin =
m_xMax - k_minFloat;
54 if (newXMax -
m_xMin < k_minFloat) {
55 newXMax =
m_xMin + k_minFloat;
66 if (
m_yMax - newYMin < k_minFloat) {
67 newYMin =
m_yMax - k_minFloat;
75 if (newYMax -
m_yMin < k_minFloat) {
76 newYMax =
m_yMin + k_minFloat;
96 float newXMin =
clipped(x*(1.0f-ratio)+ratio*
xMin,
false);
97 float newXMax =
clipped(x*(1.0f-ratio)+ratio*
xMax,
true);
103 float newYMin =
clipped(y*(1.0f-ratio)+ratio*
yMin,
false);
104 float newYMax =
clipped(y*(1.0f-ratio)+ratio*
yMax,
true);
184 if (
std::fabs(position/range) > k_maxRatioPositionRange) {
192 if (
std::fabs(position/range) > k_maxRatioPositionRange) {
204 float newXMin =
clipped(x - leftMarginRation*xRange,
false);
215 float newYMin =
clipped(y - bottomMarginRation*yRange,
false);
230 return m_cursor->
x() >=
m_xMin + leftMarginRation*xRange && m_cursor->
x() <=
m_xMax - rightMarginRatio*xRange && m_cursor->
y() >=
m_yMin + bottomMarginRation*yRange && m_cursor->
y() <=
m_yMax - topMarginRatio*yRange;
234 float max = isMax ? k_upperMaxFloat : k_lowerMaxFloat;
235 float min = isMax ? -k_lowerMaxFloat : -k_upperMaxFloat;
236 float clippedX = x > max ? max : x;
237 clippedX = clippedX < min ? min : clippedX;
virtual void setYMax(float f)
void setYMax(float f) override
InteractiveCurveViewRangeDelegate * m_delegate
virtual float interestingXRange()
void zoom(float ratio, float x, float y)
void setYAuto(bool yAuto)
void setYMin(float f) override
virtual void setDefault()
void panWithVector(float x, float y)
virtual void setTrigonometric()
uint32_t rangeChecksum() override
bool isCursorVisible(float topMarginRatio, float rightMarginRatio, float bottomMarginRation, float leftMarginRation)
void panToMakePointVisible(float x, float y, float topMarginRatio, float rightMarginRatio, float bottomMarginRation, float leftMarginRation)
void setXMin(float f) override
virtual void setYMin(float f)
bool didChangeRange(InteractiveCurveViewRange *interactiveCurveViewRange)
uint32_t crc32(const uint32_t *data, size_t length)
void setXMax(float f) override
void centerAxisAround(Axis axis, float position)
virtual void roundAbscissa()
virtual void setXMin(float f)
virtual void setXMax(float f)
void setDelegate(InteractiveCurveViewRangeDelegate *delegate)
constexpr Poincare::Expression::AngleUnit Degree
static float clipped(float f, bool isMax)
void setCursor(CurveViewCursor *cursor)