diff options
author | Brian Hinz <bphinz@users.sourceforge.net> | 2012-02-12 20:44:29 +0000 |
---|---|---|
committer | Brian Hinz <bphinz@users.sourceforge.net> | 2012-02-12 20:44:29 +0000 |
commit | af15db239a665030087fe146b20d4b3213708f3d (patch) | |
tree | 2efad69694d73cdb8fc90af86af26ef44e10b084 /java/com/tigervnc/rfb/CMsgReaderV3.java | |
parent | 8d37f2054b6da02957b12d02aaf96dd5eecc89c7 (diff) | |
download | tigervnc-af15db239a665030087fe146b20d4b3213708f3d.tar.gz tigervnc-af15db239a665030087fe146b20d4b3213708f3d.zip |
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
Diffstat (limited to 'java/com/tigervnc/rfb/CMsgReaderV3.java')
-rw-r--r-- | java/com/tigervnc/rfb/CMsgReaderV3.java | 29 |
1 files changed, 29 insertions, 0 deletions
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(); |