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