Thomas Martitz
50eb528bc1
scroll_engine: Major rework to support pixel-based scrolling and scroll 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
2013-12-14 23:11:31 +01:00
Thomas Martitz
b094d80dab
scroll_engine: Split out common main and remote lcd functions.
...
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
2013-12-14 23:11:30 +01:00
Thomas Martitz
1c5d0b41ee
scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api.
...
Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
2013-12-14 23:11:30 +01:00
Michael Giacomelli
36613d57fa
Commit FS#12454 - Faster line scroll speed by Martin Sagmuller.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31643 a1c6a512-1295-4272-9138-f99709370657
2012-01-09 03:26:03 +00:00
Michael Sevakis
b15aa47c56
All kernel objects in code shared amongs targets (core, plugins, codecs) 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
2011-02-14 11:27:45 +00:00
Thomas Martitz
0e2286f226
Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this 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
2010-08-12 13:38:25 +00:00
Bertrik Sikken
76f4c02dc5
Various minor clean-ups for mrobe
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27639 a1c6a512-1295-4272-9138-f99709370657
2010-07-31 13:41:06 +00:00
Thomas Martitz
35e8b1429a
Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #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
2010-06-21 16:53:00 +00:00
Nils Wallménius
0cb6803227
Const police raid\!
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22621 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 16:04:02 +00:00
Thomas Martitz
b7739fbf1c
Rework lcd_enabled and lcd_set/call_enable hook
...
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
2009-03-17 02:43:47 +00:00
Jonathan Gordon
144f39b4ea
revert that scroll engine stuff... good in theory, but broken.
...
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
2008-07-02 13:02:57 +00:00
Jonathan Gordon
d69573e314
going out for a while and dont want to leave it partially broken.. ill re-enable this code later tonight/tomorow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17915 a1c6a512-1295-4272-9138-f99709370657
2008-07-02 10:03:53 +00:00
Jonathan Gordon
4d2e91d252
fix red
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17914 a1c6a512-1295-4272-9138-f99709370657
2008-07-02 09:55:01 +00:00
Jonathan Gordon
88055b2f2e
fix FS#9140 by changing stop_scroll so it stops scrolling lines which would 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
2008-07-02 09:42:36 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
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
2008-06-28 18:10:04 +00:00
Bertrik Sikken
db2d61f4ea
Killed unnecessary global variables by making them static.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17184 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 10:24:15 +00:00
Dave Chapman
945c8a221a
Add viewport capabilities to all the LCD drivers, and adapt scrolling code. 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
2008-01-07 20:34:11 +00:00
Michael Sevakis
84f5c5c3e3
Take out some NOCACHEBSS_ATTR's that were accidentally left. Put some 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
2007-10-16 22:00:51 +00:00
Michael Sevakis
a9b2fb5ee3
Finally full multicore support for PortalPlayer 502x targets with an eye 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
2007-10-16 01:25:17 +00:00
Antoine Cellerier
d66b3c0f61
Remove the "invert scroll" code since it's not used anywhere anymore (and it 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
2007-10-15 20:42:51 +00:00
Antoine Cellerier
d10831f157
Woops, forgot to change it here too.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14931 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 21:48:40 +00:00
Antoine Cellerier
7b7b9310e7
Save a few bytes in the line selector style handling code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14927 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 21:12:33 +00:00
Michael Sevakis
58fc279d26
Scroll on main and remote with a single thread. Change the way system 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
2007-07-28 08:12:05 +00:00