diff options
author | Constantin Kaplinsky <const@tightvnc.com> | 2002-05-29 10:59:52 +0000 |
---|---|---|
committer | Constantin Kaplinsky <const@tightvnc.com> | 2002-05-29 10:59:52 +0000 |
commit | 30f786aea60a43569796ae24bc0dfa06144f35a5 (patch) | |
tree | 1d89ace3b5d2c0167d5170ad7c628a27223f550f /java/src/com | |
parent | fe079839e4bc1e84d902e7682330c7726a4a0a4f (diff) | |
download | tigervnc-30f786aea60a43569796ae24bc0dfa06144f35a5.tar.gz tigervnc-30f786aea60a43569796ae24bc0dfa06144f35a5.zip |
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
Diffstat (limited to 'java/src/com')
-rw-r--r-- | java/src/com/tightvnc/rfbplayer/ButtonPanel.java | 9 | ||||
-rw-r--r-- | java/src/com/tightvnc/rfbplayer/FbsInputStream.java | 15 | ||||
-rw-r--r-- | java/src/com/tightvnc/rfbplayer/RfbPlayer.java | 4 | ||||
-rw-r--r-- | 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); } } |