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) {
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:
playButton.setEnabled(true);
pauseButton.setLabel("Pause");
pauseButton.setEnabled(false);
+ posText.setEditable(true);
break;
}
player.setMode(mode);
} 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()));
}
}
}
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;
}
throw new EOFException("Playback stopped");
}
if (player.getMode() == player.MODE_PLAYBACK) {
- player.fbsStream.resumeReading();
+ player.fbsStream.resumePlayback();
}
}
//
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);
}
}