Commit graph

94 commits

Author SHA1 Message Date
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
Dave Chapman
603f87fe3c Foreground/Background colour settings. Based on patch #3050 by Jonathan Gordon, extended my me. The principle of the patch is that the three sliders contain the native ranges (currently 0..31, 0..63, 0..31), and the equivalent RGB888 colour is displayed underneath. The config block (and global_settings struct) contain the native value for the fg/bg colours (either RGB565 or RGB565SWAPPED), but the text .cfg files contain the RGB888 value written as 6 hex digits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8840 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 02:48:05 +00:00
Jens Arnold
e6dac9130d Made LCD_RGBPACK() macro more efficient when used with variable arguments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8789 a1c6a512-1295-4272-9138-f99709370657
2006-02-22 21:41:44 +00:00
Jens Arnold
5991f02e1c Oops, no potentially conflicting declarations please.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8749 a1c6a512-1295-4272-9138-f99709370657
2006-02-20 18:45:31 +00:00
Dave Chapman
8ad2df8275 Create an SDL sim for the iPod 4G Grayscale and also create an IPOD_ARCH define for all iPods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8636 a1c6a512-1295-4272-9138-f99709370657
2006-02-09 00:48:53 +00:00
Dave Chapman
d16a8b8845 More iPod 3G changes from Seven Le Mesle, and some unification of the iPod code from me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8581 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 16:52:22 +00:00
Linus Nielsen Feltzing
39ecd72bd5 The iAudio X5 LCD is 18 bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8572 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 00:17:53 +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
Dave Chapman
d9e5b67b71 Patch #1421422 - Backdrop image patch started by Linus, finished by me. Adds ability to set backdrop images for file browser and menus (store full-screen bitmaps in /.rockbox/backdrops/) and also the ability to set a full-screen background image in a WPS using the %X|filename.bmp| WPS tag. Currently only implemented for targets with colour LCDs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8536 a1c6a512-1295-4272-9138-f99709370657
2006-02-02 20:42:56 +00:00
Linus Nielsen Feltzing
281403a4d8 Work-in-progress transparent bitmaps with 255,0,255 as the transparent color, not yet working on the H100 series
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8476 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 23:12:20 +00:00
Linus Nielsen Feltzing
745adad22a Color BMP support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8472 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 12:12:42 +00:00
Linus Nielsen Feltzing
60e8f4f988 First steps towards SDL sim for windows
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8449 a1c6a512-1295-4272-9138-f99709370657
2006-01-25 12:15:25 +00:00
Tomas Salfischberger
7fa39df427 Horizontal scrolling patch by Shachar Liberman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8412 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 01:42:05 +00:00
Linus Nielsen Feltzing
67f00224fb patch #1385256 by Hristo Kovachev - Turn off H300 LCD while backlight is off
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8268 a1c6a512-1295-4272-9138-f99709370657
2005-12-20 23:15:27 +00:00
Jens Arnold
1d6eeea1e1 16bit LCD driver: faster drawing routines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8098 a1c6a512-1295-4272-9138-f99709370657
2005-11-28 10:05:45 +00:00
Dave Chapman
260f8d3480 Add LCD_PIXELFORMAT config variable to distinguish between the two types of 16-bit framebuffers (the ipod framebuffer is byte-swapped)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7977 a1c6a512-1295-4272-9138-f99709370657
2005-11-19 02:06:46 +00:00
Jens Arnold
5b2cba17aa Changed the LCD_COLOR pixel value format to packed RGB (unsigned int). Now all LCDs with depth > 1 use the same datatype. Added macros for easy pixel value definition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7912 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 21:09:23 +00:00