git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge
[nikiroo-utils.git]
/
src
/
jexer
/
io
/
Screen.java
diff --git
a/src/jexer/io/Screen.java
b/src/jexer/io/Screen.java
index 81dabd246a8f607a4c87994c70a65880482eda0a..1ecc4b185e0ee1eb8352211882c55bb39003d27b 100644
(file)
--- a/
src/jexer/io/Screen.java
+++ b/
src/jexer/io/Screen.java
@@
-183,7
+183,17
@@
public abstract class Screen {
/**
* When true, logical != physical.
*/
/**
* When true, logical != physical.
*/
- protected boolean dirty;
+ protected volatile boolean dirty;
+
+ /**
+ * Get dirty flag.
+ *
+ * @return if true, the logical screen is not in sync with the physical
+ * screen
+ */
+ public final boolean isDirty() {
+ return dirty;
+ }
/**
* Set if the user explicitly wants to redraw everything starting with a
/**
* Set if the user explicitly wants to redraw everything starting with a
@@
-215,7
+225,6
@@
public abstract class Screen {
* @return attributes at (x, y)
*/
public final CellAttributes getAttrXY(final int x, final int y) {
* @return attributes at (x, y)
*/
public final CellAttributes getAttrXY(final int x, final int y) {
-
CellAttributes attr = new CellAttributes();
if ((x >= 0) && (x < width) && (y >= 0) && (y < height)) {
attr.setTo(logical[x][y]);
CellAttributes attr = new CellAttributes();
if ((x >= 0) && (x < width) && (y >= 0) && (y < height)) {
attr.setTo(logical[x][y]);
@@
-581,12
+590,24
@@
public abstract class Screen {
}
/**
}
/**
- *
Force the screen to be fully cleared and redrawn on the next flush()
.
+ *
Clear the logical screen
.
*/
public final void clear() {
reset();
}
*/
public final void clear() {
reset();
}
+ /**
+ * Clear the physical screen.
+ */
+ public final void clearPhysical() {
+ dirty = true;
+ for (int row = 0; row < height; row++) {
+ for (int col = 0; col < width; col++) {
+ physical[col][row].reset();
+ }
+ }
+ }
+
/**
* Draw a box with a border and empty background.
*
/**
* Draw a box with a border and empty background.
*