VNC and Zooming
cjsmith@btinternet.com
cjsmith "at" btinternet.com
Mon, 14 Feb 2000 17:59:55 +0000
Hi!
I've been working on updating the PalmVNC client, as it doesn't seem to have
been changed in a long time. My current version supports 16-shade greyscale,
using a mapping from the standard BGR233 8-bit RFB mode. Although this works
very well, and makes everything far more visible, the size of the Palm screen
is still very limiting.
To overcome this, I want to implement a "zoom" facility to scale the desktop.
Obviously, doing this on the client would be very inefficient, due to bandwidth
considerations for transferring the entire screen(plus the CPU overheads!).
I was hoping to implement a zoom facility as an extension to the RFB protocol,
and was wondering if there has been any work in this area. The important features
that I see are as follows:
1) Allow the client to specify a scale factor to the server. This should result
in an *immediate* change in the size of the framebuffer, and so cause the whole
frame buffer to be invalidated. This would also require a server message to
invalidate & resize the client framebuffer (which would be a useful feature
anyway, to allow dynamic resolution changes on the server without killing the
VNC connection as happens now). Scale factors should allow both enlargement
/ shrinking of the display (e.g. two 8-bit numbers, for n:m scale factor).
3) The server should use interpolation etc. to copy the original screen into
the framebuffer, at the same time as the colour depth adjustment is done at
the moment. Mouse movements etc. should be scaled back before being passed to
the OS.
2) The framebuffer and dimensions passed to the client are those at the "scaled"
setting, as are all values (e.g. mouse coordinates) returned by the client.
This minimises the work the client has to do - it just sets the scale factor
and works with the resulting framebuffer etc. as normal. The only extra support
required is for the "framebuffer dimensions changed" message from the server.
By having a default scale factor of 1:1, mixed client/server versions should
be able to co-exist.
Anyone have any comments / suggestions on this? Also, how do I go about getting
such a change added into the standard? (I'm presuming that I will have to modify
my own client and server to implement this stuff first).
Thanks,
Chris.
---------------------------------------------------------------------
To unsubscribe, send a message with the line: unsubscribe vnc-list
to majordomo "at" uk.research.att.com
See also: http://www.uk.research.att.com/vnc/intouch.html
---------------------------------------------------------------------