Added big-endian-flag option to the ChoosePixelFormatDialog dialog.
Finished big-endian-flag support in the player.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@262 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx
index a98ed41..9a181a5 100644
--- a/rfbplayer/rfbplayer.cxx
+++ b/rfbplayer/rfbplayer.cxx
@@ -877,6 +877,9 @@
}
}
+long ChoosePixelFormatDialog::pfIndex = DEFAULT_PF_INDEX;
+bool ChoosePixelFormatDialog::bigEndian = false;
+
void RfbPlayer::serverInit() {
RfbProto::serverInit();
@@ -891,17 +894,17 @@
throw rdr::Exception("This version plays only true color session!");
// Set the session pixel format
- static long pixelFormatIndex = DEFAULT_PF_INDEX;
if (options.askPixelFormat) {
- ChoosePixelFormatDialog choosePixelFormatDialog(pixelFormatIndex, &supportedPF);
+ ChoosePixelFormatDialog choosePixelFormatDialog(&supportedPF);
if (choosePixelFormatDialog.showDialog(getMainHandle())) {
- pixelFormatIndex = choosePixelFormatDialog.getPF();
+ long pixelFormatIndex = choosePixelFormatDialog.getPFIndex();
if (pixelFormatIndex < 0) {
options.autoDetectPF = true;
options.setPF((PixelFormat *)&cp.pf());
} else {
options.autoDetectPF = false;
options.setPF(&supportedPF[pixelFormatIndex].PF);
+ options.pixelFormat.bigEndian = choosePixelFormatDialog.isBigEndian();
}
} else {
is->pausePlayback();
@@ -912,6 +915,7 @@
options.setPF((PixelFormat *)&cp.pf());
} else {
options.setPF(&supportedPF[options.pixelFormatIndex].PF);
+ options.pixelFormat.bigEndian = options.bigEndianFlag;
}
}
cp.setPF(options.pixelFormat);