In article <53936320e9tlsa@netsurf-browser.org>,
Michael Drake <tlsa@netsurf-browser.org> wrote:
> In article <20130930155550.GK26731@pepperfish.net>,
> Rob Kendrick <rjek@netsurf-browser.org> wrote:
> > Alternatively, we implement a generic anti-aliased plotter for other
> > front ends to use.
> I thought of bitmap generation, and plot via bitmap plotter. But at that
> point, it's rather more complexity than its worth.
After seeing the ugliness of aliased triangles, I've changed it to
generated bitmaps now. The anti-aliasing assumes linear screen gamma, but
at least the jaggies are gone!
On the other hand, it makes the GTK front end's bitmap bugs quite obvious.
At the moment the GTK front end converts bitmap data in-place to the
format Cairo needs on bitmap_modified() calls, and converts back to the
core format when bitmap_get_buffer() is called. That's fine when the
calls are paired, and there's no redraws in between, but broken otherwise.
The treeview code is currently calling bitmap_get_buffer() to read, rather
than write, which is throwing it out of sync since there's no
corresponding bitmap_modified() call.
The gif code has a different issue for gifs like the true-colour gif. It
calls bitmap_get_buffer() and subsequently makes several bitmap_modified()
calls.
--
Michael Drake (tlsa) http://www.netsurf-browser.org/
No comments:
Post a Comment