pushed some additional changes/features to my repository
github:
https://github.com/pieh/xbmc/commits/container_tweak
win32 installer: --- removed - some bugs there
1. <scrolltime tween="foo" easing="bar" pagescrolltime="1500">500</scrolltime>
basic time of scrolling will be 500 and if container scolling distance will be more than size of 1 item - it will add extra time to compensate increased speed (if scrolling distance will be more or equal width/height of container (page) scrolltime will be 1500)
2. <scrollcorrection>method</scrollcorrection>
method can be DEFAULT, AGGRESSIVE, LOOSE or DISABLED
- DEFAULT - same as previous (limit distance from focused item to width/height of 25% items_per_fame - if list show 8 items on a page - we can go away for 2 * size_of_item (2 = 25% of 8) ) - unfortunately results differ on different type of containers (it will actually do work on list containers and fixed/wraplist with focusedposition set to 0)
- AGGRESSIVE:
in lists and panels: limit distance to focused item to size width/height of 1 item,
in fixedlists and wraplsits: just ensure focused item is visible (if you keep scrolling, jump page or go to top/bottom - new focused item will be aligned to appropiate edge of container and scrolling will start/continue from there)
- LOOSE:
this is similiar in some ways to AGGRESIVE but it use last focused item instead of new one. If you scroll using cursors (up/down/left/right) there shouldn't be any difference. But using page up/down / scroll to top/bottom will just scroll from last focused position to new one
- DISABLED:
just disable any form of scroll correction - xbmc won't try to keep focused item in sight
It's hard to describe each method with words - it would be best if You test them Yourself (with very high value of scrolltime to actually see the difference).
Personally I hate fact that I'm adding 4 methods here (actually I'd like to get rid of all these options and just keep 1 method)