Hi Krzysztof,
I want to change wrapping and painting code to minimize flickering and maximize performance.
From what I see, the following could be done:
The paragraph structure should include not MEPF_REWRAP and MEPF_REPAINT flags, but indexes of rows from which to start re-wrapping and repainting (e.g. nStartRewrap and nStartRepaint). The wrapping routine should check if it has actually changed wrapping and set nStartRepaint accordingly.
ME_Repaint should not call ME_PaintContent directly. Instead, the wrapping routine (and probably others) should call InvalidateRect for screen areas that need to be repainted.
What do you as the author of that code think about my suggestions? Or it's possible that you are working in the same direction, and then it would be silly to implement one thing twice?
-- Ph.