1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware
Thomas Martitz 488a1b983e put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling.
With the new lcd_putsxy_scroll_func() code can register custom scroll functions
(put_line() makes use of that). In order for the custom scroller to be able
to properly manage its userdata pointer (set via struct scrollinfo::userdata)
the scroll engine must inform the scroller about start and stop of scrolling.

To inform about start the lcd_scroll_* functions now return true when
the line will scroll. To inform about stop the scroll engine calls into the
scroller one last time, with the text set to NULL.

put_line() can use this to release the userdata registered per scrolling line
so that it can be recycled.

This fixes that some scrolling lines became glitchy after some time because
the userdata was recycled too early.

Change-Id: Iff0a6ce2a4f9ae2bada1b8e62f4f5950224942a9
2014-01-12 01:34:06 +01:00
..
asm Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets" 2012-10-24 14:05:39 +02:00
common Introduce volume_{present,removable} and fix invalid calls in apps/ 2013-11-20 21:34:04 +01:00
decompressor Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
drivers put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling. 2014-01-12 01:34:06 +01:00
export put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling. 2014-01-12 01:34:06 +01:00
include buflib: Add buflib_context_relocate(). 2013-12-22 23:11:32 +01:00
libc gmtime: avoid a modulus 2012-03-18 10:09:08 +01:00
target rk27xx: Implement HAVE_INIT_ATTR magic 2014-01-10 09:01:08 +01:00
test Make fat test tool build again, and make its sector size configurable. 2014-01-03 23:57:32 +01:00
usbstack Don't use core_alloc_maximum() in usb_storage. 2014-01-11 19:22:49 +01:00
arabjoin.c
arabjoin.h
ata_idle_notify.c
backlight-sw-fading.c
backlight.c All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one). 2011-02-14 11:27:45 +00:00
bidi.c bidi.c: Check buffer sizes. 2014-01-09 23:30:32 +01:00
buflib.c Do not include kernel.h in system.h. 2014-01-05 19:35:23 +01:00
COPYING
core_alloc.c buflib: Change buflib_available() and add buflib_allocatable(). 2013-07-07 10:46:07 +02:00
debug.c Redirect (L)DEBUGFs to adb logcat in DEBUG enabled builds. 2010-09-20 17:38:47 +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
firmware.make Add framework to let make automatically pick optimized asm implementations over generic C ones to firmware. 2012-01-22 18:46:45 +01:00
font.c Do not include kernel.h in system.h. 2014-01-05 19:35:23 +01:00
font_cache.c remove stray debugging line 2011-11-27 16:27:20 +00:00
general.c Do not include kernel.h in system.h. 2014-01-05 19:35:23 +01:00
hangul.c
ifp_usb_serial.c firmware/ : use lcd_putsf() (only in debug code) 2010-08-28 23:12:11 +00:00
kernel.c kernel: Allow queue_wait_w_tmo() to be called with TIMEOUT_BLOCK. 2012-09-28 19:40:17 +02:00
load_code.c load_code: Get rid of win32 specific code in favor SDL_LoadFunction & friends APIs. 2012-05-26 22:46:56 +02:00
logf.c Print `last logf lines on panic(). 2014-01-11 11:37:18 +01:00
lru.c Revert r30818 2011-10-22 08:02:38 +00:00
panic.c Print `last logf lines on panic(). 2014-01-11 11:37:18 +01:00
pcm.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_mixer.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sampr.c
pcm_sw_volume.c Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
powermgmt.c Add set_sleeptimer_duration function in minutes 2012-10-06 11:59:13 +02:00
profile.c
README
rolo.c Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered an 2013-12-15 00:38:48 +01:00
rom.lds Fix path to PP crt0 2012-01-03 04:44:27 +00:00
screendump.c screendump.c: use HOME_DIR instead of the hard-coded "" (root) 2013-09-27 09:21:05 +02:00
scroll_engine.c scroll_engine: Major rework to support pixel-based scrolling and scroll callbacks. 2013-12-14 23:11:31 +01:00
sdmmc.c Various minor cleanups 2010-08-01 10:07:05 +00:00
sound.c Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
SOURCES Introduce IHIFI760/960 targets. 2013-12-16 00:45:18 +04:00
storage.c Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
system.c Fix reds. 2011-12-24 12:21:16 +00:00
thread.c Use commit_dcache() instead of commit_discard_idcache() where possible 2012-02-04 22:27:42 -05:00
timer.c
tuner.c Add stub STFM1000 tuner driver 2012-05-19 16:10:52 +02:00
usb.c USB: Detect charging-only mode upon cable insert, not host detect. 2013-05-22 02:28:31 -04:00

See docs/README