Ether Painters
An ether painter is an object made use by a band
to paint markings on its background. These markings make the
mapping from pixels to date/time of the band's
ether visible to the
user and helps her gauge when each particular event happens.
An ether painter should be constructed by client code for
the initialization of a band in a timeline, and then not
touched again by client code.
Interface
An ether painter must expose the following Javascript interface:
constructor
( params )
params is an object whose
fields carry initialization settings for the ether painter. Different
ether painter classes require different fields in this initialization
object. Refer to the documentation of each ether painter class for
details (see
Ether Painters in Library below).
initialize
( band,
timeline )
The ether painter is to paint the background of the given
band
of the given
timeline.
This method is called by the band itself as it is being
initialized. Client code is not supposed to call this method.
paint
()
(Re)paint the band's background. The band will call this method
when it needs to be (re)painted, at construction time as well
as whenever its origin is shifted. Client code is not supposed
to call this method.
softPaint
()
(Re)paint any part of the band's background that is positioned
relative to the visible area of the band. The band will call
this method whenever it is scrolled. Client code is not supposed
to call this method.
setHighlight
( startDate,
endDate )
Show a highlight between the two given
Date objects.
There are currently 2 ether painter classes provided by default:
Timeline.GregorianEtherPainter and
Timeline.HotZoneGregorianEtherPainter.
They all expose the interface above, but they differ in their
initialization parameters.
There is also an undocumented Timeline.JapaneseEraEtherPainter.