Jonathan Gordon
2c71aa9feb
lcd/skin_engine: Add the ability to draw onto the backdrop layer
...
The framebuffer the lcd driver uses can now be changed on the fly
which means that regular lcd_* drawing functions can draw onto the
"backdrop" buffer. The skin engine can use this to create layered
effects.
Add the tag %VB to a viewport to draw that viewport onto the
backdrop layer. If you want to draw an image onto the backdrop
framebuffer use %x(backdrop filename) instead of %X() inside
a viewport with %VB.
Change-Id: I741498e2af6d4f2d78932cabe8942317893e7cfc
2012-02-28 23:03:04 +11:00
Jonathan Gordon
b37e6bc8c1
lcd drivers: Convert lcd_[remote_]framebuffer to a pointer
...
Change all lcd drivers to using a pointer to the static framebuffer
instead of directly accessing the static array. This will let us
later do fun things like dynamic framebuffer sizes (RaaA) or
ability to use different buffers for different layers (dynamic
skin backdrops!)
Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-02-28 11:44:59 +11:00
Rafaël Carré
12ef8723f8
lcd-remote-target.h: Use only in firmware/target/
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31614 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 20:05:44 +00:00
Rafaël Carré
50f96943be
remote_detect(): move to lcd-remote.h
...
Reorganize lcd-remote.h so it works for iaudio-m3 too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31605 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 19:07:36 +00:00
Rafaël Carré
666f2e61f0
move lcd remote common declarations to lcd-remote.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31604 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:34:09 +00:00
Rafaël Carré
b5e879e837
TARGET_TREE is not needed anymore
...
spotted by jhMikeS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31597 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 17:14:40 +00:00
Thomas Martitz
13209604c1
Add new lcd_bmp and lcd_bmp_part APIs.
...
This new APIs wrap around lcd_[mono|transparent]_bitmap/_part calls and
handle all kinds bitmaps. The intended use is to draw bitmaps that
come from read_bmp_fd/_file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30936 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 21:34:46 +00:00
Thomas Martitz
8e8839c8c2
Forgot to update lcd-remote.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28243 a1c6a512-1295-4272-9138-f99709370657
2010-10-11 01:23:40 +00:00
Thomas Martitz
3022a60cc2
Rename {draw,fill}_viewport once more (to draw_border_viewport and fill_viewport) and remove the viewport parameter as suggested by Dave Chapman.
...
The parameter wasn't used yet and it's not clear whether it should be a absolute or relative viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28242 a1c6a512-1295-4272-9138-f99709370657
2010-10-11 01:19:55 +00:00
Thomas Martitz
5462ef728f
Add _rect to {draw,fill}_viewport as suggested by Jonathan Gordon to reduce the chance to confuse it with update_viewport().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28240 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:35:03 +00:00
Thomas Martitz
8a0152bd4a
Two new lcd/multi screen api convinience functions: draw_viewport(), fill_viewport().
...
They work as the drawrect/fillrect pendants but work on a viewport basis; pass NULL to draw the current viewport (the one set with set_viewport()).
In conjunction with action_get_touchscreen_press_in_vp() it should be less of a pain to draw buttons and get presses on them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28239 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:15:05 +00:00
Thomas Martitz
c2b5739419
Fix targets with remote display, forgot to add the new functions to their header.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28215 a1c6a512-1295-4272-9138-f99709370657
2010-10-06 12:52:00 +00:00
Rafaël Carré
0f063b7d72
Implement lcd(_remote)_putsxyf() and export to plugins
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27921 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 21:46:18 +00:00
Nils Wallménius
f34a841b0c
Revise r23225 a bit, removing the debug_printf function and implementing more generic lcd_(remote)_putsf function(s) instead and use those in more places
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23233 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 18:02:48 +00:00
Andrew Mahone
f7fa7e5ad5
Latest work on the bmp on-load scaler:
...
Macros for calculating size needed for bitmap load and scaling, so that
these can be compile-time constant when their inputs are.
Reduce size of bayer dither by chopping all but first row of dither
matrix, and replacing 2D lookup with 1D lookup and small calculation.
Move some functions not related to actual bmp file loading out of bmp.c.
A smaller brightness() for mono targets, and a higher-quality one for
greyscale targets, both replacing the division by 10 with a shift.
Port of the linear and area scalers to greyscale targets, this costs
some binsize but produces better output even when dithered to 2bpp.
Move duplicated row output code from inside vertical scalers to a
separate row output function.
Move some multiplies out of the line scaler, for a small speedup and
code size reduction, as well as a small improvement in accuracy for the
upscaling case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19592 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:03:22 +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
Nicolas Pennequin
357ffb3c46
Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Dave Chapman
78d29f535f
Major cleanup of checkwps - fix all warnings and add a script to build versions for all supported targets (plus some unsupported ones). You now need to run the version of checkwps that matches the device your WPS is for.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16831 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 23:35:34 +00:00
Jens Arnold
17bc340f1f
Make the LCD remote work in the iAudio M3, M5 and X5 bootloaders. * Fix viewport related init bug in the 2 bit vertically interleaved LCD driver. * Fix low bat warning in iaudio bootloader - voltages are in millivolts now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16648 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 23:08:33 +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
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
Nils Wallménius
f28da1a35a
Enable a lot more features for simulators and add stubs where necessary, simulators should now work with identical lng and voice files as the respective target
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14299 a1c6a512-1295-4272-9138-f99709370657
2007-08-12 19:49:03 +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
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
Nicolas Pennequin
7fdfa56454
Add backdrop support for LCD remotes with depth > 1-bit. Only WPS backdrops, but the groundwork is laid for main backdrops too (all that's really needed are menus to set/clear them).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13263 a1c6a512-1295-4272-9138-f99709370657
2007-04-25 21:44:56 +00:00
Jens Arnold
d528e54b61
Move target specific parts of the H100 remote LCD driver to target tree.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12485 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 22:09:14 +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
11e2e565ca
Backdrop support in the X5 remote LCD driver. Still needs to be wired to the UI and settings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11601 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 14:26:08 +00:00
Michael Sevakis
7bc41203af
Removed anachronisms introduced with low battery shutdown patch.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11524 a1c6a512-1295-4272-9138-f99709370657
2006-11-14 02:46:59 +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
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
Hristo Kovachev
0d58ea4bf9
Add a define for unplugged remote
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10354 a1c6a512-1295-4272-9138-f99709370657
2006-07-28 13:35:36 +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
Linus Nielsen Feltzing
00811840c9
Remote type autodetection on iriver, remote_type() returns REMOTETYPE_H100_LCD, REMOTETYPE_H300_LCD or REMOTETYPE_H300_NONLCD
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8721 a1c6a512-1295-4272-9138-f99709370657
2006-02-17 22:38:38 +00:00
Brandon Low
d3a03b679f
Horizontal screen scrolling part 3 (by Shachar Liberman)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8414 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 04:24:26 +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
Jens Arnold
b51f7dfc9b
Backlight handling: * Added 'Caption Backlight' and 'Backlight On When Charging' for the iriver remote LCD. * Enabled the backlight code for the simulator, and prepared backlight simulation. It's only a stub atm, writing messages to the console window. * Added tick task handling to the simulators for this to work. * Code cleanup in backlight.c, less dead code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8034 a1c6a512-1295-4272-9138-f99709370657
2005-11-21 23:55:39 +00:00
Miika Pekkarinen
05fdb1ad30
Added option to reduce (and almost prevent) the remote lcd ticking
...
problem with a cost slightly more CPU usage.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7985 a1c6a512-1295-4272-9138-f99709370657
2005-11-19 07:58:20 +00:00
Jens Arnold
b5fc2530a7
Removed the XYZ_PIXEL() macros. They are no longer needed, and they did only work correctly for b&w.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7074 a1c6a512-1295-4272-9138-f99709370657
2005-07-08 19:09:17 +00:00
Jens Arnold
d7f9439353
Adapted remote LCD driver and player graphics library to the new bitmap function naming scheme.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7047 a1c6a512-1295-4272-9138-f99709370657
2005-07-07 00:05:29 +00:00
Jens Arnold
576908d36a
Third part of graphics api rework. Some small but effective optimisations. Ported remote lcd driver to new api. Preparations for including the low-level functions in the plugin api.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6907 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 01:39:50 +00:00
Jens Arnold
9cedf39430
Fix red builds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6845 a1c6a512-1295-4272-9138-f99709370657
2005-06-23 17:13:05 +00:00
Jens Arnold
6a556c1740
Preparations for implementing the new graphics api: Ordered lcd bitmap driver defines, variables and functions by function groups. Centralised some definitions, code cleanup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6844 a1c6a512-1295-4272-9138-f99709370657
2005-06-23 16:53:54 +00:00
Jens Arnold
bd1bb5f009
iriver: LCD flip for H1x0 remote, some code cleanup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6739 a1c6a512-1295-4272-9138-f99709370657
2005-06-17 21:43:00 +00:00
Jens Arnold
23797afb0b
Hot-plug support for iriver remote.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6625 a1c6a512-1295-4272-9138-f99709370657
2005-06-08 22:48:23 +00:00
Christian Gmeiner
7d9848186e
iRiver: extended remote lcd driver. displaying text works now - see start-up-screen
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6355 a1c6a512-1295-4272-9138-f99709370657
2005-04-25 23:47:51 +00:00
Christian Gmeiner
d0a94912bd
corrected copyright infos
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6296 a1c6a512-1295-4272-9138-f99709370657
2005-04-15 12:58:01 +00:00