The redraw branch <https://github.com/leo-editor/leo-editor/tree/redraw> is
ready for testing. This branch is associated with #539: Leo's redraw code
should be redesigned. <https://github.com/leo-editor/leo-editor/issues/539>
This project looks like a complete success. It makes major improvements to
Leo's redraw logic with virtually no effect on existing code. The
highlights of the changes are as follows:
1. Redrawing the screen happens *only *as the result of an explicit call to
c.redraw. In particular, neither c.selectPosition nor its helpers redraw
the screen immediately. However, cc.selectChapterForPosition ensures that
a redraw happens eventually using...
2. c.redraw_later() sets a flag requesting that c.outerUpdate call c.redraw
if necessary. Any call to c.redraw resets this flag.
3. c.disable_redraw() sets a flag disabling all outline redraws.
c.enable_redraw() re-enables redrawing. Use these methods as follows:
# Code that might otherwise redraw the tree.
This pattern is essential in the new git-diff
<https://github.com/leo-editor/leo-editor/issues/501> code. Lots of redraw
code changed, but in similar and straightforward ways. In effect, the new
code is exactly the same as the old unless c.disable_redraw() has been
called, I do not expect problems here.
4. c.outerUpdate has been drastically simplified. It now only handles
requests for delayed focus changes (as before) and the new delayed redraws.
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to firstname.lastname@example.org.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.