summaryrefslogtreecommitdiff
path: root/src/com/android/terminal/Terminal.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/terminal/Terminal.java')
-rw-r--r--src/com/android/terminal/Terminal.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/com/android/terminal/Terminal.java b/src/com/android/terminal/Terminal.java
index 7aa7949..b6e981e 100644
--- a/src/com/android/terminal/Terminal.java
+++ b/src/com/android/terminal/Terminal.java
@@ -58,6 +58,7 @@ public class Terminal {
public void onDamage(int startRow, int endRow, int startCol, int endCol);
public void onMoveRect(int destStartRow, int destEndRow, int destStartCol, int destEndCol,
int srcStartRow, int srcEndRow, int srcStartCol, int srcEndCol);
+ public void onMoveCursor(int posRow, int posCol, int oldPosRow, int oldPosCol, int visible);
public void onBell();
}
@@ -68,6 +69,10 @@ public class Terminal {
private TerminalClient mClient;
+ private boolean mCursorVisible;
+ private int mCursorRow;
+ private int mCursorCol;
+
private final TerminalCallbacks mCallbacks = new TerminalCallbacks() {
@Override
public int damage(int startRow, int endRow, int startCol, int endCol) {
@@ -88,6 +93,17 @@ public class Terminal {
}
@Override
+ public int moveCursor(int posRow, int posCol, int oldPosRow, int oldPosCol, int visible) {
+ mCursorVisible = (visible != 0);
+ mCursorRow = posRow;
+ mCursorCol = posCol;
+ if (mClient != null) {
+ mClient.onMoveCursor(posRow, posCol, oldPosRow, oldPosCol, visible);
+ }
+ return 1;
+ }
+
+ @Override
public int bell() {
if (mClient != null) {
mClient.onBell();
@@ -149,6 +165,18 @@ public class Terminal {
}
}
+ public boolean getCursorVisible() {
+ return mCursorVisible;
+ }
+
+ public int getCursorRow() {
+ return mCursorRow;
+ }
+
+ public int getCursorCol() {
+ return mCursorCol;
+ }
+
public String getTitle() {
// TODO: hook up to title passed through termprop
return mTitle;