Update git submodules
[LibreOffice.git] / sd / README.md
blob4413a0776210873e8a2da84794a97e6684e3c41d
1 # LibreOffice Impress / Draw Application
3 The core directory for the impress/draw applications.
5 Think of impress as a hack on top of draw.
7 `sd` module contains impress/draw specific code, non-shared UI and part
8 of `ppt` and `pptx` filter, few other filters too.
10 the slideshow UI lives here as well, the slideshow engine is in
11 `slideshow` module though (including the 3D transitions engine
12 `slideshow/source/engine/opengl`).
14 the most used filters are ODF's `odp`, binary ppt and OOXML's
15 `pptx`. their locations are listed below:
17  * `odp` import and export filters are in `xmloff` module (mostly `xmloff/source/draw`)
19  * `ppt` import is in `sd/source/filter/ppt` (big shared chunks are also in `svx`)
20  * `ppt` export is in `sd/source/filter/eppt` (big shared chunks are also in `svx`)
22  * `pptx` import is in `oox/source/ppt` (and uses a lot of
23    `oox/source/drawingml` and `oox/source/*`)
24  * `pptx` export is in `sd/source/filter/eppt` (mostly in `pptx-*` source
25    files) and shared part is in `oox/source/export`
27 ## PPTX Export / Import Filters
29 PPTX export filter is split into 2 parts. Impress related part is in
30 `sd/source/filter/eppt/pptx-*` and the other part is in
31 `oox/source/export/` because it contains mostly code related to
32 `DrawingML`, which is shared with writer and calc ooxml export.
34 The export filter was written in 2009 IIRC and was not much extended
35 feature-wise lately.
37 ## Future Works
38 Add custom shapes export (see below). enhance text
39 output, we don't write text style for indentation levels now, need to
40 export `a:lvl1pPr`, `a:lvl2pPr`, ... elements.
42 `PPTX` import was written by Sun/Oracle and then extended in LibreOffice
43 a lot during bug fixing. It is located in `oox/source/ppt` and
44 `oox/source/drawingml`. The areas with most bugs (at least until today)
45 were shape placeholders and text style inheritance.