сделал несколько доработок, версия 21.07.2009:
1) добавил возможность поиска текста (кнопка с биноклем или Ctrl+F, F3)
2) сделал на закрытии окна проверку изменений в файле. Если пользователь изменял файл, то для закрытия нужно или сохранить файл или начать новый без сохранения, только так окно закроется.
3) добавил перерисовку окна после горизонтального скролинга (раньше она была, но где-то я ее удалил в процессе оптимизации, оказалось зря...)
4) улучшил работу с боковыми панелями, когда они убираються кнопка сразу удаляется (раньше кнопка удалялась после полной перерисовки окна)
Code:
Поле со "строка, знак" должно рисоваться перед выводом текста - так перерисовка будет менее заметна.
Смотрел, там рисуется 1)текст, 2)прямоугольник, 3)подписи. Оптимизировать не удалось, потому что сразу после рисования прямоугольника поверх него рисуются подписи. Возможно для устранения мигания можно или разбивать прямоугольник на строки а это увеличит код, или выводить все в какой-то временный буфер а потом на экран.