Jens Arnold
68a21689ae
Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Jens Arnold
8e66491ffe
M3: Make remote LCD hotplug work, and make 'backlight on button hold' use the correct hold switch. * Kill a warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16711 a1c6a512-1295-4272-9138-f99709370657
2008-03-19 00:34:56 +00:00
Jens Arnold
579089afa5
Fix Player warnings. Charcell needs fb_data properly defined as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16647 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 21:01:23 +00:00
Jens Arnold
769fcbd4d9
More iAudio M3 work. Bootloader compiles, but doesn't work yet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16645 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 20:35:42 +00:00
Jens Arnold
6a56c14e17
Greyscale library: Changed the internal data format once more (separated pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 23:48:26 +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
Jens Arnold
feb5b15e9b
All-new greyscale library, replacing the old one. Features: (1) Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 23:42:38 +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
Magnus Holmgren
56b8e99c10
When unpacking a 16-bit color value to 24 bits, repeat the high bits of each component rather than the low bits. This makes the RGB value displayed in the color picker (and in settings files) more accurate. E.g., when using the reported color in a background, it will no longer be dithered.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15589 a1c6a512-1295-4272-9138-f99709370657
2007-11-11 21:31:38 +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
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
f548336e27
Fix the LCD line remaining active after shutdown on grayscale ipods (FS#5199). Original patch by Tomasz Mon, modified by me.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14907 a1c6a512-1295-4272-9138-f99709370657
2007-09-29 20:56:07 +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
Michael Sevakis
287d6223d3
Dithering option for mpegplayer on gigabeat-f/x and e200. Assembly IDCT for ARm just to make it all work more nicely. Move UI simulator YUV code to its core to adapt it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14851 a1c6a512-1295-4272-9138-f99709370657
2007-09-25 02:59:42 +00:00
Michael Sevakis
60b01fa0f7
Straignten out some issues with HAVE_LCD_ENABLE. 1g/2g/3g had it defined but it shouldn't have been. lcd_enabled() was only available as a real function on gigabeat but others can use that too. Markup lcd.h a bit because I got a bit lost in it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14100 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 12:43:06 +00:00
Michael Sevakis
5832b59c85
Fix warnings and errors. Remove some added stuff that wasn't needed afterall.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14036 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 08:45:57 +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
Jens Arnold
a09f34e767
Oops.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14024 a1c6a512-1295-4272-9138-f99709370657
2007-07-27 12:10:25 +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
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
Jens Arnold
323d75d25f
It's not necessary (anymore?) to map lcd_icon() to sim_lcd_icon() for the simulator. * Removed a stray lcd_icon() call from usb handling.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13006 a1c6a512-1295-4272-9138-f99709370657
2007-04-03 18:06:13 +00:00
Jens Arnold
54ea2e435e
Charcell lcd driver: Preparations for switching to non-immediate LCD updates, using lcd_update() like on bitmap targets. * Added proper clipping. * Simplified simulator code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12979 a1c6a512-1295-4272-9138-f99709370657
2007-03-31 09:58:49 +00:00
Jens Arnold
a4ef0c4897
(all targets) Increase scrolling line size to account for utf-8 in the overlap. (player) Fix utf-8-related scroll-around display bug.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12943 a1c6a512-1295-4272-9138-f99709370657
2007-03-27 22:14:53 +00:00
Jens Arnold
ad4e3d6657
First step of charcell LCD code rework: * Make it fully unicode aware so that adding non-ISO8859-1 scripts becomes possible (limited by the LCD capabilities of course). * Make the API more similar to the bitmap LCD code's API. * Moved hardware dependent parts to target tree. * Simplified code. * Jumpscroll temporarily non-functional.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12916 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 07:52:13 +00:00
Michael Sevakis
1b4eb5bcf1
Correct some color unpacking macros.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12875 a1c6a512-1295-4272-9138-f99709370657
2007-03-21 09:47:13 +00:00
Jens Arnold
cb1c9e447e
Archos player: Introduce lcd_write_command_e (only one data byte) in the lcd driver, for cleaner C code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12835 a1c6a512-1295-4272-9138-f99709370657
2007-03-18 17:58:49 +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
Daniel Stenberg
64a0fb8fd9
avoid using #if on undefined symbols, in preparation for -Wundef
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12357 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 21:15:06 +00:00
Greg White
355be5010a
Setup LCD ourselves; move LCD buffer and TTB to free up 1.7MB of memory
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11994 a1c6a512-1295-4272-9138-f99709370657
2007-01-13 02:24:15 +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
Magnus Holmgren
c0b2862956
Fix freeze/crash problems when scrolling very long strings (like filenames or tags).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11789 a1c6a512-1295-4272-9138-f99709370657
2006-12-17 15:40:13 +00:00
Jens Arnold
848e0b5a16
BMP loader: Remote LCD format support.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11558 a1c6a512-1295-4272-9138-f99709370657
2006-11-20 00:20:09 +00:00
Jens Arnold
0297873f6a
Backdrop support for greyscale targets. WPS backdrop is untested.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11520 a1c6a512-1295-4272-9138-f99709370657
2006-11-13 00:45:21 +00:00
Jens Arnold
84074cd292
Removed remnants of deprecated lcd_roll().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11409 a1c6a512-1295-4272-9138-f99709370657
2006-10-31 19:49:35 +00:00
Michael Sevakis
e0710b2af1
More color adjustments. Better translation to and from native colors with even distribution of levels. Macros for extracting native depth components and packing them.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11227 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 17:51:00 +00:00
Michael Sevakis
6aa12c11f7
Added a small interface to screens to translate colors into remote gray levels on the x5. Splash screens paint properly with light gray. Should be adapted to a more general approach in the future. A few trailing whitespace trimmings got into a couple files but that is fine.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11218 a1c6a512-1295-4272-9138-f99709370657
2006-10-14 01:32:58 +00:00
Michael Sevakis
76a6aaa278
Added dithering for 24 bit backdrops on 16 bit displays. FORMAT_DITHER should be specified to dither a bitmap when loading. Feel free to flame me if I got the RGB565SWAPPED thing wrong.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11180 a1c6a512-1295-4272-9138-f99709370657
2006-10-11 01:26:09 +00:00
Dave Chapman
7fe7427de8
Clean up the #ifdefs surrounding the definition of lcd_yuv_blit() and add an initial (untested) implementation for the Gigabeat
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10541 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 09:27:26 +00:00
Rani Hod
bcd94a9b01
Accepted FS #5786 by Michael Sevakis - lcd_yuv_blit() for X5.
...
hard coded to YUV4:2:0 for now, gives ~13.5 fps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10528 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 14:10:34 +00:00
Rani Hod
c9f59e6f75
Accepted FS #5772 by Michael Sevakis
...
1. X5 lcd sleep
2. #define HAVE_LCD_ENABLE
3. add "backlight (on hold switch)" setting, adapted from FS #5735
Note that the while(1) yield ==> asm("halt") part is NOT commited here,
I prefer it would be discussed separately.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10489 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 22:03:56 +00:00
Dave Chapman
13b23fbcdb
Implementation of lcd_yuv_blit() for the ipod 5g.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10487 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 21:28:08 +00:00
Jens Arnold
c5a309afbd
H300: * Implemented lcd_yuv_blit(). Speeds up video playback by about 7%. No bounds check in lcd_yuv_blit() (by convention), implementations for other targets should be adapted. * Fixed off-by-one bug in lcd_update_rect()
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10484 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 13:44:43 +00:00
Dave Chapman
c9d66562af
Initial commit of work-in-progress MPEG video player plugin based on libmpeg2. Works on all targets with colour LCDs, but most optimised for the ipod Color/Photo and Nano. It currently only plays raw MPEG-1 or MPEG-2 video streams (no audio). Also adds a new lcd_yuv_blit() function to the plugin API - currently only implemented for the ipod Color/Photo and Nano.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10479 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 22:11:07 +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
19b45a4374
LCD extension library: Implemented scrolling for LCD depths below 8 bit. * Oscilloscope: Use new scrolling function, some minor optimisations.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8951 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 01:14:46 +00:00