diff options
author | Kenny Root <kenny@the-b.org> | 2009-08-08 05:51:24 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-08-08 05:51:24 +0000 |
commit | e04c843239dd3fe688d8e46c736940dac6d02f64 (patch) | |
tree | 704b28376479c45930340fbe1b94f0558ae8aa4e | |
parent | 0406fca7d12e2f7ca4946717cfac670b1f26ad8d (diff) | |
download | connectbot-e04c843239dd3fe688d8e46c736940dac6d02f64.tar.gz connectbot-e04c843239dd3fe688d8e46c736940dac6d02f64.tar.bz2 connectbot-e04c843239dd3fe688d8e46c736940dac6d02f64.zip |
Fix cursor positioning at EOL
The cursor should appear to stay at the end of the line until the next
character typed would cause it to wrap to the next line.
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@383 df292f66-193f-0410-a5fc-6d59da041ff2
-rw-r--r-- | AndroidManifest.xml | 2 | ||||
-rw-r--r-- | src/org/connectbot/TerminalView.java | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 8307a14..467dad9 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,7 +2,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.connectbot" android:versionName="1.6-dev" - android:versionCode="183"> + android:versionCode="184"> <application android:icon="@drawable/icon" diff --git a/src/org/connectbot/TerminalView.java b/src/org/connectbot/TerminalView.java index 5eb7e24..217e16e 100644 --- a/src/org/connectbot/TerminalView.java +++ b/src/org/connectbot/TerminalView.java @@ -148,13 +148,19 @@ public class TerminalView extends View implements FontSizeChangedListener { canvas.drawBitmap(bridge.bitmap, 0, 0, paint); // also draw cursor if visible - if(bridge.buffer.isCursorVisible()) { + if (bridge.buffer.isCursorVisible()) { + int cursorColumn = bridge.buffer.getCursorColumn(); + int columns = bridge.buffer.getColumns(); + + if (cursorColumn == columns) + cursorColumn = columns - 1; + int currentAttribute = bridge.buffer.getAttributes( - bridge.buffer.getCursorColumn(), + cursorColumn, bridge.buffer.getCursorRow()); boolean onWideCharacter = (currentAttribute & VDUBuffer.FULLWIDTH) != 0; - int x = bridge.buffer.getCursorColumn() * bridge.charWidth; + int x = cursorColumn * bridge.charWidth; int y = (bridge.buffer.getCursorRow() + bridge.buffer.screenBase - bridge.buffer.windowBase) * bridge.charHeight; |