Émilie Feral
649fb0bebe
[ion] Simulator: highlight keys when the mouse is over
2020-09-30 17:30:34 +02:00
Émilie Feral
94851da7f9
[ion] Add drafts of images reprensenting key shapes
2020-09-30 17:30:34 +02:00
Émilie Feral
fcf4c011cb
[ion] simulator/layout: change signature of makeAbsolute
2020-09-30 17:30:34 +02:00
Émilie Feral
8f8f42edd5
[ion] simulator: add forgotten Display::quit
2020-09-30 17:30:34 +02:00
Émilie Feral
ca56ba6327
[ion] Fix include
2020-09-30 17:30:34 +02:00
Émilie Feral
158afa7a27
[ion] simulator: the key detection distance threshold is responsive to
...
the frame dimension
2020-09-30 17:30:34 +02:00
Léa Saviot
b020cb2f98
[ion/simulator] Add haptic feedback
2020-09-30 17:30:34 +02:00
Émilie Feral
1c0f6a7913
[ion] Keyboard: don't detect a key down when the mouse is too far away
...
from a key
2020-09-30 17:30:34 +02:00
Joachim Le Fournis
d154611023
[Ion] Fix broken link
2020-08-24 16:37:03 -04:00
Léa Saviot
3e6e1729a2
[ion/device] Add screen id for gamma calibration
2020-07-20 10:35:59 +02:00
Léa Saviot
1fde815769
[ion/android] Do not setWindowStyle if SDL not initialized
...
When a library was broken, we would see an error due to the failed
setWindowStyle call, instead of getting the briken library error.
2020-07-09 20:24:16 -04:00
Léa Saviot
1ef3f34a31
[ion/apple] App needs to be inside Payload folder to build .ipa
...
Otherwise the .ipa cannot be uploaded to the app store.
2020-07-03 14:21:56 +02:00
Romain Goyet
5dfccd4a04
[ion/simulator] Relayout on any windows event
...
We might be relayouting a bit too often, but better safe than sorry!
Jokes aside, most SDL_WINDOWEVENT should trigger a relayout, and in
general those events aren't triggered on a regular basis anyway.
2020-07-02 14:42:59 +02:00
Romain Goyet
7a9954152a
[ion/simulator] Ion::Simulator::Main::relayout() should not draw
...
That function is supposed to recompute the layout, not perform any
drawing. Namely, presenting the render without a potential previous call
to SDL_RenderClear could lead to some visual glitches.
2020-07-02 14:42:59 +02:00
Romain Goyet
026fe120fe
[simulator] Make the calculator's screen pixel-perfect
2020-07-02 14:42:59 +02:00
Émilie Feral
1ed97500d0
[ion] Increase stack in DEBUG=1 to avoid breaking the test due to stack
...
overflow
2020-06-12 14:12:35 +02:00
Léa Saviot
d53a16eb91
[ion/storage] Add TODO
2020-06-05 11:02:39 +02:00
Léa Saviot
eeb42f2544
[apps/code] autocompletionText uses the right text length
...
Before, there was no notion that the autocompleted text might not be a
null terminated string.
2020-06-04 14:50:03 +02:00
Léa Saviot
f883516716
[apps/code] Editor asks VariableBox for autocompletion
2020-06-04 14:50:03 +02:00
Léa Saviot
1e2492c5f4
[apps/code] Autocomplete only at the end of the word
...
For instance, if the cursor is: "he|llo" and the user adds the letter
'i', there is no autocompletion provided as the cursor is still in the
middle of a word.
2020-06-04 14:50:03 +02:00
Léa Saviot
f82079a40a
[apps/code] Autocomplete only if char before cursor is not ' ' or '\n'
2020-06-04 14:50:03 +02:00
Léa Saviot
343d2328b8
[ion/utf8_helper] EndOfWord helper
2020-06-04 14:50:03 +02:00
Émilie Feral
4cd0d20585
[ion] Fix comment
2020-05-18 14:39:46 +02:00
Émilie Feral
0f61b2ccf3
[ion] Add comment on default collectRegisters implementation
2020-05-18 14:39:46 +02:00
Émilie Feral
3f6647f3ae
[ion][python] Implement an architecture-dependant collect_registers.
...
setjmp is not guaranteed to collect all registers without modification
on all platforms.
This fixes the following bug: when the pointer of a newly allocated
object on the Python heap is stored in rpb registers on x86_64 arch, it
was not collected by the garbarge collector.
2020-05-18 14:39:46 +02:00
Léa Saviot
efe5b4d6f8
[ion/storage] Private constructor and cleaner sharedStorage()
2020-05-07 06:22:42 -07:00
Émilie Feral
dcfabf754d
[ion] Init random seed with time in simulator main
2020-04-15 09:11:52 -04:00
Émilie Feral
870dd868e9
[ion] Tidy files:
...
- move from shared to simulator/shared
- delete files used only be deprecated blackbox
2020-04-15 09:11:52 -04:00
Romain Goyet
84768472bd
Explicit std::min/max template usage
...
This is unfortunately required in several cases:
- Sometimes when we use either float and double (this should be changed)
- Because KDCoordinate is not an int, so any arithmemtic promotes it to
an int
- Because we mix pointer differences and ints
2020-04-14 09:31:02 -04:00
Romain Goyet
950862f8d0
Use std::min and std::max
2020-04-14 09:31:02 -04:00
Léa Saviot
2ed354710f
[build/simulator] NDEBUG flag in release mode
...
This way, asserts are not performed on simulator platforms
2020-04-10 00:49:15 -07:00
Joachim Le Fournis
4a9bfca1f6
[ion] Alpha-locked percent becomes backspace
2020-04-09 12:09:03 -04:00
Émilie Feral
068325d151
Coding style: remove unecessary 'virtual' keyword when 'override' is
...
present 2/2
2020-04-09 11:36:51 +02:00
Neven Sajko
bc7d598517
[ion] do not increment volatile variable in isr_systick
...
In 2019 a proposal was approved which is deprecating this and other
harmful usage of volatile in C++ in 2020. See web links at the end.
Note that this did not at all change the GCC-generated machine code.
Deprecating volatile (adopted in 2019 for C++20):
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1152r0.html
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r4.html
Related, but less relevant:
volatile_load<T> and volatile_store<T>:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1382r1.pdf
Deprecating volatile: library:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1831r0.html
2020-04-06 17:18:03 +02:00
Neven Sajko
1c9b402645
[ion] Remove volatile qualifier from millis return type
...
Qualification of an integer return type as volatile is ignored by the
compiler. To clarify, an integer value (not a variable), which is what
the return type is, can not be assigned to anyway, so qualification as
volatile does not make sense.
2020-04-06 17:18:03 +02:00
Romain Goyet
1b2bbd163b
[ion/device] Rename a file
2020-04-03 22:26:55 -04:00
Romain Goyet
f7911bae72
[build] Remove DEFAULT
...
It was redundant with HANDY_TARGETS and HANDY_TARGETS_EXTENSIONS
2020-04-03 22:26:55 -04:00
Romain Goyet
99b916e179
[build] Share multi-app code
2020-04-03 22:26:55 -04:00
Romain Goyet
f9b0843578
[build/simulator/apple] Share code
2020-04-03 22:26:55 -04:00
Romain Goyet
fff20eb530
[ion/simulator/apple] Rename Make helper
2020-04-03 22:26:55 -04:00
Romain Goyet
d4149b1a3d
[build] Move %_run targets in the build dir
2020-04-03 22:26:55 -04:00
Romain Goyet
3f2b14ac3e
[build] Misc cleanups
2020-04-03 22:26:55 -04:00
Romain Goyet
ba57dbde61
[build] macOS and iOS can now build any binary
2020-04-03 22:26:55 -04:00
Romain Goyet
ada205b1a7
[build] Use variants
...
- Move helpers functions into build/helpers.mak
- Move official warning into official targets only
2020-04-03 22:26:55 -04:00
Émilie Feral
b8b3829ea4
[ion] Web: enable to set environment variable
2020-03-27 09:32:31 -04:00
Romain Goyet
51b3a007e5
[ion/simulator/web] Remove old comment
2020-03-26 09:31:58 +01:00
Romain Goyet
8bd01b600b
[ion/simulator/web] Properly handle touch events
2020-03-26 09:31:58 +01:00
Romain Goyet
5e9543e3b7
Remove whitespace
2020-03-25 13:44:10 +01:00
Romain Goyet
2cdb5d38bf
[build/android] Ignore the linter on release builds
2020-03-25 13:44:10 +01:00
Romain Goyet
b36de49b48
[simulator/android] Sign iff signing environment is provided
2020-03-25 13:44:10 +01:00