summaryrefslogtreecommitdiffstats
path: root/vnc
diff options
context:
space:
mode:
authorjsorg71 <jsorg71>2007-04-29 07:33:11 +0000
committerjsorg71 <jsorg71>2007-04-29 07:33:11 +0000
commit25f5915a446747b802ceb228cbe839fe8f4c8680 (patch)
treef790b3ebfd2ffc8cc80e868a9113a8304112ab95 /vnc
parent37439e5e22f735c445ca8e8b24e05fbcd604e2e9 (diff)
downloadxrdp-proprietary-25f5915a446747b802ceb228cbe839fe8f4c8680.tar.gz
xrdp-proprietary-25f5915a446747b802ceb228cbe839fe8f4c8680.zip
24 bit color
Diffstat (limited to 'vnc')
-rw-r--r--vnc/vnc.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/vnc/vnc.c b/vnc/vnc.c
index e2f390bb..90de0cea 100644
--- a/vnc/vnc.c
+++ b/vnc/vnc.c
@@ -1107,6 +1107,24 @@ connections", 0);
out_uint8(pixel_format, 0); /* blue shift */
out_uint8s(pixel_format, 3); /* pad */
}
+ else if (v->mod_bpp == 24)
+ {
+ out_uint8(pixel_format, 32); /* bits per pixel */
+ out_uint8(pixel_format, 24); /* depth */
+#if defined(B_ENDIAN)
+ out_uint8(pixel_format, 1); /* big endian */
+#else
+ out_uint8(pixel_format, 0); /* big endian */
+#endif
+ out_uint8(pixel_format, 1); /* true color flag */
+ out_uint16_be(pixel_format, 255); /* red max */
+ out_uint16_be(pixel_format, 255); /* green max */
+ out_uint16_be(pixel_format, 255); /* blue max */
+ out_uint8(pixel_format, 16); /* red shift */
+ out_uint8(pixel_format, 8); /* green shift */
+ out_uint8(pixel_format, 0); /* blue shift */
+ out_uint8s(pixel_format, 3); /* pad */
+ }
out_uint8a(s, pixel_format->data, 16);
v->server_msg(v, "sending pixel format", 0);
error = lib_send(v, s->data, 20);