comparison src/main/java/com/glavsoft/rfb/protocol/TreeTask.java @ 24:1fe39e8ba3e9

remove RICH_CURSOR and CURSOR_POS
author one
date Thu, 30 Aug 2012 15:13:34 +0900
parents 6a4312344a5a
children 73b13bc335c2
comparison
equal deleted inserted replaced
23:6a4312344a5a 24:1fe39e8ba3e9
25 super(reader, repaintController, clipboardController, decoders, 25 super(reader, repaintController, clipboardController, decoders,
26 context, true); 26 context, true);
27 rfb = _rfb; 27 rfb = _rfb;
28 } 28 }
29 29
30 /*
31 * (non-Javadoc)
32 * proxy
33 * no Repaint
34 * decoder!=0 ZRLE -> ZRLEE
35 * readSendData();
36 * client
37 * Repaint
38 * no context.send();
39 * if necessary ZRLEE -> ZRLE
40 * readSendData();
41 */
30 @Override 42 @Override
31 public void framebufferUpdateMessage() throws CommonException { 43 public void framebufferUpdateMessage() throws CommonException {
32 reader.readByte(); // padding 44 reader.readByte(); // padding
33 int numberOfRectangles = reader.readUInt16(); // number of rectangles 45 int numberOfRectangles = reader.readUInt16(); // number of rectangles
34 46
37 rect.fill(reader); 49 rect.fill(reader);
38 50
39 Decoder decoder = decoders.getDecoderByType(rect.getEncodingType()); 51 Decoder decoder = decoders.getDecoderByType(rect.getEncodingType());
40 logger.finest(rect.toString() + (0 == numberOfRectangles ? "\n---" : "")); 52 logger.finest(rect.toString() + (0 == numberOfRectangles ? "\n---" : ""));
41 if (decoder != null) { 53 if (decoder != null) {
42 /*
43 decoder.decode(reader, renderer, rect);
44 repaintController.repaintBitmap(rect);
45 */
46 int zrleLength = getZrleLength(rect); 54 int zrleLength = getZrleLength(rect);
47 reader.reset(); 55 reader.reset();
48 rfb.readSendData(zrleLength, reader); 56 rfb.readSendData(zrleLength, reader);
49
50 } else if (rect.getEncodingType() == EncodingType.RICH_CURSOR) { 57 } else if (rect.getEncodingType() == EncodingType.RICH_CURSOR) {
51 RichCursorDecoder.getInstance().decode(reader, renderer, rect);
52 repaintController.repaintCursor();
53 } else if (rect.getEncodingType() == EncodingType.CURSOR_POS) { 58 } else if (rect.getEncodingType() == EncodingType.CURSOR_POS) {
54 renderer.decodeCursorPosition(rect);
55 repaintController.repaintCursor();
56 } else if (rect.getEncodingType() == EncodingType.DESKTOP_SIZE) { 59 } else if (rect.getEncodingType() == EncodingType.DESKTOP_SIZE) {
57 fullscreenFbUpdateIncrementalRequest = 60 fullscreenFbUpdateIncrementalRequest =
58 new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, true); 61 new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, true);
59 synchronized (renderer) {
60 renderer = repaintController.createRenderer(reader, rect.width, rect.height,
61 context.getPixelFormat());
62 }
63 context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, false)); 62 context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, false));
64 // repaintController.repaintCursor();
65 } else 63 } else
66 throw new CommonException("Unprocessed encoding: " + rect.toString()); 64 throw new CommonException("Unprocessed encoding: " + rect.toString());
67 } 65 }
68 synchronized (this) { 66 synchronized (this) {
69 if (needSendPixelFormat) { 67 if (needSendPixelFormat) {
84 int zrleLength = 0; 82 int zrleLength = 0;
85 if (rect.getEncodingType() == EncodingType.ZRLE 83 if (rect.getEncodingType() == EncodingType.ZRLE
86 || rect.getEncodingType() == EncodingType.ZRLEE 84 || rect.getEncodingType() == EncodingType.ZRLEE
87 || rect.getEncodingType() == EncodingType.ZLIB) { 85 || rect.getEncodingType() == EncodingType.ZLIB) {
88 zrleLength = reader.readInt32(); 86 zrleLength = reader.readInt32();
89 ;
90 } 87 }
91 return zrleLength + 20; 88 return zrleLength + 20;
92 } 89 }
93 90
94 } 91 }