diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
commit | 940b4d1848e8c70ab7642901a68594e8016caffc (patch) | |
tree | eb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /canvas/README | |
parent | Initial commit. (diff) | |
download | libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip |
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'canvas/README')
-rw-r--r-- | canvas/README | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/canvas/README b/canvas/README new file mode 100644 index 000000000..b68da4c3b --- /dev/null +++ b/canvas/README @@ -0,0 +1,46 @@ +UNO-based graphics backend, lesser impedance to modern graphics APIs +than vcl. + +== The 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 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. + +The UNO API used by the canvas is primarily under +css::rendering, with css::rendering::XCanvas +being the central interface. + +== 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). + +== Cairo canvas == + +cairo canvas is one of backends of canvas component. canvas is mostly +used for slideshow rendering and also for emf+ rendering. we hoped it +will even be used by drawing layer, but it didn't happen (yet?) for +API look at offapi/com/sun/star/rendering/, the implementation is in +canvas and cppcanvas modules. + +cairo canvas backend uses cairo library for rendering. main advantage +is support of alpha transparency and in some cases accelerated +rendering. + +the backend itself is quite old and stable, not many changes in that +area lately, mostly changes for emf+ rendering, communication with +vcl and bugfixes + +FUTURE work: look at cairo canvas and situation when it is used +(mostly slideshow). TODO there still might be more cases when we +can save some roundtrips when exchanging data with vcl. |