| # ************************************************************* |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| # ************************************************************* |
| |
| The new OOo Canvas Framework |
| ============================ |
| |
| The new OpenOffice.org canvas framework is the successor of the system |
| GUI and graphics backend VCL. Basic functionality is available, |
| supplying just as much features as necessary to provide a |
| VCL-equivalent feature set (except proper BiDi/CTL support). |
| |
| For migration purposes, the new canvas and VCL will be shipped with |
| OpenOffice.org for quite some time, allowing a step-by-step adaptation |
| of the applications. Therefore, the canvas and VCL must somehow |
| interoperate, since new code, using the canvas, typically is embedded |
| in a VCL-based environment (for example, the OOo windows are still |
| provided by VCL. To render into such a window via the canvas, a canvas |
| must be constructable from a VCL window). Thus, essentially two new |
| methods are provided at VCL's window, namely Window::GetCanvas() and |
| Window::GetFullScreenCanvas(). Apart from that small link, canvas and |
| VCL are completely separated. |
| |
| The canvas framework currently consists of the following two new |
| CVS modules, /gsl/canvas and /gsl/cppcanvas. Additionally, a new |
| generic graphics tooling is used (but not exclusively by the canvas, |
| Armin's recent drawing layer fixups also make use of it), which |
| resides in /graphics/basegfx. From these modules, six libraries are |
| currently delivered, namely vclcanvas.uno.dll, javacanvas.jar, |
| directxcanvas.uno.dll, canvastools680mi.dll, cppcanvas680mi.dll, and |
| basegfx680mi.dll. |
| |
| |
| The new OOo slideshow engine |
| ============================ |
| |
| The new OpenOffice.org slideshow engine will replace the current |
| Impress-embedded presentation framework with a fully independent UNO |
| component, and it will be based on the new canvas. In its current |
| state, it is able to provide a basic set of functionality, enabling |
| the playback of simple presentations. It furthermore provides features |
| like double-buffering, hardware-accelerated alpha-blending (currently |
| not on all platforms) and anti-aliased rendering of all primitives. |
| |
| In a second step, this new slideshow engine will then be integrated |
| with Impress model enhancements and extended PowerPoint import/export |
| filters, to implement nearly all of PowerPoint's set of effects. |
| |
| The new slideshow engine is currently not accessible from the office |
| UI, but included in the installations sets. Thus, other developers can |
| start to use the new functionality, and base their own implementations |
| on top of that. For the records, the respective UNO implementation of |
| the slideshow resides in the slideshow.uno.dll library. |
| |