On 06/19/2013 09:33 AM, Hashini Senaratne wrote:
The code that draws the cursor does not know that you have moved the
row, so I aimgaine it will be wrong. What I would do maybe is to add a
x_offset (or something) variable to the Cursor object that indicates
that the row is sliding. Then the cursor-blink code could take this in
account (or probably one method that it uses).
Yes, only the visible cursor point is not at the correct place. I can delete
or add characters to where I expect.
Is this blink code is in Cursor.cpp or somewhere related to graphics? I
tried to find it but failed.
I will try to search more and get the help later if I cannot find a clue.
I think this is in the GuiWorkArea::Private::showCursor() routine. The
place to put the cursor gets calculated there, and then passed to
another showCursor(...) routine. That information is retrieved, however,
from BufferView::cursorPosAndHeight(), so the thing to do might be to
put this x_offset variable into the BufferView, and then simply use it
in that routine, or in BufferView::getPos().
rh