Mercurial > hg > Applications > TreeVNC
diff src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java @ 239:d655db005535
create sendCheckDelay Socket.
author | oc |
---|---|
date | Sat, 11 Oct 2014 23:46:22 +0900 |
parents | 6ee4cdca104c |
children | 83d0256a8808 |
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java Sat Oct 11 14:15:48 2014 +0900 +++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java Sat Oct 11 23:46:22 2014 +0900 @@ -11,56 +11,48 @@ public class ZRLEESender extends Decoder { - private TreeRFBProto rfb; + private TreeRFBProto rfb; - public ZRLEESender(TreeRFBProto rfb) { - this.rfb = rfb; - } + public ZRLEESender(TreeRFBProto rfb) { + this.rfb = rfb; + } - public ZRLEESender() { - } + public ZRLEESender() { + } - @Override - public void decode(Reader reader, Renderer renderer, - FramebufferUpdateRectangle rect) throws TransportException, UnsupportedEncodingException { - // TreeVNC handling + @Override + public void decode(Reader reader, Renderer renderer, + FramebufferUpdateRectangle rect) throws TransportException, UnsupportedEncodingException { + // TreeVNC handling int dataLen = getZrleLength(rect, reader); byte[] bytes = new byte[rect.width * rect.height * renderer.getBytesPerPixel()]; reader.reset(); - if (rfb.hasViewer()) { - ZRLEDecoder decoder = new ZRLEDecoder(); - if (rfb.isTreeManager()) { + if (rfb.hasViewer()) { + ZRLEDecoder decoder = new ZRLEDecoder(); + if (rfb.isTreeManager()) { rfb.readSendData(dataLen, reader, bytes); - decoder.decode1(renderer, rect, bytes, 0); - return; - } else if (!rfb.getCuiVersion()) { + decoder.decode1(renderer, rect, bytes, 0); + return; + } else if (!rfb.getCuiVersion()) { rfb.readSendData(dataLen, reader, null); reader.reset(); reader.skip(16); - decoder.decode(reader, renderer, rect); - return; - } - } - rfb.readSendData(dataLen, reader, bytes); - } + decoder.decode(reader, renderer, rect); + return; + } + } + rfb.readSendData(dataLen, reader, bytes); + } - private int getZrleLength(FramebufferUpdateRectangle rect, Reader reader) - throws TransportException { - int zrleLength = 0; - if (rect.getEncodingType() == EncodingType.ZRLE - || rect.getEncodingType() == EncodingType.ZRLEE - || rect.getEncodingType() == EncodingType.ZLIB) { - zrleLength = reader.readInt32(); - } - return zrleLength + 20; - } + private int getZrleLength(FramebufferUpdateRectangle rect, Reader reader) + throws TransportException { + int zrleLength = 0; + if (rect.getEncodingType() == EncodingType.ZRLE + || rect.getEncodingType() == EncodingType.ZRLEE + || rect.getEncodingType() == EncodingType.ZLIB) { + zrleLength = reader.readInt32(); + } + return zrleLength + 20; + } - public void readCheckDelay(Reader reader) { - try { - reader.reset(); - rfb.readCheckDelay(reader); - } catch (TransportException e) { - e.printStackTrace(); - } - } }