mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/shared] Code cleaning and inlining
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
namespace Shared {
|
||||
|
||||
|
||||
bool InteractiveCurveViewRangeDelegate::didChangeRange(InteractiveCurveViewRange * interactiveCurveViewRange) {
|
||||
if (!interactiveCurveViewRange->yAuto()) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user