ISSUE-72 (smooth scrolling): Smooth scrolling by means of reference area offset [DFXP 1.0]

ISSUE-72 (smooth scrolling): Smooth scrolling by means of reference area offset [DFXP 1.0]

http://www.w3.org/AudioVideo/TT/tracker/issues/72

Raised by: Sean Hayes
On product: DFXP 1.0

The only means of easily defining a smooth scroll in TT is dependant on invoking the dynamicFlow engine. Dynamic flow is a complex feature and is not needed for several common scenarios (ticker tape, roll up credits, roll up captions).

It is not clear what layout area the block fill unit works on (whether it is the entire containing block in the region, or the set of blocks enclosing the paragraph level), if the former then it might be possible to invoke:
dynamicFlow: in(block, smooth) out(block,smooth) and not incur a layout penalty; however even in this case it is not possible to specify the direction the scroll function operates in.

proposal: add a property in timed text which allows independant authorial control over the inline-scroll-amount, and block-scroll-amount for the block-container-region generated for a region.

scroll:
 Values: <digit>+ (unit)? ((<length> | auto) (<length> | auto) (<duration> | auto) (<duration> | auto))?
 Initial:        0 auto auto auto auto
 Applies to:     region
 Inherited:      no
 Percentages: relative to width and height of region

If the overflow property of the region of is set to scroll, then the scroll property of the region applies. The reference-area of the block-container is considered to be large enough to accommodate the maximimum specified scroll amount in each direction, and the XSL inline-scroll-amount, and block-scroll-amount deemed to apply. The scroll is defined over time the region is active due to content being selected into it.

The durations are either explicit times or auto. The value auto in this context meaning the temporal difference between the synchronic slice T(k1) which occurs at each time the region becomes active (content is selected into it), and the closest subsequent slice T(k2) when no content is selected into the region. 

The lengths specified in the scroll property define the maximum values Li for inline-scroll-amount, and Lb block-scroll-amount respectively over each active duration. 

The value auto for length is defined as the difference V - Dm, where V = the corresponding dimension of the viewport, and Dm = the maximum dimension in the corresponding progression dimension of the initial containing block over all synchronic slices between T(k1) and T(k2).

The number of steps of i over each duration is defined by the initial <digit>+. If no units are specified, a set of i intermediate synchronic slices at times T(ki) are defined evenly spaced between T(k1) and T(k2) (rounded to the closest available clock times). 
If a unit is specified it defines an interval I, and the i intermediate synchronic slices are defined for all n where T(k) < T(k1 + (n * I)) < T(k2), (again rounded to the closest available clock times).

The offset values at intermediate slice i are defined by : (L / duration) * (T(ki)-T(k1)).

Received on Friday, 24 April 2009 20:35:35 UTC