annotate src/main/java/jp/ac/u_ryukyu/treevnc/ChangeDesktopSize.java @ 448:344a35b7c47f

send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 18 Jun 2016 20:09:46 +0900
parents 614057b86122
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
440
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
1 package jp.ac.u_ryukyu.treevnc;
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
2
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
3 import com.glavsoft.rfb.encoding.EncodingType;
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
4
440
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
5 import java.nio.ByteBuffer;
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
6 import java.nio.ByteOrder;
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
7
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
8 public class ChangeDesktopSize {
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
9
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
10 private ByteBuffer msg;
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
11
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
12 public ChangeDesktopSize(int fbwidth, int fbheight,int width, int height,
441
cee43ceac9b3 send thatscreen position INIT_DATA
one
parents: 440
diff changeset
13 int x, int y, EncodingType desktopSize, byte[] initData, short id) {
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
14 msg = ByteBuffer.allocate(16+10+initData.length).order(ByteOrder.BIG_ENDIAN);
440
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
15 msg.put((byte) 0); // FrameBufferUpdate
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
16 msg.put((byte) 0); // padding
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
17 msg.putShort((short) 1); // number of rectangle
441
cee43ceac9b3 send thatscreen position INIT_DATA
one
parents: 440
diff changeset
18 msg.putShort((short) x);
cee43ceac9b3 send thatscreen position INIT_DATA
one
parents: 440
diff changeset
19 msg.putShort((short) y);
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
20 msg.putShort((short) fbwidth);
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
21 msg.putShort((short) fbheight);
440
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
22 msg.putInt(desktopSize.getId());
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
23 msg.putInt(initData.length+6);
441
cee43ceac9b3 send thatscreen position INIT_DATA
one
parents: 440
diff changeset
24 msg.putShort(id);
448
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
25 msg.putShort((short) width);
344a35b7c47f send both frame buffer size and selected screen size in Disktop size change (INIT_DATA)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 442
diff changeset
26 msg.putShort((short)height);
440
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
27 msg.put(initData);
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
28 msg.flip();
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
29
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
30 }
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
31
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
32 public ByteBuffer getMessage(){
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
33 return msg;
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
34 }
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
35
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
36
eaf6dbcb42dc fix filename
mir3636
parents:
diff changeset
37 }