From af15db239a665030087fe146b20d4b3213708f3d Mon Sep 17 00:00:00 2001 From: Brian Hinz Date: Sun, 12 Feb 2012 20:44:29 +0000 Subject: Adds support for fence & continuous updates extensions to java viewer. Adds low level hooks for TurboVNC fine grained quality controls. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4847 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- java/com/tigervnc/rfb/CMsgReaderV3.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'java/com/tigervnc/rfb/CMsgReaderV3.java') diff --git a/java/com/tigervnc/rfb/CMsgReaderV3.java b/java/com/tigervnc/rfb/CMsgReaderV3.java index 6d9e254b..915b1e01 100644 --- a/java/com/tigervnc/rfb/CMsgReaderV3.java +++ b/java/com/tigervnc/rfb/CMsgReaderV3.java @@ -51,6 +51,8 @@ public class CMsgReaderV3 extends CMsgReader { case MsgTypes.msgTypeSetColourMapEntries: readSetColourMapEntries(); break; case MsgTypes.msgTypeBell: readBell(); break; case MsgTypes.msgTypeServerCutText: readServerCutText(); break; + case MsgTypes.msgTypeServerFence: readFence(); break; + case MsgTypes.msgTypeEndOfContinuousUpdates: readEndOfContinuousUpdates(); break; default: vlog.error("unknown message type "+type); throw new Exception("unknown message type"); @@ -136,6 +138,33 @@ public class CMsgReaderV3 extends CMsgReader { handler.setExtendedDesktopSize(x, y, w, h, layout); } + void readFence() + { + int flags; + int len; + byte[] data = new byte[64]; + + is.skip(3); + + flags = is.readU32(); + + len = is.readU8(); + if (len > data.length) { + System.out.println("Ignoring fence with too large payload\n"); + is.skip(len); + return; + } + + is.readBytes(data, 0, len); + + handler.fence(flags, len, data); + } + + void readEndOfContinuousUpdates() + { + handler.endOfContinuousUpdates(); + } + void readClientRedirect(int x, int y, int w, int h) { int port = is.readU16(); -- cgit v1.2.3