version 1.42, 2009/10/12 13:01:18 |
version 1.43, 2009/10/12 14:54:19 |
|
|
cx = tty->sx - 1; |
cx = tty->sx - 1; |
|
|
thisx = tty->cx; |
thisx = tty->cx; |
if (thisx > tty->sx - 1) |
|
thisx = tty->sx - 1; |
|
thisy = tty->cy; |
thisy = tty->cy; |
|
|
/* No change. */ |
/* No change. */ |
if (cx == thisx && cy == thisy) |
if (cx == thisx && cy == thisy) |
return; |
return; |
|
|
|
/* Very end of the line, just use absolute movement. */ |
|
if (thisx > tty->sx - 1) |
|
goto absolute; |
|
|
/* Move to home position (0, 0). */ |
/* Move to home position (0, 0). */ |
if (cx == 0 && cy == 0 && tty_term_has(term, TTYC_HOME)) { |
if (cx == 0 && cy == 0 && tty_term_has(term, TTYC_HOME)) { |
tty_putcode(tty, TTYC_HOME); |
tty_putcode(tty, TTYC_HOME); |
|
|
} |
} |
} |
} |
|
|
|
absolute: |
/* Absolute movement. */ |
/* Absolute movement. */ |
tty_putcode2(tty, TTYC_CUP, cy, cx); |
tty_putcode2(tty, TTYC_CUP, cy, cx); |
|
|