rockbox/firmware
William Wilgus 3237ae4a4f LCD core move buf ptr and address look up function viewport struct
I'm currently running up against the limitations of the lcd_draw functions
I want these functions to be able to be used on any size buffer not
just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly  after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear
scrolling viewports no longer trigger wps refresh
also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_)
LCD_STRIDE(w, h) same as STRIDE_MAIN
LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H
LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H
LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH)
test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags

Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26 12:28:48 -04:00
..
asm New port: AIGO EROS Q / EROS K 2020-10-11 16:37:17 -04:00
common ClipPlus BOOTLOADER DONT FIT! 2020-10-23 20:38:59 -04:00
decompressor Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
drivers LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
export LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
include Revert root_redirect :( 2020-08-20 21:54:00 -04:00
kernel [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
libc stdio compat layer for plugins 2017-12-23 20:54:56 -05:00
target LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
usbstack Workaround for usb_storage_init_connection() panic 2018-07-30 17:54:51 -04:00
COPYING
README
SOURCES hosted: Unify the USB code for the hiby-based players. 2020-10-15 10:18:16 -04:00
arabjoin.c
arabjoin.h
ata_idle_notify.c Fix reds. 2014-03-14 23:43:45 +01:00
backlight-sw-fading.c For backlights that have a wide control, support skipping steps. 2020-10-02 02:45:43 +00:00
backlight.c Fix reversal of "always/never" in "LCD setting > Sleep (After Backlight Off)" 2019-06-27 14:19:05 +02:00
bidi.c bidi.c: Check buffer sizes. 2014-01-09 23:30:32 +01:00
buflib.c Buflib_init Bugfix Minsize 2020-07-15 13:29:21 +00:00
core_alloc.c Make a few local variables static 2015-01-11 18:02:43 +01:00
debug.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
eeprom_settings.c
enc_base.c FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use. 2011-12-14 21:45:25 +00:00
events.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
firmware.make fonts: Use '08-Rockfont' as FONT_SYSFIXED on targets with 128x64 screens 2020-08-31 13:32:24 -04:00
font.c New port: AIGO EROS Q / EROS K 2020-10-11 16:37:17 -04:00
font_cache.c fonts: Do not unload completely on USB. 2014-01-15 23:37:39 +01:00
general.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
hangul.c
ifp_usb_serial.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
load_code.c Fix various reds. Some includes needed fixup. 2014-03-03 19:10:48 +01:00
logf.c Implement a much more capable vuprintf() 2017-11-21 05:00:27 -05:00
lru.c Revert r30818 2011-10-22 08:02:38 +00:00
panic.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
pcm.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
pcm_mixer.c pcm_mixer: Fix an idle frame calculation bug introduced in 2e708c48c5 2020-10-24 02:00:50 +00:00
pcm_sampr.c pcm: Missed a file for the 192/176K playback. 2020-09-30 22:03:34 -04:00
pcm_sw_volume.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
powermgmt.c fix x20 and yp-r1 builds. 2020-09-28 22:26:59 -04:00
profile.c
rolo.c hosted: Add ROLO support for hosted targets 2020-10-11 14:18:42 +00:00
rom.lds h300: add support for ROM image generation 2020-10-26 01:37:42 +00:00
screendump.c Agptek Rocker: Initial commit 2018-06-12 10:31:14 +02:00
scroll_engine.c ClipPlus BOOTLOADER DONT FIT! 2020-10-23 20:38:59 -04:00
sdmmc.c Various minor cleanups 2010-08-01 10:07:05 +00:00
sound.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
storage.c FS#13154: Don't discard return code in storage_init() 2020-08-24 14:37:23 -04:00
system.c AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
timer.c Fix timer Agptek Rocker (other hosted players) 2019-10-17 21:19:00 +02:00
tuner.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
usb.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00

README

See docs/README