summaryrefslogtreecommitdiff
path: root/firmware/export/lcd.h (follow)
Commit message (Collapse)AuthorAge
* lcd drivers: split lcd_gradient_rect so it is actually usefulJonathan Gordon2012-03-01
| | | | | | | lcd_gradient_rect() was only usable to draw list lines, so split it up and make a generic gradient draw function available to apps/ Change-Id: I665911a90fef239b5e06592ea2763cbeeb74c83f
* lcd/skin_engine: Add the ability to draw onto the backdrop layerJonathan Gordon2012-02-28
| | | | | | | | | | | | | | 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
* lcd drivers: Convert lcd_[remote_]framebuffer to a pointerJonathan Gordon2012-02-28
| | | | | | | | | | 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
* Oops. Left some bits I didn't want to keep.Michael Sevakis2011-12-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31336 a1c6a512-1295-4272-9138-f99709370657
* Convert remaining memframe LCDs that can be convert to common code.Michael Sevakis2011-12-16
| | | | | | | | | | | Massage the way it interfaces a bit to make things more flexible. The chroma_buf scheme on Sansa Connect and Creative ZVx calling the lcd_write_yuv420_lines implementation in lcd-as-memframe.S with five params with a chroma buffer that the function can't use wouldn't work anyway so just have them use the stock implementation (really, how was that working?). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31335 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#12237 (caused by r30302) where centered skin text isnt eqactly centeredJonathan Gordon2011-12-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31246 a1c6a512-1295-4272-9138-f99709370657
* Fix build errors and warnings in the lcd drivers.Thomas Martitz2011-11-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30940 a1c6a512-1295-4272-9138-f99709370657
* Support for transparency in 32bit bitmaps on color targets.Thomas Martitz2011-11-08
| | | | | | | | | This uses the alpha blending capabilities introduced with anti-aliased fonts to draw bitmaps with transparency information. The bmp loader is extended to read this information (pass FORMAT_TRANSPARENT in format). The alpha information will be used when drawing the bitmap. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30937 a1c6a512-1295-4272-9138-f99709370657
* Add new lcd_bmp and lcd_bmp_part APIs.Thomas Martitz2011-11-08
| | | | | | | | 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
* Better fix for FS#12337. Use 0 to make the line height calculated from the ↵Thomas Martitz2011-10-29
| | | | | | font height, as before r30773. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30850 a1c6a512-1295-4272-9138-f99709370657
* - Fix some reds by implementing lcd_get_dpi().Thomas Martitz2011-10-17
| | | | | | | - Use the list item centering capabilities in the plugin lib - Bump plugin ABI for the changed viewport struct (sort the API too). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30775 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#12321 - Touchscreen: List line padding, to more easily select linesThomas Martitz2011-10-17
| | | | | | | | | | | | | | This adds line padding to lists on touchscreens, in order to make lists reasonably useful without huge fonts. It's configurable: * Automatic (default, line height calculated using a lcd dpi aware function) * Off (status quo, line height = font height) * X pixels (from 2 to 50 in even steps) The automatic setting should/aims to Just Work Out Of The Box on all targets git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30773 a1c6a512-1295-4272-9138-f99709370657
* Touchscreen: Improved scroll thresholdThomas Martitz2010-11-10
| | | | | | | | | Remove the hardcoded (and way too small) scroll threshold (the distance moved in pixels before we think the users wants to scroll) and replace it with something based on the actual DPI of the screen. On Android we call the API for that, on other touchscreens we reimplemented Android's formula (as of 2.2) and calculate it. Flyspray: 11727 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28548 a1c6a512-1295-4272-9138-f99709370657
* Rename {draw,fill}_viewport once more (to draw_border_viewport and ↵Thomas Martitz2010-10-11
| | | | | | | | 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
* Add _rect to {draw,fill}_viewport as suggested by Jonathan Gordon to reduce ↵Thomas Martitz2010-10-10
| | | | | | the chance to confuse it with update_viewport(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28240 a1c6a512-1295-4272-9138-f99709370657
* Two new lcd/multi screen api convinience functions: draw_viewport(), ↵Thomas Martitz2010-10-10
| | | | | | | | | 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
* Pixel-accurate (vertical) list scrolling for touchscreen targets.Thomas Martitz2010-10-06
| | | | | | | | Looks much smoother now as you don't scroll by whole lines anymore. Add some functions lcd driver to enable the line based scrolling engine to draw the lines with a pixel-based y-offset. This should also allow for a sensible kinetic scrolling mechanism (still a todo). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28214 a1c6a512-1295-4272-9138-f99709370657
* Implement lcd(_remote)_putsxyf() and export to pluginsRafaël Carré2010-08-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27921 a1c6a512-1295-4272-9138-f99709370657
* FS#10756 - Free unused init codeThomas Martitz2010-03-03
| | | | | | | Introduce a new .init section for initialisation code, so that it can be copied to an area which is later overwritten before calling. The stack/bss can then overwrite that code, effectively freeing the code size that the initialisation routines need. Gives a few kB ram usage back. Only implemented for PP and as3525 so far. More targets could be added, as well as more functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25013 a1c6a512-1295-4272-9138-f99709370657
* Fix more tabsAndree Buschmann2010-01-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24154 a1c6a512-1295-4272-9138-f99709370657
* Convert lcd_activation callbacks to use the event system to allow for ↵Thomas Martitz2009-10-20
| | | | | | | | | multiple parallel callbacks (for custom statusbar). Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing). Removed corresponding functions from the core and plugin api. Bump min version and sort. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
* Revise r23225 a bit, removing the debug_printf function and implementing ↵Nils Wallménius2009-10-17
| | | | | | 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
* RTL: Cosmetic changes, no functional change - Rename constantsTomer Shalev2009-10-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23117 a1c6a512-1295-4272-9138-f99709370657
* Add a center flag, next to the rtl flag, for viewports. That results in any ↵Thomas Martitz2009-10-11
| | | | | | | | text being drawn centered. It overrides the RTL flag if set. Simplify splashes and time menu by using it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23105 a1c6a512-1295-4272-9138-f99709370657
* Use macro to test viewport's RTL flagTomer Shalev2009-10-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22978 a1c6a512-1295-4272-9138-f99709370657
* Implement RTL as a viewport's bit-fieldTomer Shalev2009-10-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22968 a1c6a512-1295-4272-9138-f99709370657
* Fix typos in the commentAlexander Levin2009-09-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22625 a1c6a512-1295-4272-9138-f99709370657
* Explain the stride and fix the player.Karl Kurbjun2009-09-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22616 a1c6a512-1295-4272-9138-f99709370657
* Fix STRIDE macro for multiscreen and add stride support for picture lib.Karl Kurbjun2009-09-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22615 a1c6a512-1295-4272-9138-f99709370657
* Add stride defines to support vertical stridesKarl Kurbjun2009-08-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22546 a1c6a512-1295-4272-9138-f99709370657
* Slight cleanup in lcd.h: kill fixme and remove useless include, add some ↵Nils Wallménius2009-08-19
| | | | | | includes elsewhere and add a stub for sims instead of ifdef git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22431 a1c6a512-1295-4272-9138-f99709370657
* Do not use lcd_blit_yuv() if MEMORYSIZE <= 2, since mpegplayer won't run ↵Rafaël Carré2009-06-21
| | | | | | | | anyway (and won't build) Only affected target: Sansa c200v2 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21453 a1c6a512-1295-4272-9138-f99709370657
* * read_bmp_*(): add FORMAT_RETURN_SIZEMaurus Cuelenaere2009-05-25
| | | | | | | | * Lua: add luaL_checkboolean() & luaL_optboolean() * Lua: add read_bmp_file git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21074 a1c6a512-1295-4272-9138-f99709370657
* M:Robe 500: More LCD initialization, QVGA (vs. VGA) is now enabled by ↵Karl Kurbjun2009-04-09
| | | | | | default for performance, 256 color palette mode added, include some linker cleanups and reorganization. Doom and MPEGPlayer now run reaonably well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20664 a1c6a512-1295-4272-9138-f99709370657
* Add initial support for changing the LCD mode in MPEG player for hardware ↵Karl Kurbjun2009-04-01
| | | | | | YUV conversion (256 color palette mode will also be added for doom and rockboy). This fixes the LCD mode/colors when MPEGPlayer exits. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20600 a1c6a512-1295-4272-9138-f99709370657
* Rework lcd_enabled and lcd_set/call_enable hookThomas Martitz2009-03-17
| | | | | | | 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
* Latest work on the bmp on-load scaler:Andrew Mahone2008-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* resize-on-load for bitmap files on 2bpp and color targetsAndrew Mahone2008-12-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19374 a1c6a512-1295-4272-9138-f99709370657
* Make lcd_set_enable_hook() conditional on HAVE_LCD_ENABLE and HAVE_LCD_COLORRafaël Carré2008-10-31
| | | | | | | | | | | This prepares for the Clip which will define HAVE_LCD_ENABLE but won't need the hook since the internal LCD framebuffer is updated regardless if the display is on or off. firmware/drivers/lcd-16bit.c has not been modified since HAVE_LCD_COLOR is obviously defined here git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18951 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | 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
* FS#9051 - remove LCD margins... use viewports if you need them...Jonathan Gordon2008-06-23
| | | | | | | | | | | 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
* Fix yellow.Michael Sevakis2008-05-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17642 a1c6a512-1295-4272-9138-f99709370657
* Targets with HAVE_LCD_ENABLE: Provide a means to receive notifications when ↵Michael Sevakis2008-05-28
| | | | | | 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
* Change the default background colour to black on colour targets. It fits ↵Barry Wardell2008-05-05
| | | | | | better with the default theme and also with the bootloaders. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17380 a1c6a512-1295-4272-9138-f99709370657
* Consistent naming scheme the various blit functions. * Removed ↵Jens Arnold2008-03-24
| | | | | | 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
* M3: Make remote LCD hotplug work, and make 'backlight on button hold' use ↵Jens Arnold2008-03-19
| | | | | | the correct hold switch. * Kill a warning. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16711 a1c6a512-1295-4272-9138-f99709370657
* Fix Player warnings. Charcell needs fb_data properly defined as well.Jens Arnold2008-03-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16647 a1c6a512-1295-4272-9138-f99709370657
* More iAudio M3 work. Bootloader compiles, but doesn't work yet.Jens Arnold2008-03-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16645 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: Changed the internal data format once more (separated ↵Jens Arnold2008-01-09
| | | | | | 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
* Add the viewport functions to the screens API, including a new getfont() ↵Dave Chapman2008-01-08
| | | | | | 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