Henrik Gedenryd Henrik.Gedenryd@lucs.lu.se is widely believed to have written:
Bert Freudenberg wrote:
OTOH the efforts spent on this would better be spent on implementing a VNC display server in Squeak. One option is hacking ioShowDisplay. But maybe intercepting BitBlt is a little bit more efficient because you can easily distinguish fills from blts ...
Since BitBlt resides in a plugin one could make such a hack available as a plugin as Stephen suggested, possibly even with platform-independent source code.
I've been doing a little thinking about this sort of problem recently, hoping to make a convenient way to produce 'subclasses' of plugins. This would allow a 'subclass' of FilePlugin that uses the security options, for example. The problem is pretty simple; the plugin finding/loading code expects the plugin name (used as the basename for the file it searches for) to be matched with the moduleName string within the plugin.
If you were to make a SecureFilePlugin subclass of FilePlugin, it would normally expect to have a moduleName of (duh) 'SecureFilePlugin' and thus you would want to compile it as securefileplugin.so (or whatever). Problem is then that you have to call it with <primitive: 'buggerMyDisc' module:'SecureFilePlugin'> instead of <.... module: 'FilePlugin'>. Of course, you can override the moduleName when translating the plugin, but that leaves you with two plugins with the same name but subtly different functionality. I think there have been some problems on Windoze with that particular idea... Perhaps making the plugin have a moduleName of FilePlugin and adding (Secure) to the version info string, as well as using a filename of SecureFilePlugin and then aliasing it to FilePlugin in the appropriate search location?
Anyway, once some way exists to do this sort of thing, a VNCBitBltPlugin would probably be quite simple.
tim
squeak-dev@lists.squeakfoundation.org