More appropriate terminal object

I see there is a terminal example in https://github.com/littlevgl/lv_examples/blob/master/lv_apps/terminal/terminal.c

But this object will become very inefficient if the log size is too big.

  • forget the oldest lines requires copying the rest to beginning
  • text visibility and position need to be re-calculated every time in lv_label_set_static_text
  • scroll to line, top, end, are not supported

My idea is to implement a line pointers queue, using an extra array, logging each line start to the txt_log pool. It will solve all the above issue.

I roughly wrote an object on this. Would like to share it later.

Hi,

There are really plenty of room for improvements there.
Could you do it based on dev-7.0?