Mercurial > hg > Applications > TreeVNC
comparison src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 419:7e811f33b99d
Adhoc implement multi display
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 01 Jan 2016 02:39:25 +0900 |
parents | c225c7963778 |
children | 0ad52aac3bc3 |
comparison
equal
deleted
inserted
replaced
418:0543c380308c | 419:7e811f33b99d |
---|---|
86 Decoder decoder = new ZRLEESender(rfb); | 86 Decoder decoder = new ZRLEESender(rfb); |
87 decoders.setDecoderByType(EncodingType.ZLIB, decoder); | 87 decoders.setDecoderByType(EncodingType.ZLIB, decoder); |
88 decoders.setDecoderByType(EncodingType.ZRLE, decoder); | 88 decoders.setDecoderByType(EncodingType.ZRLE, decoder); |
89 decoders.setDecoderByType(EncodingType.ZRLEE, decoder); | 89 decoders.setDecoderByType(EncodingType.ZRLEE, decoder); |
90 | 90 |
91 if(!rfb.getCuiVersion()) | 91 if(!rfb.getCuiVersion()) { |
92 if (rfb.filterSingleDisplay) { | 92 if (rfb.filterSingleDisplay) { |
93 renderer = repaintController.createRenderer(reader, context.getFbWidth(), context.getFbHeight(), context.getPixelFormat()); | 93 renderer = repaintController.createRenderer(reader, context.getFbWidth(), context.getFbHeight(), context.getPixelFormat()); |
94 fullscreenFbUpdateIncrementalRequest = new FramebufferUpdateRequestMessage(0, 0, rfb.getSingleWidth(), rfb.getSingleHeight(), false); | 94 fullscreenFbUpdateIncrementalRequest = new FramebufferUpdateRequestMessage(0, 0, rfb.getSingleWidth(), rfb.getSingleHeight(), false); |
95 } else { | 95 } else { |
96 renderer = repaintController.createRenderer(reader, context.getFbWidth(), context.getFbHeight(), context.getPixelFormat()); | 96 renderer = repaintController.createRenderer(reader, context.getFbWidth(), context.getFbHeight(), context.getPixelFormat()); |
97 fullscreenFbUpdateIncrementalRequest = new FramebufferUpdateRequestMessage(0, 0, context.getFbWidth(), context.getFbHeight(), false); | 97 fullscreenFbUpdateIncrementalRequest = new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.frameSizeWidth * rfb.getRetinaScale(), rfb.frameSizeHeight * rfb.getRetinaScale(), false); |
98 } | 98 } |
99 } | |
99 if(rfb.isTreeManager()) { | 100 if(rfb.isTreeManager()) { |
100 fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest(); | 101 fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest(); |
101 connectionFinished(); | 102 connectionFinished(); |
102 if(rfb.fixingSize) { | 103 if(rfb.fixingSize) { |
103 timer = new Timer("framebufferUpdate-request-timer", true); | 104 timer = new Timer("framebufferUpdate-request-timer", true); |
104 timer.schedule(new TimerTask() { | 105 timer.schedule(new TimerTask() { |
105 @Override | 106 @Override |
106 public void run() { | 107 public void run() { |
107 context.setFbWidth(rfb.fixingSizeWidth); | 108 context.setFbWidth(rfb.fixingSizeWidth); |
108 context.setFbHeight(rfb.fixingSizeHeight); | 109 context.setFbHeight(rfb.fixingSizeHeight); |
109 context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, context.getFbWidth(), context.getFbHeight(), true)); | 110 context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.frameSizeWidth * rfb.getRetinaScale(), rfb.frameSizeHeight * rfb.getRetinaScale(), true)); |
110 } | 111 } |
111 }, 0, 100); | 112 }, 0, 100); |
112 } | 113 } |
113 } | 114 } |
114 } | 115 } |
128 // client has 8byte packet sequence number | 129 // client has 8byte packet sequence number |
129 // add serial number flag (4byte) | 130 // add serial number flag (4byte) |
130 reader.mark(20+8+4); | 131 reader.mark(20+8+4); |
131 getLost(reader); //check seq consistency | 132 getLost(reader); //check seq consistency |
132 } else { | 133 } else { |
133 reader.mark(20+8); | 134 reader.mark(20+4); |
134 } | 135 } |
135 | |
136 byte messageId = reader.readByte(); | 136 byte messageId = reader.readByte(); |
137 | |
137 switch (messageId) { | 138 switch (messageId) { |
138 case FRAMEBUFFER_UPDATE: | 139 case FRAMEBUFFER_UPDATE: |
139 // logger.fine("Server message: FramebufferUpdate (0)"); | 140 // logger.fine("Server message: FramebufferUpdate (0)"); |
140 framebufferUpdateMessage(); | 141 framebufferUpdateMessage(); |
141 break; | 142 break; |
356 context.sendMessage(new SetPixelFormatMessage(pixelFormat)); | 357 context.sendMessage(new SetPixelFormatMessage(pixelFormat)); |
357 logger.fine("sent: " + pixelFormat); | 358 logger.fine("sent: " + pixelFormat); |
358 context.sendRefreshMessage(); | 359 context.sendRefreshMessage(); |
359 logger.fine("sent: nonincremental fb update"); | 360 logger.fine("sent: nonincremental fb update"); |
360 } else { | 361 } else { |
361 context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, context.getFbWidth(), context.getFbHeight(), false)); | 362 context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.getSingleWidth() * rfb.getRetinaScale(), rfb.getSingleHeight() * rfb.getRetinaScale(), false)); |
362 } | 363 } |
363 } | 364 } |
364 } | 365 } |
365 } | 366 } |
366 | 367 |