comparison src/main/java/com/glavsoft/rfb/client/FramebufferUpdateRequestMessage.java @ 59:433c79184c05

merge version2.7.2
author Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
date Tue, 17 Dec 2013 20:16:48 +0900
parents 17b702648079 913d0f663e74
children d9cf08c6415c
comparison
equal deleted inserted replaced
58:9d4c4b64acb5 59:433c79184c05
22 //------------------------------------------------------------------------- 22 //-------------------------------------------------------------------------
23 // 23 //
24 24
25 package com.glavsoft.rfb.client; 25 package com.glavsoft.rfb.client;
26 26
27 import java.util.Timer;
28 import java.util.TimerTask;
29
27 import com.glavsoft.exceptions.TransportException; 30 import com.glavsoft.exceptions.TransportException;
28 import com.glavsoft.transport.Writer; 31 import com.glavsoft.transport.Writer;
29 32
30 33
31 public class FramebufferUpdateRequestMessage implements ClientToServerMessage { 34 public class FramebufferUpdateRequestMessage implements ClientToServerMessage {
32 private final boolean incremental; 35 private final boolean incremental;
33 private final int height; 36 private final int height;
34 private final int width; 37 private final int width;
35 private final int y; 38 private final int y;
36 private final int x; 39 private final int x;
37 40
41 private boolean sendFullScreenFlag;
42
38 public FramebufferUpdateRequestMessage(int x, int y, int width, 43 public FramebufferUpdateRequestMessage(int x, int y, int width,
39 int height, boolean incremental) { 44 int height, boolean incremental) {
40 this.x = x; 45 this.x = x;
41 this.y = y; 46 this.y = y;
42 this.width = width; 47 this.width = width;
43 this.height = height; 48 this.height = height;
44 this.incremental = incremental; 49 this.incremental = incremental;
50 // sendFullScreenRequest();
45 } 51 }
46 52
47 @Override 53 @Override
48 public void send(Writer writer) throws TransportException { 54 public void send(Writer writer) throws TransportException {
49 writer.writeByte(FRAMEBUFFER_UPDATE_REQUEST); 55 writer.writeByte(FRAMEBUFFER_UPDATE_REQUEST);
50 writer.writeByte(incremental ? 1 : 0); 56 if(sendFullScreenFlag) {
57 writer.writeByte(0);
58 sendFullScreenFlag = false;
59 } else {
60 writer.writeByte(incremental ? 1 : 0);
61 }
51 writer.writeInt16(x); 62 writer.writeInt16(x);
52 writer.writeInt16(y); 63 writer.writeInt16(y);
53 writer.writeInt16(width); 64 writer.writeInt16(width);
54 writer.writeInt16(height); 65 writer.writeInt16(height);
55 writer.flush(); 66 writer.flush();
59 public String toString() { 70 public String toString() {
60 return "FramebufferUpdateRequestMessage: [x: " + x + " y: " + y 71 return "FramebufferUpdateRequestMessage: [x: " + x + " y: " + y
61 + " width: " + width + " height: " + height + 72 + " width: " + width + " height: " + height +
62 " incremental: " + incremental + "]"; 73 " incremental: " + incremental + "]";
63 } 74 }
64 75
76 public void sendFullScreenRequest() {
77 int sendFullScreenTimer = 5 * 1000;
78 TimerTask tt = new TimerTask() {
79 @Override
80 public void run() {
81 System.out.println("fullscreen");
82 sendFullScreenFlag = true;
83 }
84 };
85 Timer timer = new Timer();
86 timer.schedule(tt, 0, sendFullScreenTimer);
87 }
65 } 88 }