[apps/shared] Code cleaning and inlining

This commit is contained in:
Léa Saviot
2018-11-30 16:40:30 +01:00
parent 29ef8c6d23
commit 404db60a3d
3 changed files with 26 additions and 41 deletions

View File

@@ -9,22 +9,6 @@ using namespace Poincare;
namespace Shared {
InteractiveCurveViewRange::InteractiveCurveViewRange(CurveViewCursor * cursor, InteractiveCurveViewRangeDelegate * delegate) :
MemoizedCurveViewRange(),
m_yAuto(true),
m_delegate(delegate),
m_cursor(cursor)
{
}
void InteractiveCurveViewRange::setDelegate(InteractiveCurveViewRangeDelegate * delegate) {
m_delegate = delegate;
}
void InteractiveCurveViewRange::setCursor(CurveViewCursor * cursor) {
m_cursor = cursor;
}
uint32_t InteractiveCurveViewRange::rangeChecksum() {
float data[5] = {m_xMin, m_xMax, m_yMin, m_yMax, m_yAuto ? 1.0f : 0.0f};
size_t dataLengthInBytes = 5*sizeof(float);
@@ -32,8 +16,9 @@ uint32_t InteractiveCurveViewRange::rangeChecksum() {
return Ion::crc32((uint32_t *)data, dataLengthInBytes/sizeof(uint32_t));
}
bool InteractiveCurveViewRange::yAuto() {
return m_yAuto;
void InteractiveCurveViewRange::setYAuto(bool yAuto) {
m_yAuto = yAuto;
notifyRangeChange();
}
void InteractiveCurveViewRange::setXMin(float xMin) {
@@ -43,9 +28,7 @@ void InteractiveCurveViewRange::setXMin(float xMin) {
newXMin = m_xMax - k_minFloat;
MemoizedCurveViewRange::setXMin(clipped(newXMin, false));
}
if (m_delegate) {
m_delegate->didChangeRange(this);
}
notifyRangeChange();
}
void InteractiveCurveViewRange::setXMax(float xMax) {
@@ -55,9 +38,7 @@ void InteractiveCurveViewRange::setXMax(float xMax) {
newXMax = m_xMin + k_minFloat;
MemoizedCurveViewRange::setXMax(clipped(newXMax, true));
}
if (m_delegate) {
m_delegate->didChangeRange(this);
}
notifyRangeChange();
}
void InteractiveCurveViewRange::setYMin(float yMin) {
@@ -78,13 +59,6 @@ void InteractiveCurveViewRange::setYMax(float yMax) {
}
}
void InteractiveCurveViewRange::setYAuto(bool yAuto) {
m_yAuto = yAuto;
if (m_delegate) {
m_delegate->didChangeRange(this);
}
}
void InteractiveCurveViewRange::zoom(float ratio, float x, float y) {
float xMin = m_xMin;
float xMax = m_xMax;
@@ -131,9 +105,7 @@ void InteractiveCurveViewRange::roundAbscissa() {
}
m_xMax = newXMax;
MemoizedCurveViewRange::setXMin(newXMin);
if (m_delegate) {
m_delegate->didChangeRange(this);
}
notifyRangeChange();
}
void InteractiveCurveViewRange::normalize() {
@@ -240,4 +212,10 @@ float InteractiveCurveViewRange::clipped(float x, bool isMax) {
return clippedX;
}
void InteractiveCurveViewRange::notifyRangeChange() {
if (m_delegate) {
m_delegate->didChangeRange(this);
}
}
}

View File

@@ -10,18 +10,25 @@ namespace Shared {
class InteractiveCurveViewRange : public MemoizedCurveViewRange {
public:
InteractiveCurveViewRange(CurveViewCursor * cursor, InteractiveCurveViewRangeDelegate * delegate = nullptr);
void setDelegate(InteractiveCurveViewRangeDelegate * delegate);
void setCursor(CurveViewCursor * cursor);
InteractiveCurveViewRange(CurveViewCursor * cursor, InteractiveCurveViewRangeDelegate * delegate = nullptr) :
MemoizedCurveViewRange(),
m_yAuto(true),
m_delegate(delegate),
m_cursor(cursor)
{}
void setDelegate(InteractiveCurveViewRangeDelegate * delegate) { m_delegate = delegate; }
void setCursor(CurveViewCursor * cursor) { m_cursor = cursor; }
uint32_t rangeChecksum() override;
//CurveViewWindow
bool yAuto();
bool yAuto() const { return m_yAuto; }
void setYAuto(bool yAuto);
// CurveViewWindow
void setXMin(float f) override;
void setXMax(float f) override;
void setYMin(float f) override;
void setYMax(float f) override;
void setYAuto(bool yAuto);
// Window
void zoom(float ratio, float x, float y);
@@ -42,6 +49,7 @@ private:
constexpr static float k_upperMaxFloat = 1E+8f;
constexpr static float k_lowerMaxFloat = 9E+7f;
constexpr static float k_maxRatioPositionRange = 1E5f;
void notifyRangeChange();
CurveViewCursor * m_cursor;
};

View File

@@ -5,7 +5,6 @@
namespace Shared {
bool InteractiveCurveViewRangeDelegate::didChangeRange(InteractiveCurveViewRange * interactiveCurveViewRange) {
if (!interactiveCurveViewRange->yAuto()) {
return false;