diff --git a/src/main/java/com/gregor/jprototerm/Compositor.java b/src/main/java/com/gregor/jprototerm/Compositor.java index 1db1a69..6a57cea 100644 --- a/src/main/java/com/gregor/jprototerm/Compositor.java +++ b/src/main/java/com/gregor/jprototerm/Compositor.java @@ -244,8 +244,7 @@ public final class Compositor { drawTabBar(gc, canvas.getWidth(), topInset); } for (TerminalPane pane : panes) { - pane.paintFull(gc, isActive(pane)); - paneContentVersion.put(pane, pane.contentVersion()); + paneContentVersion.put(pane, pane.paintFull(gc, isActive(pane))); } } @@ -262,8 +261,7 @@ public final class Compositor { if (drawn != null && drawn == pane.contentVersion()) { continue; } - pane.paintIncremental(gc, isActive(pane)); - paneContentVersion.put(pane, pane.contentVersion()); + paneContentVersion.put(pane, pane.paintIncremental(gc, isActive(pane))); } } diff --git a/src/main/java/com/gregor/jprototerm/TerminalPane.java b/src/main/java/com/gregor/jprototerm/TerminalPane.java index 05961ec..a44f962 100644 --- a/src/main/java/com/gregor/jprototerm/TerminalPane.java +++ b/src/main/java/com/gregor/jprototerm/TerminalPane.java @@ -283,13 +283,15 @@ public final class TerminalPane implements AutoCloseable, RenderTarget { } /** Paint the whole pane; see {@link TerminalRenderer#paintFull}. */ - public void paintFull(GraphicsContext gc, boolean active) { + public long paintFull(GraphicsContext gc, boolean active) { renderer.paintFull(gc, this, active); + return snapshotVersion; } /** Repaint what changed; see {@link TerminalRenderer#paintIncremental}. */ - public void paintIncremental(GraphicsContext gc, boolean active) { + public long paintIncremental(GraphicsContext gc, boolean active) { renderer.paintIncremental(gc, this, active); + return snapshotVersion; } @Override