summaryrefslogtreecommitdiff
path: root/firmware/scroll_engine.c (follow)
Commit message (Collapse)AuthorAge
* scroll_engine: Fix FS#12894: Text scrolling stops working after a few ↵Thomas Martitz2014-01-12
| | | | | | | | | | | | | seconds/minutes Since commit 706b920 a timeout of TIMEOUT_BLOCK (-1) will cause queue_event_w_tmo() block indefinitely (previously it behaved as TIMEOUT_NOBLOCK). scroll_process_message() can be called with negative timeouts, with luck also -1. To fix this convert all negative timeouts to TIMEOUT_NOBLOCK explicitely. Change-Id: I1fc20d93acbba50d713c8364f635365930b38cbf
* scroll_engine: Major rework to support pixel-based scrolling and scroll ↵Thomas Martitz2013-12-14
| | | | | | | | | | | | | | | | | | | callbacks. Much of the scrolling work is moved from lcd-bitmap-common to lcd-scroll.c, a small scroll callback routine remains. This callback can potentially be overridden by more extensive scrollers. The callback also gets fed with pixel-based scrolling information, which finally removes the strict line-based nature of the scroll engine. Along with this is the change from scroll_stop_viewport_line() to scroll_stop_viewport_rect() which works on a pixel-based rectangle instead of lines. The ultimate goal is to move most of the scroll work to apps, which can much better decide which line decorations to apply etc. This work is laying the ground work. Change-Id: I3b2885cf7d8696ddd9253d5a9a73318d3d42831a
* scroll_engine: Split out common main and remote lcd functions.Thomas Martitz2013-12-14
| | | | | | | Uses a similar technique as lcd_*.c files of #including a common .c file, so that a unified implementation can be reused for both displays. Change-Id: I21f6de76df757b093e1a1dff0a4caf96a44fe77e
* scroll_engine: Rename scroll_stop* functions to be more consistent with the ↵Thomas Martitz2013-12-14
| | | | | | lcd api. Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
* Commit FS#12454 - Faster line scroll speed by Martin Sagmuller.Michael Giacomelli2012-01-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31643 a1c6a512-1295-4272-9138-f99709370657
* All kernel objects in code shared amongs targets (core, plugins, codecs) ↵Michael Sevakis2011-02-14
| | | | | | should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
* Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this ↵Thomas Martitz2010-08-12
| | | | | | and a bit further cleanup in main gets rid of a warning when compiling for android. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27788 a1c6a512-1295-4272-9138-f99709370657
* Various minor clean-ups for mrobeBertrik Sikken2010-07-31
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27639 a1c6a512-1295-4272-9138-f99709370657
* Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz2010-06-21
| | | | | | | | | | | #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR). The new define is to (de-)select code to compile on hosted platforms generally. Should be no functional change to targets or the simulator. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
* Const police raid\!Nils Wallménius2009-09-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22621 a1c6a512-1295-4272-9138-f99709370657
* Rework lcd_enabled and lcd_set/call_enable hookThomas Martitz2009-03-17
| | | | | | | a) lcd_enabled() is now lcd_active(), and is available for HAVE_LCD_SLEEP only targets (e.g. ipod video) too. It was depandent on HAVE_LCD_ENALE only before b) rename the hook accordingly, and implement the hook for other other targets too (e.g. the clip [the only mono target with lcd_enable/lcd_sleep yet, so the code is still in the lcd driver], ipod, fuze, c200) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20331 a1c6a512-1295-4272-9138-f99709370657
* revert that scroll engine stuff... good in theory, but broken.Jonathan Gordon2008-07-02
| | | | | | | commit a band-aid fix for FS#9140 which is fine untill someone decides to not use the whole screen for it... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17916 a1c6a512-1295-4272-9138-f99709370657
* going out for a while and dont want to leave it partially broken.. ill ↵Jonathan Gordon2008-07-02
| | | | | | re-enable this code later tonight/tomorow git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17915 a1c6a512-1295-4272-9138-f99709370657
* fix redJonathan Gordon2008-07-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17914 a1c6a512-1295-4272-9138-f99709370657
* fix FS#9140 by changing stop_scroll so it stops scrolling lines which would ↵Jonathan Gordon2008-07-02
| | | | | | | | | overlap the current viewport. This shouldnt cause any problems because when this happens the vp owning the line should redraw when the new vp's screen is exited. Also fix a potential bug where only one scrolling line in a viewport was stopped git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17913 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
* Killed unnecessary global variables by making them static.Bertrik Sikken2008-04-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17184 a1c6a512-1295-4272-9138-f99709370657
* Add viewport capabilities to all the LCD drivers, and adapt scrolling code. ↵Dave Chapman2008-01-07
| | | | | | This is the firmware/ part of FS#8385 - the changes to the WPS code still need more work and will be committed at a later date. NOTE: There are no user-visible changes with this commit - just the infrastructure. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16018 a1c6a512-1295-4272-9138-f99709370657
* Take out some NOCACHEBSS_ATTR's that were accidentally left. Put some ↵Michael Sevakis2007-10-16
| | | | | | threading code in IRAM that should be there on PP502x. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15155 a1c6a512-1295-4272-9138-f99709370657
* Finally full multicore support for PortalPlayer 502x targets with an eye ↵Michael Sevakis2007-10-16
| | | | | | towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
* Remove the "invert scroll" code since it's not used anywhere anymore (and it ↵Antoine Cellerier2007-10-15
| | | | | | was broken on color targets with gradients anyway). Closes FS #7875. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15125 a1c6a512-1295-4272-9138-f99709370657
* Woops, forgot to change it here too.Antoine Cellerier2007-09-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14931 a1c6a512-1295-4272-9138-f99709370657
* Save a few bytes in the line selector style handling code.Antoine Cellerier2007-09-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14927 a1c6a512-1295-4272-9138-f99709370657
* Scroll on main and remote with a single thread. Change the way system ↵Michael Sevakis2007-07-28
messages are defined before running out is an issue (which requires a full update of rockbox on the player). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14035 a1c6a512-1295-4272-9138-f99709370657