office-gobmx/canvas
Thorsten Behrens 2c7e061997 Fix fdo#45219 wrong transparency for animated objects.
With the attachement from said bug, and cairocanvas, sprites
are displayed multiple times above each other (which, for semi-
transparent sprites, lead to incorrect overall transparency)
2012-02-22 11:14:06 +01:00
..
inc/canvas Fix fdo#45219 wrong transparency for animated objects. 2012-02-22 11:14:06 +01:00
prj
source Fix fdo#45219 wrong transparency for animated objects. 2012-02-22 11:14:06 +01:00
workben
Library_cairocanvas.mk
Library_canvasfactory.mk
Library_canvastools.mk
Library_directx9canvas.mk
Library_gdipluscanvas.mk
Library_nullcanvas.mk
Library_simplecanvas.mk
Library_vclcanvas.mk
Makefile switch to include-based build rather than sourced-based build 2012-02-05 19:34:05 -06:00
Module_canvas.mk Eliminate un-used DIRECTX5 2012-02-05 19:34:02 -06:00
Package_inc.mk
README Added (and improved) READMEs for modules which used to be in libs-gui 2012-02-08 07:46:57 +01:00

New canvas implementation to improve rendering, various backends implement the new XCanvas API eg. Cairo / DirectX.

== 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.