thyttan
98a6417008
Slider: move `let incr` into `while` scope
2023-10-17 22:49:32 +02:00
thyttan
2444e75628
Slider: small refactor to shorten code
2023-10-17 22:49:32 +02:00
thyttan
b9c5245ba0
Slider:tweak code re zero level on rounded sliders
2023-10-17 22:49:32 +02:00
thyttan
5657492cb4
Slider:move laziness from draw fun to drag handler
2023-10-17 22:49:31 +02:00
thyttan
8c4ad72d1d
Slider: fix map input for horizontal sliders
2023-10-17 22:49:31 +02:00
thyttan
6f4b87666a
Slider: fix level=0 on rounded horizontal sliders
2023-10-17 22:49:31 +02:00
thyttan
c2b2620268
Slider:map input acounts for size & pos of slider
...
... and also if the slider is rounded.
2023-10-17 22:49:31 +02:00
thyttan
d2f69df3bf
Slider: fix logic re rounded or not
2023-10-17 22:49:31 +02:00
thyttan
cd4e4abee2
Slider: refine drawing rounded sliders
...
So far only tested on a standard config width slider.
2023-10-17 22:49:31 +02:00
thyttan
52fe14fb32
Slider: set timeoutID to `undefined` on remove
...
... fixing interference with other timeouts where the same id was assigned to
another timeout that would be deleted erroneously. This was tracked down
because a timeout in the `spotrem` version being developed alongside
this slider module would stop executing code.
2023-10-17 22:49:31 +02:00
thyttan
eb00e69431
Slider: fix gh workflow error
...
... and fix some warnings from Espruino Web IDE
2023-10-17 22:49:31 +02:00
thyttan
31a6de6e3f
Slider: vim auto format - no functional change
2023-10-17 22:49:31 +02:00
thyttan
8e6b9c7308
Slider: add ability to limit drag area
...
... of the sliders drag handler.
2023-10-17 22:49:31 +02:00
thyttan
14dd20791f
Slider: fix dy not initialized for increment mode
2023-10-17 22:49:31 +02:00
thyttan
ef650f5359
Slider: list currLevel among the constants
2023-10-17 22:49:31 +02:00
thyttan
9e978b2c5b
Slider: change to only add required parts
...
... depending on how the slider is configured when initializing.
Assumed to reduce ram use, have not tested to see if it actually is an
improvement in rem use or general performance in practice.
2023-10-17 22:49:31 +02:00
thyttan
94074304dc
Slider: draw directly when starting auto update
...
... if the slider should be drawn. Otherwise will just keep track of
position to draw later.
2023-10-17 22:49:31 +02:00
thyttan
d157f51b50
Slider:add var containing the app to load on error
2023-10-17 22:49:31 +02:00
thyttan
5df5f56888
Slider: hide slider while still auto incrementing
2023-10-17 22:49:31 +02:00
thyttan
5b19330fee
Slider: option to set border size
2023-10-17 22:49:31 +02:00
thyttan
9f7b65892e
Slider: make drawing borders optional
2023-10-17 22:49:31 +02:00
thyttan
873fcca251
Slider: add callback on auto progress
2023-10-17 22:49:31 +02:00
thyttan
c24499df6d
SliderInput: change name to "Slider.js"
2023-10-17 22:49:31 +02:00
thyttan
f10ff2199d
SliderInput: fix inability to initiate w level 0
2023-10-17 22:49:31 +02:00
thyttan
0f9cb53509
SliderInput: add `stopAutoUpdate` function
2023-10-17 22:49:31 +02:00
thyttan
a353fdbc1c
SliderInput: add rectangle object to slider object
2023-10-17 22:49:31 +02:00
thyttan
4ca116aaba
SliderInput: track active drag handler in variable
2023-10-17 22:49:31 +02:00
thyttan
b69274f364
SliderInput: vim auto-format + format tweak
2023-10-17 22:49:31 +02:00
thyttan
7e906ede25
SliderInput:refactor to return obj w funcs & vars
...
... making it possible to interact with the slider reachable in the scope
where the slider was initiated from.
2023-10-17 22:49:31 +02:00
thyttan
53242e8aaf
SliderInput: contain config in an object
2023-10-17 22:49:31 +02:00
thyttan
87a8593b04
SliderInput: add function to auto progress
...
making it possible to track progress in e.g. a song.
2023-10-17 22:49:31 +02:00
thyttan
644d23a511
SliderInput: default graphics depend on appRect
2023-10-17 22:49:31 +02:00
thyttan
a7787abba9
SliderInput: tweaks for showing multiple sliders
2023-10-17 22:49:31 +02:00
thyttan
abfca68abb
SliderInput: fix slider graphics
...
that was a little off after changing from using LCD overlay.
2023-10-17 22:49:31 +02:00
thyttan
c86fd3458b
SliderInput: load test app on load from Web IDE
2023-10-17 22:49:31 +02:00
thyttan
afa7fd91ec
SliderInput: precalculate static rectangles
...
also remove unneeded variable 'levelHeight'
2023-10-17 22:49:31 +02:00
thyttan
ead101bb90
SliderInput: (WIP) fix rotation after refactor
2023-10-17 22:49:31 +02:00
thyttan
604350e328
SliderInput: refactor to not use LCD overlay
2023-10-17 22:49:31 +02:00
thyttan
ffab963837
SliderInput: add horizontal configuration
2023-10-17 22:49:31 +02:00
thyttan
49d8346098
SliderInput: default prevLevel to middle of range.
2023-10-17 22:49:31 +02:00
thyttan
32903324ae
SliderInput: be lazy about running callback funct
...
only run if the sliders level was changed.
2023-10-17 22:49:31 +02:00
thyttan
2ad99fe948
slidertest: remove slider test app
2023-10-17 22:49:31 +02:00
thyttan
3c21342a7d
libslider: split and move to modules and test app
2023-10-17 22:49:31 +02:00
thyttan
a00fdc1d12
libslider: disable timeout
...
...by passing in `timeout:'no'`.
2023-10-17 22:49:31 +02:00
thyttan
3b174337f3
libslider: move stopEventPropagation on top
2023-10-17 22:49:31 +02:00
thyttan
2ce848b1aa
libslider: lock input method to first e.x position
...
Before you could alternate between 'increment' mode and 'map' mode by
`drag`ing horizontally. Now you can't. This makes it much less likely to
accidentally trigger near maximum level when you just wanted to
increment the level.
2023-10-17 22:49:31 +02:00
thyttan
4f5929b303
libslider: graphics now behave on low levels...
...
... keeping the border intact. (Still some problems if the rectangle is
given rounded corners)
2023-10-17 22:49:31 +02:00
thyttan
cdf10ac69b
libslider: remove rounded corners ...
...
... to make debugging graphics easier.
2023-10-17 22:49:31 +02:00
thyttan
2b1d20905f
libslider: draw outer border only once on init
2023-10-17 22:49:31 +02:00
thyttan
3824a5e603
libslider: update and wait for volume level...
...
... from android before initiating the slider.
2023-10-17 22:49:31 +02:00