rockbox/apps/plugins/lib
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
..
bmp_smooth_scale.c
checkbox.c
checkbox.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
configfile.c plugins: Make 'struct configdata' argument to the configfile helper const 2020-08-09 10:27:32 -04:00
configfile.h plugins: Make 'struct configdata' argument to the configfile helper const 2020-08-09 10:27:32 -04:00
display_text.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
display_text.h
feature_wrappers.h
gcc-support.c
grey.h LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_coldfire.S
grey_core.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_draw.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
grey_parm.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_scroll.c
helper.c plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
helper.h button: allow disabling software poweroff 2020-06-27 13:27:40 -04:00
highscore.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
highscore.h
jhash.c Fix compile warnings (set-but-not-used) on big endian targets 2020-10-13 13:37:23 -04:00
jhash.h
jpeg_mem.h
kbd_helper.c kbd_helper fix yellow 2020-07-27 23:24:49 -04:00
kbd_helper.h keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
keymaps.h New port: AIGO EROS Q / EROS K 2020-10-11 16:37:17 -04:00
md5.c
md5.h
mylcd.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
osd.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
osd.h [2/4] get rid of HAVE_LCD_CHARCELLS 2020-07-24 21:20:13 +00:00
overlay.c
overlay.h Fix red, hopefully. 2020-10-09 13:04:38 +00:00
picture.c
picture.h
playback_control.c FS#7704 - Talk support for plugins 2019-07-20 08:48:35 +02:00
playback_control.h
pluginlib_actions.c New port: AIGO EROS Q / EROS K 2020-10-11 16:37:17 -04:00
pluginlib_actions.h
pluginlib_albumart.c
pluginlib_bmp.c
pluginlib_bmp.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
pluginlib_exit.h
pluginlib_jpeg_idct_arm.S
pluginlib_jpeg_load.c
pluginlib_jpeg_mem.c
pluginlib_resize.c
pluginlib_touchscreen.c
pluginlib_touchscreen.h
profile_plugin.c
profile_plugin.h
read_image.c
read_image.h
rgb_hsv.c
rgb_hsv.h
sha1.c
sha1.h
simple_viewer.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
simple_viewer.h
SOURCES plugins: Enable overlay features for all targets 2020-10-09 13:30:05 +00:00
stdio_compat.c
stdio_compat.h Silence warning in stdio_compat.h 2019-07-19 23:51:07 -04:00
strncpy.c
wrappers.h
xlcd.h LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_core.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_draw.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_scroll.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00