From 30f786aea60a43569796ae24bc0dfa06144f35a5 Mon Sep 17 00:00:00 2001 From: Constantin Kaplinsky Date: Wed, 29 May 2002 10:59:52 +0000 Subject: [PATCH] Made the position field editable in paused and stopped modes. Preparing for implementation of seeking to an arbitrary point. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2508 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- java/src/com/tightvnc/rfbplayer/ButtonPanel.java | 9 +++++++-- .../com/tightvnc/rfbplayer/FbsInputStream.java | 15 ++++++++++++++- java/src/com/tightvnc/rfbplayer/RfbPlayer.java | 4 ++++ java/src/com/tightvnc/rfbplayer/VncCanvas.java | 7 ++++--- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/java/src/com/tightvnc/rfbplayer/ButtonPanel.java b/java/src/com/tightvnc/rfbplayer/ButtonPanel.java index 62fa88b3..1a9db17f 100644 --- a/java/src/com/tightvnc/rfbplayer/ButtonPanel.java +++ b/java/src/com/tightvnc/rfbplayer/ButtonPanel.java @@ -45,9 +45,9 @@ class ButtonPanel extends Panel implements ActionListener { add(pauseButton); pauseButton.addActionListener(this); - posText = new TextField(4); - posText.setEditable(false); + posText = new TextField(5); add(posText); + posText.addActionListener(this); } public void setMode(int mode) { @@ -57,12 +57,14 @@ class ButtonPanel extends Panel implements ActionListener { playButton.setEnabled(true); pauseButton.setLabel("Pause"); pauseButton.setEnabled(true); + posText.setEditable(false); break; case RfbPlayer.MODE_PAUSED: playButton.setLabel("Stop"); playButton.setEnabled(true); pauseButton.setLabel("Resume"); pauseButton.setEnabled(true); + posText.setEditable(true); break; default: // case RfbPlayer.MODE_STOPPED: @@ -70,6 +72,7 @@ class ButtonPanel extends Panel implements ActionListener { playButton.setEnabled(true); pauseButton.setLabel("Pause"); pauseButton.setEnabled(false); + posText.setEditable(true); break; } player.setMode(mode); @@ -99,6 +102,8 @@ class ButtonPanel extends Panel implements ActionListener { } else if (evt.getSource() == pauseButton) { setMode((player.getMode() == RfbPlayer.MODE_PAUSED) ? RfbPlayer.MODE_PLAYBACK : RfbPlayer.MODE_PAUSED); + } else if (evt.getSource() == posText) { + player.setPos(Integer.parseInt(posText.getText())); } } } diff --git a/java/src/com/tightvnc/rfbplayer/FbsInputStream.java b/java/src/com/tightvnc/rfbplayer/FbsInputStream.java index 59418d9e..30ee42b1 100644 --- a/java/src/com/tightvnc/rfbplayer/FbsInputStream.java +++ b/java/src/com/tightvnc/rfbplayer/FbsInputStream.java @@ -106,7 +106,20 @@ class FbsInputStream extends InputStream { return (int)(timeOffset / 1000); } - public void resumeReading() + public void setPos(int pos) + { + } + + public boolean isSeeking() + { + return false; + } + + public void pausePlayback() + { + } + + public void resumePlayback() { startTime = System.currentTimeMillis() - timeOffset; } diff --git a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java index 741736eb..16b3889a 100644 --- a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java +++ b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java @@ -194,6 +194,10 @@ public class RfbPlayer extends java.applet.Applet } } + public void setPos(int pos) { + fbsStream.setPos(pos); + } + public void updatePos() { buttonPanel.setPos(fbsStream.getPos()); } diff --git a/java/src/com/tightvnc/rfbplayer/VncCanvas.java b/java/src/com/tightvnc/rfbplayer/VncCanvas.java index f421df59..e0d9994d 100644 --- a/java/src/com/tightvnc/rfbplayer/VncCanvas.java +++ b/java/src/com/tightvnc/rfbplayer/VncCanvas.java @@ -225,7 +225,7 @@ class VncCanvas extends Canvas { throw new EOFException("Playback stopped"); } if (player.getMode() == player.MODE_PLAYBACK) { - player.fbsStream.resumeReading(); + player.fbsStream.resumePlayback(); } } @@ -828,8 +828,9 @@ class VncCanvas extends Canvas { // void scheduleRepaint(int x, int y, int w, int h) { - // Request repaint, deferred if necessary. - repaint(player.deferScreenUpdates, x, y, w, h); + // Request repaint if not in the seeking mode. + if (!player.fbsStream.isSeeking()) + repaint(player.deferScreenUpdates, x, y, w, h); } } -- 2.39.5