view src/main/java/jp/ac/u_ryukyu/treevnc/UpdateRectangleMessage.java @ 227:2cb2279ca95c

send checkdelay time.
author Miwa Oshiro <e115747@ie.u-ryukyu.ac.jp>
date Mon, 06 Oct 2014 10:57:55 +0900
parents b7247e31b5ba
children 5eb8aa65f387
line wrap: on
line source

package jp.ac.u_ryukyu.treevnc;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;

import com.glavsoft.rfb.encoding.EncodingType;

public class UpdateRectangleMessage {

	private ByteBuffer msg;
	

	public UpdateRectangleMessage(int i, int j, int width, int height, long time,
			EncodingType desktopSize) {
		msg = ByteBuffer.allocate(24).order(ByteOrder.BIG_ENDIAN);
		msg.put((byte) 0); // FrameBufferUpdate
		msg.put((byte) 0); // padding
		msg.putShort((short) 1234); // number of rectangle
		msg.putShort((short) i);
		msg.putShort((short) j);
		msg.putShort((short) width);
		msg.putShort((short) height);
		msg.putInt(desktopSize.getId());
		msg.putLong(time);
		
		msg.flip();

	}
	
	public UpdateRectangleMessage(int width, int height,
			EncodingType desktopSize, byte[] initData, short id) {
		msg = ByteBuffer.allocate(16+4+initData.length).order(ByteOrder.BIG_ENDIAN);
		msg.put((byte) 0); // FrameBufferUpdate
		msg.put((byte) 0); // padding
		msg.putShort((short) 1); // number of rectangle
		msg.putShort((short) id);
		msg.putShort((short) 0);
		msg.putShort((short) width);
		msg.putShort((short) height);
		msg.putInt(desktopSize.getId());
		msg.putInt(initData.length);
		msg.put(initData);
		
		msg.flip();

	}
	
	public ByteBuffer getMessage(){
		return msg;
	}

	
}