A little news from the OpenGL based Memo component... It came to be different than i expected but here's the key things:
- TStringList does not have any automatic feature for wrapping. VCL TMemo might have but i wont use it.
- I can't simply go through characters and do line changes where i want, then the scrollbars would not work line-by-line.
- The line changes are made in separate Update procedure, by adding for example character #30 (almost anything between 0..31 except 10 or 13) and a real line-break char. So then, when memo is resized bigger and wrapping is changed, the character and line change can be removed knowing where it is. This character is ignored when drawing, and removed when saving.
All in all: TStringList.Strings[] array will be properly wrapped before rendering.
- Using scrollbar up and down is easy this way, but left and right (when wrapping is disabled) is more complicated. This requires to "virtually" move the caret from left side until first visible letter comes.