Thursday, 19 Oct 2006
Thursday, 19 Oct 2006
Finally it's available: multiscreen support for the presentation module. From SRC680m187 on you can select which monitor your fullscreen presentation will appear on; of course you still can have the old behaviour to spread the presentation over all monitors (on X11 systems this requires the Xinerama extension to be active). Just open “Slideshow->Slideshow settings” and select your preferred multimonitor setting.
A little bit background: the decision to implement this enhancement took a while (the initial issue 12719 was filed over three years ago) because of the necessary investment of development resources. The effort was not negligible mainly because of the X11 platform where multimonitor support has to be implemented twofold: once for Xinerama where one big screen is spread over multiple monitors and once for multiple screens where each monitor is a separate screen. Especially the latter case required a large rework of the X11 layer of vcl (the Visual Class Library, OpenOffice.org's toolkit) since almost all resources cannot be shared between different screens. E.g. consider bitmaps: for a presentation containing images the impress application has loaded and drawn already in the normal document window. Now the user starts the fullscreen presentation and the same object needs to be drawn on another screen. On X11 this will not work out of the box, since bitmaps are held as a Pixmap on the X11 server. Drawing said Pixmap on another screen will simply result in an error since resources cannot be shared between screens. So code needed to be implemented that would consider this and create a new Pixmap on the second screen. And of course one has to account for the fact, that different screens may have different pixel formats (e.g. one screen can have 24 bit color depth, the next 8 bit), so conversion on the fly is required.
This is of course just one example, the same is true for other resources (windows, GCs, whatever). And since most of these resources get cached within vcl to minimize round-trips to the Xserver, the caches also had to be multiscreen aware.
So what about the Windows platform ? Things are much easier here; resources are shared between screens (e.g. you can normally simply drag a window from one screen to another), so here only some coordinate adjustments were necessary to ensure that the fullscreen presentation shows in the right place. This is very similar to the Xinerama case on X11.
So all you presenters out there, have fun with our new multimonitor support !
tags:
Posted by Joseph on October 19, 2006 at 05:42 PM CEST #
Posted by 192.18.240.11 on October 19, 2006 at 06:06 PM CEST #
Posted by Martin on October 20, 2006 at 04:06 PM CEST #
Option "Xinerama" "true"
Posted by Philipp Lohmann on October 20, 2006 at 04:26 PM CEST #