Léa Saviot
ccc1d51634
[ion/storage] fix use of unicode method
2019-04-12 15:16:51 +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
f5f172ce67
[unicode] Fix code point serialization
2019-04-12 15:16:51 +02:00
Léa Saviot
3bc9a390bf
[escher/ion] Fix wrong assertions
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
4ecb0a6815
[utf8_decoder] Fix previousCodePoint
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
1048478cd2
[utf8_decoder] Better code for CharSizeOfCodePoint
2019-04-12 15:16:51 +02:00
Léa Saviot
43031928c3
Remove max/min inline from KDCoordinate header
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
87d0ccf0b2
[ion] Share the keyboard-to-event code between platforms
2019-03-08 13:59:35 +01:00
Romain Goyet
3cb4580769
[scripts] Get rid of "products"
2019-03-06 15:00:59 +01:00
Émilie Feral
66fe9baa7d
[ion] Storage: clean implementation (do not re-code strlen)
2019-01-23 16:14:34 +01:00
Léa Saviot
34b22298c4
[ion/storage] Add assertion on dot in record name
2019-01-10 11:42:04 +01:00
Léa Saviot
de339c44ae
[apps] Handle StorageFunction::m_color unaligned read on emscripten
2018-12-12 17:49:51 +01:00
Émilie Feral
0a9437e8dc
[ion] Storage: add a method destroyAllRecords
2018-11-23 12:04:10 +01:00
Émilie Feral
34e2524a83
[ion] Storage: use strncmp instead of strcmp
...
When building with -fsanitize=address, strcmp is wrapped in a version
that returns only +1, -1 or 0.
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
34f5f0262b
[ion] Return just after destroying the record, do not finish the scan
2018-11-23 12:04:03 +01:00
Léa Saviot
d869be7782
[apps/ion] Escapes cases when records/ strings are null
2018-11-23 12:04:01 +01:00
Léa Saviot
2442627e3c
[apps] Remove attributes from StorageExpressionModel and derivates
2018-11-23 12:04:00 +01:00
Léa Saviot
dfe573c66e
[ion/storage] Handle nullptr name when looking for a record
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
e619ee0f2c
[ion] Fix crc32_padded inclusion
2018-11-23 12:03:59 +01:00
Léa Saviot
4465cb48f6
[poincare] Use strcmp instead of strncmp
2018-11-23 12:03:59 +01:00
Léa Saviot
58b8d2d606
[ion] Fix crc32 null termination problem
2018-11-23 12:03:59 +01:00
Léa Saviot
91774aff83
[poincare] Escape case in Storage::destroyRecord
2018-11-23 12:03:59 +01:00
Léa Saviot
f71773bb8d
[ion] Fix Storage:fullNameCompliant
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
a4868c8b09
[poincare] Ion::Storage handles fullnames and basenames with extensions
2018-11-23 12:03:58 +01:00
Romain Goyet
ddf2457ce7
[ion/timing] Fix some typos
2018-11-15 16:44:06 +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
26e1aa143e
[ion/timing] Use std::chrono::steady_clock
2018-11-15 15:14:49 +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
f93bf97182
[ion] Sharing millis & micros for blackbox and simulator
2018-11-09 01:30:22 +01:00
Émilie Feral
52d32c9294
[ion] crc32: should assume little endian
2018-10-29 09:49:49 +01:00