Jens Arnold
0884582228
Colour targets: Revert an optimisation from almost 18 months ago that actually turned out to slow down things. Speeds up mono bitmap drawing by ~15..60% depending on target and drawmode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17876 a1c6a512-1295-4272-9138-f99709370657
2008-06-29 12:56:01 +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
Jonathan Gordon
bdbdb97f19
FS#9051 - remove LCD margins... use viewports if you need them...
...
NOTE to WPS people....
%m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored.
Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected.
Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 13:20:35 +00:00
Michael Sevakis
adf2e4c9a0
Targets with HAVE_LCD_ENABLE: Provide a means to receive notifications when the lcd is enabled and the image is refreshed so overlayed drawing can also be refreshed. Chiefly mpegplayer needs this so it can redraw the YUV data after the backlight is turned on while paused or when using 'Set Start Time'.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17640 a1c6a512-1295-4272-9138-f99709370657
2008-05-28 10:17:16 +00:00
Michael Sevakis
595d0659d4
Make the transparent bitmaps work on Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17118 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 13:06:29 +00:00
Jens Arnold
00ac809cc7
LCD drivers: * Automatically optimise horizontal and vertical lines drawn via _drawline(), with debug message to show possible optimisations in the caller. * Get rid of the extra ICODE function declarations by putting the attribute into the definition.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17081 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 07:53:33 +00:00
Dave Chapman
20b38238ab
Make the lcd_gradient_* functions static - they're not exported in lcd.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16070 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 09:53:32 +00:00
Dave Chapman
3646c31367
Add the viewport functions to the screens API, including a new getfont() function to return the font used by the current viewport. A change to the screens API makes the plugin API incompatible, so we bump version and sort. Also commit the test_viewports plugin (not built by default). This is some more of FS#8385.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16022 a1c6a512-1295-4272-9138-f99709370657
2008-01-08 01:22:14 +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
Nicolas Pennequin
485bbbdb30
Make the "current line" value in the gradient style code zero-based, and an attempt at more understandable names and better comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15886 a1c6a512-1295-4272-9138-f99709370657
2007-12-06 17:09:24 +00:00
Nicolas Pennequin
1d86dbffe3
Accept FS#7901 by Akio Idehara: Fix gradient for scrolling lines when more than one line is selected
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15698 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 18:14:51 +00:00
Michael Sevakis
57d71e4267
Add some CACHEALIGN_* macros and a helper function to assist in aligning data and buffers on PortalPlayer processors to cache line boundaries. They're noops when PROC_NEED_CACHEALIGN isn't defined. Go safe and increase the value to 32 since I'm not sure yet if 16 is sufficient - changing that is a one-liner. Add helper to plugin API which will be needed shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15523 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 05:17:20 +00:00
Jens Arnold
93434b4f75
Bugfix: The solid colour and gradient selector no longer extends to the left display margin when the text needs to scroll and the lcd margins are zeroed, e.g. overwriting the icon in the file browser when loading a file.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15115 a1c6a512-1295-4272-9138-f99709370657
2007-10-15 07:09:53 +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
Nicolas Pennequin
49a9e1ef35
Make the gradient look better when more than one line is selected (running time, ID3 info, cuesheet viewer...). I haven't found a solution for scrolling yet, so that won't look too good.
...
The recording screen code needs a bit of adapting too, but I don't have a target to test on, so leave it for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14884 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 13:49:43 +00:00
Nicolas Pennequin
f333c97176
Factor out the gradient drawing code. Should save some bytes and makes the code more readable.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14883 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 12:12:35 +00:00
Nicolas Pennequin
68be596335
Fix corrupted display of the gradient selector for scrolling lines in some colour configurations. Thanks to preglow for spotting.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14869 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 17:02:26 +00:00
Nicolas Pennequin
f3b015f73b
FS#7808 by Tom Ross, Ken Fazzone and me, with help from Antoine Cellerier.
...
Add two new line selector types: solid colour and gradient. Solid colour only uses the primary colour setting.
The secondary colour setting is used for the gradient. Text colour for the selected item is also changeable.
These new settings are a bit controversial so they may be removed later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14868 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 15:42:55 +00:00
Will Robertson
590501cfe4
Merge the Gigabeat S branch back into trunk. Fingers crossed nothing breaks.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14805 a1c6a512-1295-4272-9138-f99709370657
2007-09-21 15:51:53 +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
Michael Sevakis
ba0a9c418c
Hrm. Commit the other needed change too. :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13899 a1c6a512-1295-4272-9138-f99709370657
2007-07-15 01:16:15 +00:00
Jonathan Gordon
60e7472f72
Fix FS#7044 - if the color RGB(0,255,255) is in a bmp it will be replaced with the current foreground colour
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13878 a1c6a512-1295-4272-9138-f99709370657
2007-07-14 09:19:46 +00:00
Jonathan Gordon
6e21c146f8
Fix FS#7336 - scrolling lines don't stay coloured.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13682 a1c6a512-1295-4272-9138-f99709370657
2007-06-22 04:30:08 +00:00
Brandon Low
74cbb0a1b2
Give color targets the ability to display each LCD line a different color and use this newfangled ability to provide themable colored file types. See the comments on read_color_theme_file and the sample.colors file provided for how to use this. .colors files go in themes directory for now. This separate line color function should be trivial to add to menus and wpss.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13656 a1c6a512-1295-4272-9138-f99709370657
2007-06-17 21:16:34 +00:00
Dave Chapman
0030378f74
More gigabeat LCD cleanup and completely remove the use of DMA for lcd_update_rect() (this was accidentally disabled anyway by the previous commit). The DMA version of lcd_update_rect() managed 64fps, but the memcpy based implementation manages 264fps.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13393 a1c6a512-1295-4272-9138-f99709370657
2007-05-15 16:00:06 +00:00
Dave Chapman
e22b33ec72
Gigabeat LCD driver cleanup: Revert the DMA optimisations to the gigabeat LCD driver - they are both buggy (the wrong background colour was often seen, e.g. in the USB screen after using a plugin) and significantly slower than the standard implementations (which use the ARM-optimised mem* functions) in lcd-16bit.c. lcd_clear_update was 4.5 times slower with DMA when a backdrop is in use, and 12 times slower with DMA when no backdrop is in use.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13392 a1c6a512-1295-4272-9138-f99709370657
2007-05-15 14:26:44 +00:00
Robert Kukla
6dbcceb1fe
for WPS files with many lines the current wps code will call puts_scroll with y-values greater than the size of the scroll[] array (e.g. gwps-common.c:2063). This is a temporary security measure until viewports and/or wps tokenizer are available...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12992 a1c6a512-1295-4272-9138-f99709370657
2007-04-01 17:28:46 +00:00
Daniel Ankers
82f9056988
Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Jens Arnold
51223e5395
Introduced LCD_FBHEIGHT in addition to the already existing LCD_FBWIDTH to ease framebuffer handling a bit. Added equivalent definitions for the remote LCD.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12419 a1c6a512-1295-4272-9138-f99709370657
2007-02-20 19:31:34 +00:00
Jens Arnold
a3a303e440
The code police strikes back, and some minor optimisations.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12086 a1c6a512-1295-4272-9138-f99709370657
2007-01-21 10:10:23 +00:00
Greg White
186623e709
Move mono DRMODE optimizations from Gigabeat to all 16-bit targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12062 a1c6a512-1295-4272-9138-f99709370657
2007-01-18 02:29:58 +00:00
Greg White
e07b30d9e2
Remove bogus variables to fix warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12016 a1c6a512-1295-4272-9138-f99709370657
2007-01-15 13:16:28 +00:00
Greg White
69bb436223
Optimize transparent blit; optimize DRMODE_SOLID for mono bitmaps
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12015 a1c6a512-1295-4272-9138-f99709370657
2007-01-15 13:07:47 +00:00
Greg White
382b7a4f86
Skip scroll check when LCD is disabled
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12004 a1c6a512-1295-4272-9138-f99709370657
2007-01-14 03:30:11 +00:00
Greg White
922c0d6d33
Fix simulator build
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11910 a1c6a512-1295-4272-9138-f99709370657
2007-01-04 12:13:56 +00:00
Greg White
9d0faed29c
Use DMA for Blit to screen/clear
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11906 a1c6a512-1295-4272-9138-f99709370657
2007-01-04 11:43:33 +00:00
Miika Pekkarinen
cabfbb3556
Fixed the line scrolling not always being smooth.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11044 a1c6a512-1295-4272-9138-f99709370657
2006-09-25 12:45:14 +00:00
Miika Pekkarinen
610190a04e
Fixed the errors.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10959 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:33:42 +00:00
Miika Pekkarinen
a85044bf9e
New scheduler, with priorities for swcodec platforms. Frequent task
...
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +00:00
Mark Arigo
1e9ac7a32e
Allow scrolling lines with different x-margins. The margin at the time of the call to puts_scroll will be used as the margin for that line.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10727 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 20:07:59 +00:00
Jens Arnold
cb36fec392
LCD drivers: * Slight speedup for 2bit greyscale drivers. Use the same scrolltext drawing anywhere. * Cleanup, fixes and definitions in preparation for X5 remote.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10346 a1c6a512-1295-4272-9138-f99709370657
2006-07-28 07:17:00 +00:00
Jens Arnold
9051afa8a0
Contrast setting cleanup: * Only include contrast setting for targets where it's used. * Make lcd_default_contrast() a stub for simulators.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10317 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 11:15:50 +00:00
Linus Nielsen Feltzing
52aaa75e83
Restore the default backlight settings broken by Rani
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10314 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 07:19:35 +00:00
Linus Nielsen Feltzing
33bd218010
Patch #5182 by Liberman Shachar - Vertical screen scroll bug fix (inverse bar crop in vertical scroll)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9881 a1c6a512-1295-4272-9138-f99709370657
2006-05-06 06:37:23 +00:00
Peter D'Hoye
69433c8667
Fix fillrect calculation error for 'Screen scrolls out of view'. Fixes bug 5267. Also some minor code policing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9871 a1c6a512-1295-4272-9138-f99709370657
2006-05-03 20:22:03 +00:00
Daniel Stenberg
d2848f3d72
moved the LCD framebuffer to IRAM for iAudio X5 - gives ~40% speed boost
...
I also extended the iram size properly since the 5250 coldfire has 128K
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9604 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 10:37:37 +00:00
Marcoen Hirschberg
d257683f3e
font caching fixes by Frank Dischner
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9178 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 09:53:27 +00:00
Jens Arnold
27f2182070
Fixed pointer size vs. int size problems (64 bit sims)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8881 a1c6a512-1295-4272-9138-f99709370657
2006-03-02 01:21:57 +00:00
Jens Arnold
a13f847186
Optimised lcd_clear_display(), lcd_hline() and lcd_fillrect().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8774 a1c6a512-1295-4272-9138-f99709370657
2006-02-22 01:28:19 +00:00
Jens Arnold
3c17330af6
Colour LCD driver: * Bring non-backdrop rendering back up to speed. * Speed up rendering with backdrop. * Restore correct behaviour of lcd_clear_display().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8549 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 21:11:51 +00:00