diff src/main/java/jp/ac/u_ryukyu/treevnc/ScreenChangeRequest.java @ 410:da1d6d6b4981

Enable retina scale to fit screen
author innparusu
date Thu, 19 Nov 2015 15:19:29 +0900
parents cdab1354e227
children c225c7963778
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/ScreenChangeRequest.java	Thu Nov 19 14:43:30 2015 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/ScreenChangeRequest.java	Thu Nov 19 15:19:29 2015 +0900
@@ -18,25 +18,27 @@
 	 */
 	public class ScreenChangeRequest implements ClientToServerMessage {
 		final String bytes;
-		private short id;
+        private final int scale;
+        private short id;
         private int frameSizeWidth;
         private int frameSizeHeight;
         private int port;
         private int shareScreenNumber;
 
-        public ScreenChangeRequest(String adr, int port, short id, int width, int height, int shareScreenNumber) {
+        public ScreenChangeRequest(String adr, int port, short id, int width, int height, int shareScreenNumber, int scale) {
 			this.bytes = adr;
             this.port = port;
 			this.id = id;
             this.frameSizeWidth = width;
             this.frameSizeHeight = height;
             this.shareScreenNumber = shareScreenNumber;
+            this.scale = scale;
 			System.out.println("Client send change screen server request :" + adr);
 		}
 
         @Override
         public void send(Writer writer) throws TransportException {
-            ByteBuffer out = ByteBuffer.allocate(bytes.length()+25);
+            ByteBuffer out = ByteBuffer.allocate(bytes.length()+29);
             out.order(ByteOrder.BIG_ENDIAN);
             out.put(SERVER_CHANGE_REQUEST);
             out.put((byte)0); // padding
@@ -47,6 +49,7 @@
             out.putInt(frameSizeHeight);
             out.putInt(port);
             out.putInt(shareScreenNumber);
+            out.putInt(scale);
             writer.write(out.array(), 0, out.position());
             writer.flush();
         }