Le 23/10/2017 à 23:34, Patrick De Visschere a écrit :
With the patch in place, SingleParUpdate in bufferView::draw is never reached.

So finally you mean that an UpdateRequest is really fired for each update event (which makes sense :), right?

It would be interesting to set a break on QWindow::requestUpdate and see 
whether to is something we do that triggers this effect.

I did and it’s never triggered.

OK.

If I pass the coordinates of the paragraph, I notice that
“SingleParUpdate" actually means “SingleRowUpdate". Since only the
current paragraph is painted black now, except for the current row.

What happens is that the painting code (in TextMetrics::drawParagraph) only paints the rows of the paragraph that have changed. This is why you see that only the row cursor is repainted. If you do a change that changes the cursor row and the next one (by inserting a character), you should see several rows repainted.

I do not like much the idea of just restricting the update area, since it seems very fragile. But we can return to it if needed. There are ways to get all the coordinates that we need.

There is a point that I would like to clear though: is the screen turned to black at each event (insertion of a character...), or only when certain things happen, like the example of doing a PDF preview like Stephan described at the beginning of this thread?

I’m still having problems with the basics. I thought there existed a document 
describing the basics of textMetrics, paragraphMetrics … .
I found something on the wiki but not so much.

Did you take a look at development/PAINTING_ANALYSIS? I try to maintain it while doing changes, but it is incomplete, and probably wrong in some places.

JMarc

Reply via email to