xref: /trunk/main/canvas/overview.txt (revision 9f22d7c2)
1*9f22d7c2SAndrew Rist# *************************************************************
2*9f22d7c2SAndrew Rist#
3*9f22d7c2SAndrew Rist#  Licensed to the Apache Software Foundation (ASF) under one
4*9f22d7c2SAndrew Rist#  or more contributor license agreements.  See the NOTICE file
5*9f22d7c2SAndrew Rist#  distributed with this work for additional information
6*9f22d7c2SAndrew Rist#  regarding copyright ownership.  The ASF licenses this file
7*9f22d7c2SAndrew Rist#  to you under the Apache License, Version 2.0 (the
8*9f22d7c2SAndrew Rist#  "License"); you may not use this file except in compliance
9*9f22d7c2SAndrew Rist#  with the License.  You may obtain a copy of the License at
10*9f22d7c2SAndrew Rist#
11*9f22d7c2SAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
12*9f22d7c2SAndrew Rist#
13*9f22d7c2SAndrew Rist#  Unless required by applicable law or agreed to in writing,
14*9f22d7c2SAndrew Rist#  software distributed under the License is distributed on an
15*9f22d7c2SAndrew Rist#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*9f22d7c2SAndrew Rist#  KIND, either express or implied.  See the License for the
17*9f22d7c2SAndrew Rist#  specific language governing permissions and limitations
18*9f22d7c2SAndrew Rist#  under the License.
19*9f22d7c2SAndrew Rist#
20*9f22d7c2SAndrew Rist# *************************************************************
21*9f22d7c2SAndrew Rist
22cdf0e10cSrcweirThe new OOo Canvas Framework
23cdf0e10cSrcweir============================
24cdf0e10cSrcweir
25cdf0e10cSrcweirThe new OpenOffice.org canvas framework is the successor of the system
26cdf0e10cSrcweirGUI and graphics backend VCL. Basic functionality is available,
27cdf0e10cSrcweirsupplying just as much features as necessary to provide a
28cdf0e10cSrcweirVCL-equivalent feature set (except proper BiDi/CTL support).
29cdf0e10cSrcweir
30cdf0e10cSrcweirFor migration purposes, the new canvas and VCL will be shipped with
31cdf0e10cSrcweirOpenOffice.org for quite some time, allowing a step-by-step adaptation
32cdf0e10cSrcweirof the applications. Therefore, the canvas and VCL must somehow
33cdf0e10cSrcweirinteroperate, since new code, using the canvas, typically is embedded
34cdf0e10cSrcweirin a VCL-based environment (for example, the OOo windows are still
35cdf0e10cSrcweirprovided by VCL. To render into such a window via the canvas, a canvas
36cdf0e10cSrcweirmust be constructable from a VCL window). Thus, essentially two new
37cdf0e10cSrcweirmethods are provided at VCL's window, namely Window::GetCanvas() and
38cdf0e10cSrcweirWindow::GetFullScreenCanvas(). Apart from that small link, canvas and
39cdf0e10cSrcweirVCL are completely separated.
40cdf0e10cSrcweir
41cdf0e10cSrcweirThe canvas framework currently consists of the following two new
42cdf0e10cSrcweirCVS modules, /gsl/canvas and /gsl/cppcanvas. Additionally, a new
43cdf0e10cSrcweirgeneric graphics tooling is used (but not exclusively by the canvas,
44cdf0e10cSrcweirArmin's recent drawing layer fixups also make use of it), which
45cdf0e10cSrcweirresides in /graphics/basegfx. From these modules, six libraries are
46cdf0e10cSrcweircurrently delivered, namely vclcanvas.uno.dll, javacanvas.jar,
47cdf0e10cSrcweirdirectxcanvas.uno.dll, canvastools680mi.dll, cppcanvas680mi.dll, and
48cdf0e10cSrcweirbasegfx680mi.dll.
49cdf0e10cSrcweir
50cdf0e10cSrcweir
51cdf0e10cSrcweirThe new OOo slideshow engine
52cdf0e10cSrcweir============================
53cdf0e10cSrcweir
54cdf0e10cSrcweirThe new OpenOffice.org slideshow engine will replace the current
55cdf0e10cSrcweirImpress-embedded presentation framework with a fully independent UNO
56cdf0e10cSrcweircomponent, and it will be based on the new canvas. In its current
57cdf0e10cSrcweirstate, it is able to provide a basic set of functionality, enabling
58cdf0e10cSrcweirthe playback of simple presentations. It furthermore provides features
59cdf0e10cSrcweirlike double-buffering, hardware-accelerated alpha-blending (currently
60cdf0e10cSrcweirnot on all platforms) and anti-aliased rendering of all primitives.
61cdf0e10cSrcweir
62cdf0e10cSrcweirIn a second step, this new slideshow engine will then be integrated
63cdf0e10cSrcweirwith Impress model enhancements and extended PowerPoint import/export
64cdf0e10cSrcweirfilters, to implement nearly all of PowerPoint's set of effects.
65cdf0e10cSrcweir
66cdf0e10cSrcweirThe new slideshow engine is currently not accessible from the office
67cdf0e10cSrcweirUI, but included in the installations sets. Thus, other developers can
68cdf0e10cSrcweirstart to use the new functionality, and base their own implementations
69cdf0e10cSrcweiron top of that. For the records, the respective UNO implementation of
70cdf0e10cSrcweirthe slideshow resides in the slideshow.uno.dll library.
71cdf0e10cSrcweir
72