Refactor|Optimize|UI|Client: Background text wrapping; avoid redundant updates
Improvements to TextDrawable and GLTextComposer. The former will now preprocess upcoming text in the background without forgetting the previous content that remains ready for drawing. The latter had a bug where empty lines caused continual geometry updates.
Todo: Fix / work around text appearing after widget becomes visible -- initial layout changes in a somewhat ugly fashion. Maybe do an extra TextDrawable update() right before drawing.
Refactor|Optimize|UI|Client: Background text wrapping; avoid redundant updates
Improvements to TextDrawable and GLTextComposer. The former will now
preprocess upcoming text in the background without forgetting the
previous content that remains ready for drawing. The latter had a
bug where empty lines caused continual geometry updates.
Todo: Fix / work around text appearing after widget becomes
visible -- initial layout changes in a somewhat ugly fashion. Maybe
do an extra TextDrawable update() right before drawing.