Re: Heads-up: Potentially breaking changes to the GDK drawing model pushed



Le samedi 21 juin 2014 à 11:05 -0400, Paul Davis a écrit :



On Sat, Jun 21, 2014 at 10:35 AM, Jean Brefort
<jean brefort normalesup org> wrote:
        In gnumeric this arised when we draw an animated rectangle
        around the
        selected rectangle. When using the draw event, we need to
        repaint
        everything inside the rectangle and this made gnumeric quite
        unresponsive when there were many cells displayed at once.


i don't believe that this is true, but thanks for the explanation. 


A draw/expose event contains a list of rectangles which need not be
contiguous. It is only a matter of convenience to use the GdkRectangle
that is also supplied. You can invalidate the "border" around the
cell. We do this in ardour, especially in our new canvas, where we
frequently queue discontiguous areas of the screen for drawing - when
we render we do not draw the union of all these areas, just each
rectangle in the list of regions.

I know that an expose event contains a region, but this does not help,
we use the draw event, and I don't know how to reliably access the
region. More, it is not really easy to determine what needs to be
redrawn from inside a draw event.




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