Mercurial > hg > Applications > TreeVNC
view src/main/java/com/glavsoft/rfb/client/FramebufferUpdateRequestMessage.java @ 466:8d636adb292c
fix getFbRectangles
author | kono |
---|---|
date | Wed, 13 Jul 2016 15:48:17 +0900 |
parents | aa3822daf75a |
children | 79d614cd91c7 |
line wrap: on
line source
// Copyright (C) 2010, 2011, 2012, 2013 GlavSoft LLC. // All rights reserved. // //------------------------------------------------------------------------- // This file is part of the TightVNC software. Please visit our Web site: // // http://www.tightvnc.com/ // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. //------------------------------------------------------------------------- // package com.glavsoft.rfb.client; import com.glavsoft.exceptions.TransportException; import com.glavsoft.transport.Writer; import java.util.Timer; import java.util.TimerTask; public class FramebufferUpdateRequestMessage implements ClientToServerMessage { private final int height; private final int width; private final int y; private final int x; private boolean sendFullScreenFlag; public FramebufferUpdateRequestMessage(int x, int y, int width, int height, boolean fullScreen) { this.x = x; this.y = y; this.width = width; this.height = height; this.sendFullScreenFlag = fullScreen; // System.out.println(this); // sendFullScreenRequest(); } @Override public void send(Writer writer) throws TransportException { writer.writeByte(FRAMEBUFFER_UPDATE_REQUEST); if(sendFullScreenFlag) { writer.writeByte(0); sendFullScreenFlag = false; } else { writer.writeByte(1); } writer.writeInt16(x); writer.writeInt16(y); writer.writeInt16(width); writer.writeInt16(height); writer.flush(); } @Override public String toString() { return "FramebufferUpdateRequestMessage: [x: " + x + " y: " + y + " width: " + width + " height: " + height + " fullScreen: " + sendFullScreenFlag + "]"; } /** * start send full screen request timer * it is periodically executed * there is no way to stop this */ public void sendFullScreenRequest() { int sendFullScreenTimer = 50 * 1000; TimerTask tt = new TimerTask() { @Override public void run() { sendFullScreenFlag = true; } }; Timer timer = new Timer(); timer.schedule(tt, 0, sendFullScreenTimer); } }