mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
Cleanup stage 1
This commit is contained in:
@@ -18,7 +18,13 @@ public:
|
||||
* 10.0938275501223 which are hopefully rare enough.
|
||||
* TODO: The drawCurve algorithm should use the derivative function to know
|
||||
* how fast the function moves... */
|
||||
#ifndef _PRIZM
|
||||
static constexpr float k_graphStepDenominator = 10.0938275501223f;
|
||||
#else
|
||||
// This value rounded down has to be a factor of the horizontal resolution / 2
|
||||
// On the Casio calculator the resolution is 396 pixels, so 11 is close but works
|
||||
static constexpr float k_graphStepDenominator = 11.0938275501223f;
|
||||
#endif
|
||||
|
||||
GraphView(Shared::InteractiveCurveViewRange * graphRange,
|
||||
Shared::CurveViewCursor * cursor, Shared::BannerView * bannerView, Shared::CursorView * cursorView);
|
||||
|
||||
@@ -47,10 +47,19 @@ private:
|
||||
static constexpr KDCoordinate k_sideMargin = 4;
|
||||
static constexpr KDCoordinate k_bottomMargin = 14;
|
||||
static constexpr KDCoordinate k_indicatorMargin = 61;
|
||||
|
||||
#ifndef _PRIZM
|
||||
static constexpr int k_numberOfColumns = 3;
|
||||
static constexpr int k_cellHeight = 104;
|
||||
static constexpr int k_cellWidth = 104;
|
||||
#else
|
||||
// A different screen resolution so different dimensions
|
||||
static constexpr int k_numberOfColumns = 4;
|
||||
static constexpr int k_maxNumberOfCells = 16;
|
||||
static constexpr int k_cellHeight = 96;
|
||||
static constexpr int k_cellWidth = 97;
|
||||
#endif
|
||||
|
||||
static constexpr int k_maxNumberOfCells = 16;
|
||||
ContentView m_view;
|
||||
AppCell m_cells[k_maxNumberOfCells];
|
||||
App * m_app;
|
||||
|
||||
@@ -89,8 +89,6 @@ bool AboutController::handleEvent(Ion::Events::Event event) {
|
||||
char memUseBuffer[15];
|
||||
|
||||
if (strchr(myCell->accessoryText(), '%') == NULL) {
|
||||
// int test = Poincare::Integer((int) 1).serialize(memUseBuffer, 4);
|
||||
|
||||
int len = Poincare::Integer((int)((float)(Ion::Storage::k_storageSize - Ion::Storage::sharedStorage()->availableSize()) / (float)(Ion::Storage::k_storageSize) * 100.0f)).serialize(memUseBuffer, 4);
|
||||
memUseBuffer[len] = '%';
|
||||
memUseBuffer[len+1] = '\0';
|
||||
|
||||
@@ -65,7 +65,11 @@ void ContinuousFunctionCache::ComputeNonCartesianSteps(float * tStep, float * tC
|
||||
const int numberOfWholeSteps = static_cast<int>(Graph::GraphView::k_graphStepDenominator);
|
||||
static_assert(numberOfCacheablePoints % numberOfWholeSteps == 0, "numberOfCacheablePoints should be a multiple of numberOfWholeSteps for optimal caching");
|
||||
const int multiple = numberOfCacheablePoints / numberOfWholeSteps;
|
||||
// static_assert(multiple && !(multiple & (multiple - 1)), "multiple should be a power of 2 for optimal caching");
|
||||
// Ignore this on Casio calculators for now, as the screen resolution breaks this
|
||||
// TODO: fix this. if it's possible
|
||||
#ifndef _PRIZM
|
||||
static_assert(multiple && !(multiple & (multiple - 1)), "multiple should be a power of 2 for optimal caching");
|
||||
#endif
|
||||
/* Define cacheStep such that every whole graph steps are equally divided
|
||||
* For instance, with :
|
||||
* graphStepDenominator = 10.1
|
||||
|
||||
@@ -142,7 +142,7 @@ private:
|
||||
* maxNumberOfRecursion in reached. */
|
||||
void joinDots(KDContext * ctx, KDRect rect, EvaluateXYForFloatParameter xyFloatEvaluation, void * model, void * context, bool drawStraightLinesEarly, float t, float x, float y, float s, float u, float v, KDColor color, bool thick, int maxNumberOfRecursion, EvaluateXYForDoubleParameter xyDoubleEvaluation = nullptr) const;
|
||||
/* Join two dots with a straight line. */
|
||||
void straightJoinDots(KDContext * ctx, KDRect rect, float pxf, float pyf, float puf, float pvf, KDColor color, bool thick) const;
|
||||
void straightJoinDots(KDContext * ctx, KDRect rect, float pxf, float pyf, float puf, float pvf, KDColor color, bool thick) const;
|
||||
/* Stamp centered around (pxf, pyf). If pxf and pyf are not round number, the
|
||||
* function shifts the stamp (by blending adjacent pixel colors) to draw with
|
||||
* anti alising. */
|
||||
|
||||
@@ -49,7 +49,12 @@ protected:
|
||||
static constexpr KDCoordinate k_cellWidth = Poincare::PrintFloat::glyphLengthForFloatWithPrecision(Poincare::Preferences::LargeNumberOfSignificantDigits) * 7 + 2*Metric::CellMargin + Metric::TableSeparatorThickness; // KDFont::SmallFont->glyphSize().width() = 7
|
||||
|
||||
constexpr static int k_maxNumberOfEditableCells = (Ion::Display::Width/k_cellWidth+2) * ((Ion::Display::Height - Metric::TitleBarHeight - Metric::TabHeight)/k_cellHeight+2);
|
||||
#ifndef _PRIZM
|
||||
constexpr static int k_numberOfTitleCells = 4;
|
||||
#else
|
||||
// This is different here due to the changed screen resolution
|
||||
constexpr static int k_numberOfTitleCells = 5;
|
||||
#endif
|
||||
static constexpr int k_titleCellType = 0;
|
||||
static constexpr int k_editableCellType = 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user