[Libreoffice-commits] .: canvas/README

Thorsten Behrens thorsten at kemper.freedesktop.org
Thu Apr 26 04:55:33 PDT 2012

 canvas/README |   70 ++++++++++++++++------------------------------------------
 1 file changed, 20 insertions(+), 50 deletions(-)

New commits:
commit 8df3fdd63548bebedfd0f5378783b6e3261e4f9a
Author: Thorsten Behrens <tbehrens at suse.com>
Date:   Thu Apr 26 13:54:58 2012 +0200

    Updated canvas readme to contemporary state of things.

diff --git a/canvas/README b/canvas/README
index ee2ae93..0110f5a 100644
--- a/canvas/README
+++ b/canvas/README
@@ -1,56 +1,26 @@
-New canvas implementation to improve rendering, various backends
-implement the new XCanvas API eg. Cairo / DirectX.
+UNO-based graphics backend, lesser impedance to modern graphics APIs
+than vcl.
-In what sense "new"? For how long has it been "new", what is the "old"
-one then? How much of the below is relevant *today*? It was committed
-in 2005. Please if you read this and have knowledge and time, do
-improve this file...
+== The Canvas Framework ==
-== The new OOo Canvas Framework ==
+The 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).
-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).
+The canvas framework consists of the following two modules, canvas and
+cppcanvas. Additionally, a new generic graphics tooling is used (but
+not exclusively by the canvas, Armin's drawinglayer module also make
+use of it), which resides in basegfx.
-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 UNO API used by the canvas is primarily under
+com::sun::star::rendering, with com::sun::star::rendering::XCanvas
+being the central interface.
-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
-== 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.
+== The slideshow engine ==
+The slideshow engine has replaced the former Impress-embedded
+presentation framework with a fully independent UNO component, and it
+is based on the canvas. Some features used there are only available
+from canvas, like double-buffering, and hardware-accelerated
+alpha-blending (currently not on all platforms).

More information about the Libreoffice-commits mailing list