Léa Saviot
82d5ff7799
[ion/unicode] Clean special code points
2019-04-12 15:16:53 +02:00
Émilie Feral
58f9a59d6e
[ion] Move Storage extensions declaration in Storage class
2019-04-12 15:16:52 +02:00
Émilie Feral
adc30a8dcd
[ion] Add Macro to log the storage content
2019-04-12 15:16:52 +02:00
Léa Saviot
2d83c2994c
[escher] Fix TextArea::handleEventWithText
...
It did not handle properly a new line (placed the cursor wrongly).
2019-04-12 15:16:52 +02:00
Léa Saviot
e6d8820c08
[unicode] Comment about avoiding accents in literals
2019-04-12 15:16:52 +02:00
Léa Saviot
7b5636f298
[unicode] Clean decoder use
2019-04-12 15:16:52 +02:00
Léa Saviot
a214bbdc5a
[unicode] Use unicode when dealing with chars - Part 2
2019-04-12 15:16:51 +02:00
Léa Saviot
f4cf7530f6
[unicode] Fix stop condition of CopyAndRemoveCodePoint
2019-04-12 15:16:51 +02:00
Léa Saviot
646931b3b5
[text_area] Fix Text::Position use with unicode
...
A glyph offset is not equivalent to a code point offset since a code
point can be several glyphs long.
2019-04-12 15:16:51 +02:00
Léa Saviot
5be803ac45
[unicode] Fix python area
2019-04-12 15:16:51 +02:00
Léa Saviot
784381bd33
[unicode] Use unicode when dealing with chars - Part 1
2019-04-12 15:16:51 +02:00
Léa Saviot
79dc1dc2b9
Remove compilation warnings
2019-04-12 15:16:51 +02:00
Léa Saviot
0ebfab773e
[escher/ion] Factorize code for removing a code point in text field/area
2019-04-12 15:16:51 +02:00
Léa Saviot
aac78ca32a
[escher/ion] Standard methods in UTF8Helper used in text_area
...
String manipulations need to be done using an UTF8 decoder, but some
manipulations can be optimized if the code points we manipulate are only
one char long. These optimizations are done inside UTF8Helper methods.
2019-04-12 15:16:51 +02:00
Léa Saviot
e6051fae42
[unicode] Methods optimized when code points are one char long
2019-04-12 15:16:51 +02:00
Léa Saviot
b6eb663f53
[ion/kandinsky] Move unicode to ion
2019-04-12 15:16:51 +02:00
Léa Saviot
63d7155376
Remove Ion::Charset
2019-04-12 15:16:50 +02:00
Romain Goyet
9bd4922389
[ion] Define Ion::Keyboard::Key::None
2019-03-08 14:05:23 +01:00
Léa Saviot
a6a2baeb01
[simulator] Process more keyboard event, such as ! ? ;
2019-01-21 12:10:37 +01:00
Léa Saviot
cea413e91d
[apps] Fix Orthonormal setting in graphs
...
It was not perfectly orthormal.
2019-01-10 11:42:02 +01:00
Léa Saviot
de339c44ae
[apps] Handle StorageFunction::m_color unaligned read on emscripten
2018-12-12 17:49:51 +01:00
Léa Saviot
0ecaea0695
[poincare] Fix power serialization
2018-11-26 14:07:42 +01:00
Émilie Feral
0a9437e8dc
[ion] Storage: add a method destroyAllRecords
2018-11-23 12:04:10 +01:00
Léa Saviot
67f940dfd2
[poincare] Fix VerticalOffsetLayout serialization
...
"2^3 !" would be serialized as "2^3*!", which is wrong. It is now serialized
as "2 Ion::Charset::Superscript 3 Ion::Charset::Superscript !" and
parsed correctly.
2018-11-23 12:04:09 +01:00
Léa Saviot
0670057f90
[apps/graph] Destroy variable record with same name when renaming func
2018-11-23 12:04:06 +01:00
Léa Saviot
91d6955ddf
[apps] The apps displays a warning when storage is full
2018-11-23 12:04:04 +01:00
Léa Saviot
9bfaed583d
[apps/escher/ion] Remove Graph memoized models on storage change
2018-11-23 12:04:03 +01:00
Léa Saviot
38f3c5b16d
[ion] Storage delegate gets notified of storage changes
2018-11-23 12:04:03 +01:00
Léa Saviot
933838ff5e
[apps/graph] Rename functions
2018-11-23 12:04:02 +01:00
Léa Saviot
2442627e3c
[apps] Remove attributes from StorageExpressionModel and derivates
2018-11-23 12:04:00 +01:00
Léa Saviot
ac1e79f907
[apps/graph] Display the function's whole name
2018-11-23 12:04:00 +01:00
Léa Saviot
354b6e9c72
[apps] First attempt at bridging Funciton app with the shared storage
2018-11-23 12:04:00 +01:00
Léa Saviot
1830070a95
[ion] Method to destroy all records with given extension in Storage
2018-11-23 12:03:59 +01:00
Léa Saviot
5a5deedb84
[ion] Coding style of static functions in Storage
2018-11-23 12:03:59 +01:00
Léa Saviot
6993d45fe9
[ion] Add crc32 test
2018-11-23 12:03:59 +01:00
Léa Saviot
1fe6881171
[ion] Fix coputation of Record name crc32
2018-11-23 12:03:59 +01:00
Léa Saviot
868f17c1c7
[ion] Add method implementation in Storage
2018-11-23 12:03:58 +01:00
Léa Saviot
52a21198a4
[apps/ion] Use the new storage API
2018-11-23 12:03:58 +01:00
Léa Saviot
11b98bb13e
[ion] Add test on Storage
2018-11-23 12:03:58 +01:00
Léa Saviot
a4868c8b09
[poincare] Ion::Storage handles fullnames and basenames with extensions
2018-11-23 12:03:58 +01:00
Romain Goyet
a3d6d6ddd6
[ion/timing] Cleanup
2018-11-15 16:19:07 +01:00
Romain Goyet
888d6cf7f4
[ion/timing] millis return uint64_t
...
Otherwise we could loop after a month or so
2018-11-15 15:20:12 +01:00
Romain Goyet
07a768ace6
[ion/timing] Use explicit integer types
2018-11-15 15:18:19 +01:00
Romain Goyet
1b57bc39c0
[ion] Discard micros() as those aren't used for now
2018-11-15 14:12:17 +01:00
Damien Nicolet
24630011b1
[code] keep only CPython equivalent functions in utime module
2018-11-10 00:00:03 +01:00
Damien Nicolet
9b818bd963
[ion] fix sleep functions in emscripten build
2018-11-09 01:36:38 +01:00
Damien Nicolet
f93bf97182
[ion] Sharing millis & micros for blackbox and simulator
2018-11-09 01:30:22 +01:00
Damien Nicolet
c0c0905b84
[ion] millis() and micros() returns uint32_t and are defined in their own header
2018-11-09 01:30:22 +01:00
Damien Nicolet
940270e78a
[ion] add millis() and micros() using systick on device
2018-11-09 01:30:22 +01:00
Romain Goyet
9825c73238
[ion/emscripten] Actual implementation of Ion::Keyboard::scan
...
This allows interrupting Python scripts on the Emscripten port
2018-11-08 17:11:17 +01:00