Mercurial > hg > Members > riono > TreeVNC_ja_comment
comparison src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java @ 183:6f452c497e0e
fix readSendData.
author | oc |
---|---|
date | Mon, 23 Jun 2014 20:37:58 +0900 |
parents | b3426724667b |
children | 032b1bcc6ab4 |
comparison
equal
deleted
inserted
replaced
182:b3426724667b | 183:6f452c497e0e |
---|---|
21 @Override | 21 @Override |
22 public void decode(Reader reader, Renderer renderer, | 22 public void decode(Reader reader, Renderer renderer, |
23 FramebufferUpdateRectangle rect) throws TransportException { | 23 FramebufferUpdateRectangle rect) throws TransportException { |
24 int dataLen = getZrleLength(rect, reader); | 24 int dataLen = getZrleLength(rect, reader); |
25 reader.reset(); | 25 reader.reset(); |
26 byte[] bytes = new byte[dataLen]; | 26 byte[] bytes = new byte[rect.width * rect.height * renderer.getBytesPerPixel()]; |
27 // TreeVNC handling | 27 // TreeVNC handling |
28 rfb.readSendData(dataLen, reader, bytes); | 28 rfb.readSendData(dataLen, reader, bytes); |
29 // reader is reseted read again | 29 // reader is reseted read again |
30 | 30 |
31 if (rfb.hasViewer()) { | 31 if (rfb.hasViewer()) { |
34 if (!rfb.isRoot()) | 34 if (!rfb.isRoot()) |
35 reader.readBytes(8); | 35 reader.readBytes(8); |
36 reader.readByte();// message | 36 reader.readByte();// message |
37 reader.readByte();// padding | 37 reader.readByte();// padding |
38 reader.readUInt16();// numberOfRectangle | 38 reader.readUInt16();// numberOfRectangle |
39 rect.fill(reader);// fill | 39 reader.skypBytes(12); |
40 ZRLEDecoder decoder = new ZRLEDecoder(); | 40 ZRLEDecoder decoder = new ZRLEDecoder(); |
41 if (rfb.isRoot()) | 41 if (rfb.isRoot()) |
42 decoder.decode1(reader, renderer, rect, bytes, dataLen); | 42 decoder.decode1(reader, renderer, rect, bytes, 0); |
43 else if (!rfb.getCuiVersion()) | 43 else if (!rfb.getCuiVersion()) |
44 decoder.decode(reader, renderer, rect); | 44 decoder.decode(reader, renderer, rect); |
45 else { | 45 else { |
46 reader.readBytes((int) reader.readUInt32()); | 46 reader.readBytes((int) reader.readUInt32()); |
47 } | 47 } |