gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: [Gnash-commit] gnash ChangeLog backend/render_handler.h backe


From: Bastiaan Jacques
Subject: Re: Re[2]: [Gnash-commit] gnash ChangeLog backend/render_handler.h backen...
Date: Wed, 25 Oct 2006 13:32:59 +0200

On Tue, 2006-10-24 at 15:12 +0200, Udo Giacomozzi wrote:
> BJ> On a sidenote, I have moved the clipping related Gui code into the
> BJ> relevant glues, because interfacing with the renderer is a glue's job.
> 
> gtk.cpp directly speaks to the renderer (line 258):
> 
>   _renderer->set_invalidated_region(changed_bounds);

That situation I have yet to correct.

> BJ> So that sounds like we should have something like this in
> BJ> Gui::display():
> 
> if (this->>glueImplementsClipping()) {
> BJ>   _renderer->set_invalidated_region(changed_bounds);
> BJ> }
> 
> 
> Could be a solution, but the GUI looses control over the coordinates.
> For example, the 2 pixel correction is useless for renderers that
> don't do anti-aliasing anyway. At the other side the GUI might wish
> aligned coordinates (= aligned memcpy) to speed up double buffering.
> 
> That's why my implementation worked like this:
> 
> - gui.cpp tells the GUI implementation which area *must* be updated
> 
> - The GUI implementation can ignore this /hint/ and is allowed to
>   enlarge the bounds
> 
> - The final bounds are passed to the renderer and only that portion of
>   the screen is really updated.

Okay, I'll ensure that the sequence of events matches this description.

> It's probably a good idea to document this.
> 
> Do you understand now what I mean?

Yes! Thanks very much for your detailed explanation. I will commit some
changes based upon this information later this week.

Bastiaan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]