Andre Poenitz wrote: > > Can anybody see a regression other than slowness with this? > > [This makes 'redoParagraphs' a loop over 'redoParagraph' instead of > calling the first from the latter.]
Just for information, your plan is to re-implement drawing in a clear and transparent way. Thereafter, ascertain what optimisations are necessary to speed things up. In this way, you hope to understand how the whole thing fits together. Presumably you envisage a final, top-level algorithm taht can be represented in psudo code as Paragraph * par = par_that_has_been_modified(); par()->metrics(); ParagraphIterator pit = top_visible_paragraph(); ParagraphIterator pend = one_past_bottom_visible_paragraph(); for (; pit != pend; ++pit) { pit->draw(); } The Paragraph::metrics() and Paragraph::draw() functions are just simple, 'brainless' loops over all chars/insets? No further optimisation should be needed. Is this how you envisage things panning out? (Ok, I understand that rows and paragraph positions come in here somewhere too) -- Angus