1*cdf0e10cSrcweirThe new OOo Canvas Framework 2*cdf0e10cSrcweir============================ 3*cdf0e10cSrcweir 4*cdf0e10cSrcweirThe new OpenOffice.org canvas framework is the successor of the system 5*cdf0e10cSrcweirGUI and graphics backend VCL. Basic functionality is available, 6*cdf0e10cSrcweirsupplying just as much features as necessary to provide a 7*cdf0e10cSrcweirVCL-equivalent feature set (except proper BiDi/CTL support). 8*cdf0e10cSrcweir 9*cdf0e10cSrcweirFor migration purposes, the new canvas and VCL will be shipped with 10*cdf0e10cSrcweirOpenOffice.org for quite some time, allowing a step-by-step adaptation 11*cdf0e10cSrcweirof the applications. Therefore, the canvas and VCL must somehow 12*cdf0e10cSrcweirinteroperate, since new code, using the canvas, typically is embedded 13*cdf0e10cSrcweirin a VCL-based environment (for example, the OOo windows are still 14*cdf0e10cSrcweirprovided by VCL. To render into such a window via the canvas, a canvas 15*cdf0e10cSrcweirmust be constructable from a VCL window). Thus, essentially two new 16*cdf0e10cSrcweirmethods are provided at VCL's window, namely Window::GetCanvas() and 17*cdf0e10cSrcweirWindow::GetFullScreenCanvas(). Apart from that small link, canvas and 18*cdf0e10cSrcweirVCL are completely separated. 19*cdf0e10cSrcweir 20*cdf0e10cSrcweirThe canvas framework currently consists of the following two new 21*cdf0e10cSrcweirCVS modules, /gsl/canvas and /gsl/cppcanvas. Additionally, a new 22*cdf0e10cSrcweirgeneric graphics tooling is used (but not exclusively by the canvas, 23*cdf0e10cSrcweirArmin's recent drawing layer fixups also make use of it), which 24*cdf0e10cSrcweirresides in /graphics/basegfx. From these modules, six libraries are 25*cdf0e10cSrcweircurrently delivered, namely vclcanvas.uno.dll, javacanvas.jar, 26*cdf0e10cSrcweirdirectxcanvas.uno.dll, canvastools680mi.dll, cppcanvas680mi.dll, and 27*cdf0e10cSrcweirbasegfx680mi.dll. 28*cdf0e10cSrcweir 29*cdf0e10cSrcweir 30*cdf0e10cSrcweirThe new OOo slideshow engine 31*cdf0e10cSrcweir============================ 32*cdf0e10cSrcweir 33*cdf0e10cSrcweirThe new OpenOffice.org slideshow engine will replace the current 34*cdf0e10cSrcweirImpress-embedded presentation framework with a fully independent UNO 35*cdf0e10cSrcweircomponent, and it will be based on the new canvas. In its current 36*cdf0e10cSrcweirstate, it is able to provide a basic set of functionality, enabling 37*cdf0e10cSrcweirthe playback of simple presentations. It furthermore provides features 38*cdf0e10cSrcweirlike double-buffering, hardware-accelerated alpha-blending (currently 39*cdf0e10cSrcweirnot on all platforms) and anti-aliased rendering of all primitives. 40*cdf0e10cSrcweir 41*cdf0e10cSrcweirIn a second step, this new slideshow engine will then be integrated 42*cdf0e10cSrcweirwith Impress model enhancements and extended PowerPoint import/export 43*cdf0e10cSrcweirfilters, to implement nearly all of PowerPoint's set of effects. 44*cdf0e10cSrcweir 45*cdf0e10cSrcweirThe new slideshow engine is currently not accessible from the office 46*cdf0e10cSrcweirUI, but included in the installations sets. Thus, other developers can 47*cdf0e10cSrcweirstart to use the new functionality, and base their own implementations 48*cdf0e10cSrcweiron top of that. For the records, the respective UNO implementation of 49*cdf0e10cSrcweirthe slideshow resides in the slideshow.uno.dll library. 50*cdf0e10cSrcweir 51