Commit Graph

17221 Commits (aac031489c4a0917e333ec4b131e39f4c6b9bf76)

Author SHA1 Message Date
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