git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
#36 Use image scaling in example
[fanfix.git]
/
src
/
jexer
/
backend
/
ECMA48Terminal.java
diff --git
a/src/jexer/backend/ECMA48Terminal.java
b/src/jexer/backend/ECMA48Terminal.java
index afd153579e961c9637412a32faf73792394ac85f..6085554904320675139608a67329e0bbe33428fe 100644
(file)
--- a/
src/jexer/backend/ECMA48Terminal.java
+++ b/
src/jexer/backend/ECMA48Terminal.java
@@
-44,16
+44,17
@@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
-import java.util.LinkedList;
import jexer.TImage;
import jexer.bits.Cell;
import jexer.bits.CellAttributes;
import jexer.bits.Color;
import jexer.TImage;
import jexer.bits.Cell;
import jexer.bits.CellAttributes;
import jexer.bits.Color;
+import jexer.event.TCommandEvent;
import jexer.event.TInputEvent;
import jexer.event.TKeypressEvent;
import jexer.event.TMouseEvent;
import jexer.event.TResizeEvent;
import jexer.event.TInputEvent;
import jexer.event.TKeypressEvent;
import jexer.event.TMouseEvent;
import jexer.event.TResizeEvent;
+import static jexer.TCommand.*;
import static jexer.TKeypress.*;
/**
import static jexer.TKeypress.*;
/**
@@
-1107,7
+1108,7
@@
public class ECMA48Terminal extends LogicalScreen
reloadOptions();
// Spin up the input reader
reloadOptions();
// Spin up the input reader
- eventQueue = new
Linked
List<TInputEvent>();
+ eventQueue = new
Array
List<TInputEvent>();
readerThread = new Thread(this);
readerThread.start();
readerThread = new Thread(this);
readerThread.start();
@@
-1193,7
+1194,7
@@
public class ECMA48Terminal extends LogicalScreen
reloadOptions();
// Spin up the input reader
reloadOptions();
// Spin up the input reader
- eventQueue = new
Linked
List<TInputEvent>();
+ eventQueue = new
Array
List<TInputEvent>();
readerThread = new Thread(this);
readerThread.start();
readerThread = new Thread(this);
readerThread.start();
@@
-1390,7
+1391,7
@@
public class ECMA48Terminal extends LogicalScreen
// available() will often return > 1, so we need to read in chunks to
// stay caught up.
char [] readBuffer = new char[128];
// available() will often return > 1, so we need to read in chunks to
// stay caught up.
char [] readBuffer = new char[128];
- List<TInputEvent> events = new
Linked
List<TInputEvent>();
+ List<TInputEvent> events = new
Array
List<TInputEvent>();
while (!done && !stopReaderThread) {
try {
while (!done && !stopReaderThread) {
try {
@@
-1472,8
+1473,15
@@
public class ECMA48Terminal extends LogicalScreen
}
} // while ((done == false) && (stopReaderThread == false))
}
} // while ((done == false) && (stopReaderThread == false))
- // TODO: pass an event up to TApplication to tell it this Backend is
- // done.
+ // Pass an event up to TApplication to tell it this Backend is done.
+ synchronized (eventQueue) {
+ eventQueue.add(new TCommandEvent(cmBackendDisconnect));
+ }
+ if (listener != null) {
+ synchronized (listener) {
+ listener.notifyAll();
+ }
+ }
// System.err.println("*** run() exiting..."); System.err.flush();
}
// System.err.println("*** run() exiting..."); System.err.flush();
}