contains a normal window, origin offset by some starting point. When using this abstraction, it must be possible for the view to calculate, given the absolute pixel position, which item in the buffer is the earliest item that matters. This is compllicted by embedding eventual color information _within_ the buffer's data (some of which would need to be read again _even_ when the scrolled window is outside).