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