Gabriel Ozouf
95fef86ec0
[apps/graph] Activated caching for graph drawing
...
Added a default argument to CurveView::drawCurve : a function to initiate the
memoization of continuous functions. The function is implemented in
ContinuousFunctionCache and provided by GraphView. This should be invisible
to other types of curves that rely on CurveView::drawCurve.
Change-Id: I59aa55d67154b6d4bf9614b7ed87c48408773d86
2020-11-04 15:00:43 +01:00
Gabriel Ozouf
c70b545ba1
[apps/shared] Cache lookup on function evaluation
...
When evaluating a ContinuousFunction for a float value, the function
will first try to ask its cache (if it has been filled beforehand).
Change-Id: I519d2d3dcf344ba63e30a0f011db2306c7141315
2020-11-04 14:45:35 +01:00
Gabriel Ozouf
a9c633a540
[apps/shared] Functions cache clears on change
...
Added several triggers to clear the cache when the function's type,
range or content is changed.
Change-Id: I4f49a90bb6571e335a4a601723d7715b8de1e25e
2020-11-04 14:45:35 +01:00
Gabriel Ozouf
552dca9494
[apps/shared] Implemented function memoization
...
ContinuousFunction now has an attribute of type ContinuousFunctionCache,
implementing methods to store and retrieve 320 float values, in order to
speed up function display in Graph.
Change-Id: I6f7ccdf3ae3c6dd8b08b93d786c8d0be7aa4dee8
2020-11-04 14:45:35 +01:00
Gabriel Ozouf
4007f4d452
[apps] Tweaked panning for better cache alignement
...
Method InteractiveCurveViewRange::panToMakePointVisible now moves the
range of a whole number of pixels when panning horizontally. This allows
the cache of cartesian functions not to be invalidated.
Change-Id: Idb9904fef134dd13458e1f2287b0fe5145e8aec7
2020-11-04 14:45:35 +01:00
Hugo Saint-Vignes
5bc19af196
[apps/shared] Revert to pack record
...
It appeared that without the packed keyword, the compiler did not handle
access to unaligned record data members, which leads to crashes on the
device.
Change-Id: I401f075e7f62458a4733baa8d81983d4be34b730
2020-11-04 14:45:35 +01:00
Arthur Camouseigt
09e39ad890
[Stat+Reg] Allowing lists of values to be sorted
...
Change-Id: I181bb55443bf87356d127eb6c56ff6140806fdea
2020-11-04 14:45:35 +01:00
Hugo Saint-Vignes
776edd4dd8
[apps/shared] Extend function table view to 101 cells
...
Increasing the lenght of graph table view to give users more
possibilities
Change-Id: I4023a5f81974b8302bf81b56d2610908e207241f
2020-11-04 14:45:35 +01:00
Arthur Camouseigt
9998f9b578
[apps/shared/ok_view.cpp] Changed the look of the OK symbol
...
New look for the ok symbol. The updated version is antialiazed.
Change-Id: I1ee0e4b6680a7582f6216854a5e5cfe308801669
2020-11-04 14:45:35 +01:00
Hugo Saint-Vignes
ada369bf08
[apps/shared] Add comment for selectNonHiddenCellAtClippedLocation
...
Change-Id: I0e0f7963274688facb467caa934f410e66c9f859
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
af32f33141
[ion] Remove unused function and rename longRepetitionScrollSpeed
...
Change-Id: I11268eb34060c74eb8770ba0eb999f84737c76d8
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
70830e0b74
[escher] Scroll speed increase for long repetition in selectable table
...
Change-Id: Idfc3edcedff5a933b6f2168b475e22ea56ea0ab0
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
b60c67ff88
[apps] Factorize scrolling speed for long repetition
...
Change-Id: I5fcfaf04e418942664641c4b1cd044cda7f5aebb
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
0a2ededfcf
[apps/shared] Remove packed data members for RecordDataBuffer
...
Change-Id: I04ea5ccb4c15bda975bf5af178f07092c0387312
2020-11-04 14:45:34 +01:00
Gabriel Ozouf
c71b2dee99
[curve_view] Factor bounding box code for joinDots
...
Change-Id: Iae974aa2bee12e6c56bad84fd3b45093fb2a856f
2020-10-23 08:56:56 +02:00
Gabriel Ozouf
26fdfcd25c
[curve_view] Fixed variable names
...
Change-Id: I8aad13c6bce719ba8f3a30cd86f06f7c89ec041e
2020-10-23 08:56:56 +02:00
Gabriel Ozouf
fe8e490ac0
[curve_view] Filter unwanted vertical asymptotes
...
Change-Id: Ia603a2fb1553b6dfc038d2a28472ce48e41936db
2020-10-23 08:56:56 +02:00
Gabriel Ozouf
106916e7bf
[curve_view] Add double evaluation
...
Add the possibility to use a double-typed evaluator when tracing a
curve, useful when errors caused by float approximation mess with the
drawing.
Change-Id: I3ab410deec4823149239b0a26b1885fd2a493226
2020-10-23 08:56:56 +02:00
Émilie Feral
c91c2a6e3f
[app/shared] CurveView: Avoid dashSize overflow in
...
drawHorizontalOrVerticalSegment
2020-10-12 09:48:55 +02:00
Émilie Feral
8e025b0823
[apps/shared] CurveView: avoid overflowing KDCoordinate
...
This fixes the following bug: add the sequence, u(n)=2^n. On the graph,
go to "sum of terms" and try to sum terms from 0 to 18 by moving the
cursor. It hangs.
2020-10-12 09:48:55 +02:00
Hugo Saint-Vignes
0b683b6994
[apps/shared] Handle identical layout in MinimalSizeForOptimalDisplay
...
Change-Id: I99a523e9e88ea9c3064e4367d96b01edb0020df9
2020-08-11 17:06:07 +02:00
Hugo Saint-Vignes
5c75cc55d3
[apps/shared] Apply changes on confirm with GoTo functions
...
Change-Id: I6ebec412b4b6612710476274a8665375d21f9ef8
2020-07-29 10:07:07 +02:00
Hugo Saint-Vignes
61792058d3
[apps/shared] Fix typos for Interval and curve view temporary params
...
Change-Id: I610726ed5966d353397be923b76dd003297940a7
2020-07-29 10:07:07 +02:00
Joachim LF
d37bf9e344
[Apps/Shared] Fixed interval and curve view exit
2020-07-29 10:07:07 +02:00
Émilie Feral
b4a3dd10e1
[apps/shared] ToolBoxHelpers: don't overflow buffer
...
If the commandLength is > than the buffer size, we have to escape at
some point to avoid overflowing the buffer.
2020-07-29 09:43:51 +02:00
Léa Saviot
72e342e1b1
[apps/curve_view] Fix drawArrow
...
Compute everything in pixels + fix glitch when zooming on the tip of
arrow(0,0,2,3)
2020-06-04 14:58:20 +02:00
Émilie Feral
420dd04766
[apps/shared][python/port] CurveView::drawArrow uses pixel computation
...
instead of float computation to avoid precision errors, by default the
arrow size is decided in pixels.
2020-06-04 14:50:10 +02:00
Léa Saviot
34a4a3311a
[apps/code] Add test on variable_box_controller
2020-06-04 14:50:09 +02:00
Émilie Feral
12db7a5093
[apps/shared] Change default shape of arrow in CurveView (to match
...
matplotlib shape)
2020-06-04 14:50:09 +02:00
Émilie Feral
c826c53659
[apps/shared] CurveView: change drawArrow API to take arrow shape
...
arguments in float instead of coordinates
2020-06-04 14:50:09 +02:00
Émilie Feral
e92b56b78e
[apps/shared] CurveView: change drawArrow arguments (new definition of
...
arrow shape)
2020-06-04 14:50:09 +02:00
Émilie Feral
80015ca6aa
[apps/shared] RoundCursorView: fix potential black trail when redrawing
...
cursor (issue #1458 on GitHub)
2020-06-04 14:50:08 +02:00
Émilie Feral
a53379781f
[apps/shared] Fix comment
2020-06-04 14:50:08 +02:00
Léa Saviot
7d5304686d
[apps/scrollable_multiple_expressions_view] Add TODO comment
2020-06-04 14:50:08 +02:00
Léa Saviot
5f26ca40cc
[apps/escher] Fix scroll view indicator margin
...
So it does not overflow the scrolled view. Fixed for the language
controllers (on boarding app and settings), one value was changed from a
magic 14 to Metric::CommonTopMargin = 15, it did not seem to break
anything.
2020-06-04 14:50:07 +02:00
Léa Saviot
b8244ec0c5
[apps] Fix margins of LanguageController
...
Add margin at the bottom and fix margin values
2020-06-04 14:50:07 +02:00
Émilie Feral
05a42cd2eb
[apps/shared] PoincareHelpers: implement Reduce static inline function
2020-06-04 14:50:07 +02:00
Léa Saviot
6d7b294bca
[apps/escher] Rename ToolboxMessageTree::children -> childAtIndex
2020-06-04 14:50:06 +02:00
Léa Saviot
f98c171d2a
[apps/variable_box] Prepare for Code::VariableBox factorization
2020-06-04 14:50:05 +02:00
Léa Saviot
0f02a61dc4
[apps/code] Use textLength in VarBoxController::insertTextInCaller
2020-06-04 14:50:03 +02:00
Léa Saviot
7f486d790f
[apps/code] Get current script variables and functions
2020-06-04 14:50:03 +02:00
Émilie Feral
83a63155b1
[apps] PoincareHelpers: enable to specify the UnitConversion mode in
...
Simplify
2020-06-04 14:50:03 +02:00
Léa Saviot
068ed96d79
[apps/range_1D] Add comment abour k_minFloat
2020-06-04 14:50:00 +02:00
Joachim Le Fournis
899e0d4a6b
[apps/shared] Fixed a small mistake in parameter_text_field_delegate.cpp
...
In this commit, there was a small oversight in 7a4ee746b2 , which caused https://github.com/numworks/epsilon/issues/1570
2020-05-29 02:27:48 -07:00
Léa Saviot
a56a73b0ba
[apps/calculation] Fix calculation height computation
...
It was done in two places before, which created inconsistencies
2020-05-28 04:44:27 -07:00
Léa Saviot
1d3a949b6f
[apps/shared] Add escape case
2020-05-28 04:44:27 -07:00
Léa Saviot
5535145b51
[apps/calculation] Calculation on 2 lines if does not fit when expanded
...
Scenario: 1+1+1+1+1+1+1+10.5 fits on one line when not expanded, but
when the exact result is displayed not -> we thus always display it on
two lines
2020-05-28 04:44:27 -07:00
Léa Saviot
579485c8c0
[apps/calculation] CanBeSingleLine differs if args are view/layout sizes
...
If the sizes are for layouts, we need to add the margins added by the
views.
2020-05-28 04:44:27 -07:00
Léa Saviot
11c39b6206
[apps/calculation] Calculation::height has two types of margin arguments
...
One for the margin between layouts and on top / at the bottom of the
cell, the other for the margin surrounding each layout.
2020-05-28 04:44:27 -07:00
Léa Saviot
30c243e2e4
[apps/scrollable_multiple_expressions_view] Factorize baseline()
2020-05-28 04:44:27 -07:00