public synchronized boolean previousRow() throws IOException { // Current strategy is to increment updates, a bit dumb, but fast (in memory) and works // correctly if (row > 0) { int previousOffset = 0; int previousIndex = 0; int previousRow = 0; while (previousRow < row - 1) { Pair<Integer, Integer> next = nextRow(previousOffset, previousIndex, width); if (next != null) { previousOffset = next.getFirst(); previousIndex = next.getSecond(); previousRow++; } else { break; } } status = REFRESH; cursorX = cursorY = 0; cursorOffset = offset = previousOffset; cursorIndex = index = previousIndex; row = previousRow; return true; } else { return false; } }
int _index = cursorIndex; while (count < amount) { Pair<Integer, Integer> next = nextRow(_offset, _index, width); if (next != null) { _offset = next.getFirst(); } else { if (nextRow(_offset, _index, 1) != null) { count++; _index = index; for (int i = 0;i < count;i++) { Pair<Integer, Integer> next = nextRow(_offset, _index, width); _offset = next.getFirst(); _index = next.getSecond();
public void testNextRow0() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainting()); assertFalse(buffer.nextRow()); assertTrue(buffer.isPainting()); }
public void testNextRow1() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); buffer.append("abcd"); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertFalse(buffer.nextRow()); assertTrue(buffer.isPainted()); }
public void testNextRow2() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); buffer.append("abcde"); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertTrue(buffer.nextRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainting()); assertFalse(buffer.nextRow()); assertTrue(buffer.isPainting()); buffer.append("fg"); assertTrue(buffer.isPainting()); assertTrue(buffer.paint().isPainted()); assertTrue(buffer.nextRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainting()); }
public void testNextRow3() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); buffer.append("a\nb"); assertFalse(buffer.nextRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainting()); buffer.append("\n"); assertTrue(buffer.isPainting()); assertTrue(buffer.paint().isPainted()); tmp.clear(); assertTrue(buffer.nextRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainting()); assertEquals("b\n", tmp.toString()); }
public void testPreviousRow2() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); buffer.append("a\nb"); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainting()); assertFalse(buffer.nextRow()); buffer.append("\n"); assertTrue(buffer.paint().isPainted()); assertTrue(buffer.nextRow()); tmp.clear(); assertTrue(buffer.previousRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertEquals("a\nb", tmp.toString()); }
public void testPreviewRow3() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); buffer.append("a\nb\nc\nd\ne\nf"); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertTrue(buffer.nextRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertTrue(buffer.nextRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); tmp.clear(); assertTrue(buffer.previousRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertEquals("b\nc", tmp.toString()); }
int _index = cursorIndex; while (count < amount) { Pair<Integer, Integer> next = nextRow(_offset, _index, width); if (next != null) { _offset = next.getFirst(); } else { if (nextRow(_offset, _index, 1) != null) { count++; _index = index; for (int i = 0;i < count;i++) { Pair<Integer, Integer> next = nextRow(_offset, _index, width); _offset = next.getFirst(); _index = next.getSecond();
public synchronized boolean previousRow() throws IOException { // Current strategy is to increment updates, a bit dumb, but fast (in memory) and works // correctly if (row > 0) { int previousOffset = 0; int previousIndex = 0; int previousRow = 0; while (previousRow < row - 1) { Pair<Integer, Integer> next = nextRow(previousOffset, previousIndex, width); if (next != null) { previousOffset = next.getFirst(); previousIndex = next.getSecond(); previousRow++; } else { break; } } status = REFRESH; cursorX = cursorY = 0; cursorOffset = offset = previousOffset; cursorIndex = index = previousIndex; row = previousRow; return true; } else { return false; } }
int _index = cursorIndex; while (count < amount) { Pair<Integer, Integer> next = nextRow(_offset, _index, width); if (next != null) { _offset = next.getFirst(); } else { if (nextRow(_offset, _index, 1) != null) { count++; _index = index; for (int i = 0;i < count;i++) { Pair<Integer, Integer> next = nextRow(_offset, _index, width); _offset = next.getFirst(); _index = next.getSecond();
public synchronized boolean previousRow() throws IOException { // Current strategy is to increment updates, a bit dumb, but fast (in memory) and works // correctly if (row > 0) { int previousOffset = 0; int previousIndex = 0; int previousRow = 0; while (previousRow < row - 1) { Pair<Integer, Integer> next = nextRow(previousOffset, previousIndex, width); if (next != null) { previousOffset = next.getFirst(); previousIndex = next.getSecond(); previousRow++; } else { break; } } status = REFRESH; cursorX = cursorY = 0; cursorOffset = offset = previousOffset; cursorIndex = index = previousIndex; row = previousRow; return true; } else { return false; } }
public void testPreviousRow() throws Exception { TestBuffer tmp = new TestBuffer(2, 2); VirtualScreen buffer = new VirtualScreen(tmp); assertFalse(buffer.previousRow()); buffer.append("abcdef"); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertFalse(buffer.previousRow()); assertTrue(buffer.nextRow()); tmp.clear(); assertTrue(buffer.previousRow()); assertTrue(buffer.isRefresh()); assertTrue(buffer.paint().isPainted()); assertEquals("abcd", tmp.toString()); assertFalse(buffer.previousRow()); }