Added basic almost-functional Tight support, from tightrealvnc project. Decoder only.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@14 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfb/ConnParams.cxx b/rfb/ConnParams.cxx
index 9552940..3a406ac 100644
--- a/rfb/ConnParams.cxx
+++ b/rfb/ConnParams.cxx
@@ -28,6 +28,7 @@
ConnParams::ConnParams()
: majorVersion(0), minorVersion(0), width(0), height(0), useCopyRect(false),
supportsLocalCursor(false), supportsDesktopResize(false),
+ supportsLastRect(false), qualityLevel(-1),
name_(0), nEncodings_(0), encodings_(0),
currentEncoding_(encodingRaw), verStrPos(0)
{
@@ -87,6 +88,8 @@
nEncodings_ = nEncodings;
useCopyRect = false;
supportsLocalCursor = false;
+ supportsLastRect = false;
+ qualityLevel = -1;
currentEncoding_ = encodingRaw;
for (int i = nEncodings-1; i >= 0; i--) {
@@ -98,6 +101,11 @@
supportsLocalCursor = true;
else if (encodings[i] == pseudoEncodingDesktopSize)
supportsDesktopResize = true;
+ else if (encodings[i] == pseudoEncodingLastRect)
+ supportsLastRect = true;
+ else if (encodings[i] >= pseudoEncodingQualityLevel0 &&
+ encodings[i] <= pseudoEncodingQualityLevel9)
+ qualityLevel = encodings[i] - pseudoEncodingQualityLevel0;
else if (encodings[i] <= encodingMax && Encoder::supported(encodings[i]))
currentEncoding_ = encodings[i];
}