Mercurial > hg > Members > riono > TreeVNC_ja_comment
comparison src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 441:cee43ceac9b3
send thatscreen position INIT_DATA
author | one |
---|---|
date | Thu, 16 Jun 2016 21:08:19 +0900 |
parents | 3a97a014d7ee |
children | 614057b86122 |
comparison
equal
deleted
inserted
replaced
440:eaf6dbcb42dc | 441:cee43ceac9b3 |
---|---|
292 boolean visible = true; | 292 boolean visible = true; |
293 | 293 |
294 if (rect.getEncodingType() == EncodingType.INIT_DATA) { | 294 if (rect.getEncodingType() == EncodingType.INIT_DATA) { |
295 // VNCServer is changed, initiarize new screen. | 295 // VNCServer is changed, initiarize new screen. |
296 int length = reader.readInt32(); | 296 int length = reader.readInt32(); |
297 byte[] initData = new byte[length]; | 297 short id = reader.readInt16(); |
298 byte[] initData = new byte[length-2]; | |
298 reader.read(initData); | 299 reader.read(initData); |
299 String name = new String(initData, 24, length - 24, "UTF-8"); | 300 String name = new String(initData, 24, length - 24, "UTF-8"); |
300 context.setRemoteDesktopName(name); | 301 context.setRemoteDesktopName(name); |
301 context.setInitData(initData); | 302 context.setInitData(initData); |
302 context.setFbWidth(rect.width); | 303 context.setFbWidth(rect.width); |
303 context.setFbHeight(rect.height); | 304 context.setFbHeight(rect.height); |
305 context.setX(rect.x); | |
306 context.setY(rect.y); | |
304 repaintController.updateRemoteDesktopName(context); | 307 repaintController.updateRemoteDesktopName(context); |
305 reader.reset(); | 308 reader.reset(); |
306 // All children multicastqueue should be discarded here. | 309 // All children multicastqueue should be discarded here. |
307 // rfb.clearChildrenTransmission(); | 310 // rfb.clearChildrenTransmission(); |
308 rfb.readSendData(length + 20, reader, null, rect); // size of UpdateRectangleMessage with initData. | 311 rfb.readSendData(length + 20, reader, null, rect); // size of UpdateRectangleMessage with initData. |
309 short id = (short) rect.x; | |
310 visible = (id != rfb.getId()); | 312 visible = (id != rfb.getId()); |
311 } | 313 } |
312 synchronized (renderer.getLock()) { | 314 synchronized (renderer.getLock()) { |
313 if (!(rfb.getCuiVersion())) { | 315 if (!(rfb.getCuiVersion())) { |
314 renderer = repaintController.createRenderer(reader, rect.width, rect.height, context.getPixelFormat()); | 316 renderer = repaintController.createRenderer(reader, rect.width, rect.height, context.getPixelFormat()); |
319 } | 321 } |
320 if (rfb.hasViewer()){ | 322 if (rfb.hasViewer()){ |
321 rfb.getViewer().setFitScreen(); | 323 rfb.getViewer().setFitScreen(); |
322 } | 324 } |
323 if (rfb.isTreeManager()) { | 325 if (rfb.isTreeManager()) { |
324 context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, false)); | 326 context.sendMessage(new FramebufferUpdateRequestMessage(rect.x, rect.y, rect.width, rect.height, false)); |
325 } | 327 } |
326 | 328 |
327 } else if (rect.getEncodingType() == EncodingType.CHECK_DELAY) { | 329 } else if (rect.getEncodingType() == EncodingType.CHECK_DELAY) { |
328 int checkDelaySize = 24; | 330 int checkDelaySize = 24; |
329 int port = rfb.acceptPort; | 331 int port = rfb.acceptPort; |