aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/org/connectbot/TerminalView.java4
-rw-r--r--src/org/connectbot/service/TerminalBridge.java20
2 files changed, 9 insertions, 15 deletions
diff --git a/src/org/connectbot/TerminalView.java b/src/org/connectbot/TerminalView.java
index f7da203..5003190 100644
--- a/src/org/connectbot/TerminalView.java
+++ b/src/org/connectbot/TerminalView.java
@@ -90,6 +90,8 @@ public class TerminalView extends View {
@Override
public void onDraw(Canvas canvas) {
if(bridge.bitmap != null) {
+ // draw the bitmap
+ bridge.onDraw();
// draw the bridge bitmap if it exists
canvas.drawBitmap(bridge.bitmap, 0, 0, paint);
@@ -111,9 +113,7 @@ public class TerminalView extends View {
canvas.drawRect(left * bridge.charWidth, top * bridge.charHeight,
right * bridge.charWidth, bottom * bridge.charHeight, cursorPaint);
}
-
}
-
}
public void notifyUser(String message) {
diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java
index 8bb58ba..57e836c 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/src/org/connectbot/service/TerminalBridge.java
@@ -515,8 +515,6 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener, InteractiveCal
((vt320) buffer).putString(s);
}
-
- redraw();
}
/**
@@ -1121,12 +1119,7 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener, InteractiveCal
return buffer;
}
- public synchronized void redraw() {
- // render our buffer only if we have a surface
- if(parent == null) return;
-
- int lines = 0;
-
+ public void onDraw() {
int fg, bg;
boolean entireDirty = buffer.update[0] || fullRedraw;
@@ -1135,8 +1128,7 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener, InteractiveCal
// check if this line is dirty and needs to be repainted
// also check for entire-buffer dirty flags
- if(!entireDirty && !buffer.update[l + 1]) continue;
- lines++;
+ if (!entireDirty && !buffer.update[l + 1]) continue;
// reset dirty flag for this line
buffer.update[l + 1] = false;
@@ -1197,11 +1189,13 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener, InteractiveCal
// reset entire-buffer flags
buffer.update[0] = false;
fullRedraw = false;
-
- parent.postInvalidate();
-
}
+ public void redraw() {
+ if (parent != null)
+ parent.postInvalidate();
+ }
+
public void updateScrollBar() {
}