office-gobmx/sdext
Stephan Bergmann cc147f576d loplugin:unocast (sdext::presenter::CachablePresenterView)
(See the upcoming commit introducing that loplugin:unocast on why such
dynamic_casts from UNO types are dangerous.)

Change-Id: Ib158190fe9059d1c6b0b002cd37f83593a494e63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144764
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23 22:56:25 +00:00
..
inc
qa/unit tdf#152083: sdext Pre-reverse the text for RTL in Writer pdfimport as well 2022-12-04 20:00:08 +00:00
source loplugin:unocast (sdext::presenter::CachablePresenterView) 2022-12-23 22:56:25 +00:00
CppunitTest_sdext_pdfimport.mk
CustomTarget_pdfimport.mk
Executable_pdf2xml.mk
Executable_pdfunzip.mk
Executable_xpdfimport.mk
IwyuFilter_sdext.yaml
Library_pdfimport.mk
Library_PresentationMinimizer.mk loplugin:unusedmethods 2022-12-07 17:17:33 +00:00
Library_PresenterScreen.mk
Makefile
Module_sdext.mk
Package_pdfimport_xpdfimport.mk
README.md

Extensions for the Impress and Draw Applications

source/pdfimport/ - PDF import

Uses an external poppler process to parse and handle PDF import as draw shapes.

source/minimizer/ - Presentation Minimizer

Shrinks presentations by down-scaling images, and removing extraneous eg. embedded OLE content.

source/presenter/ - Impress / Presenter Console.

This couples to sd/ in rather strange ways. Its design is heavily mangled by an attempt to use only UNO interfaces which are highly inadequate. This leads to somewhat ridiculous situations. Activating in response to configuration keys (for example), and the XPresenterHelper interface inside sd/ used to create and manage windows.

The main screen uses a hardware-accelerated canvas (e.g. cairo canvas), while the entire secondary screen uses a VCL-canvas that is created in sd::framework::FullScreenPane::CreateCanvas().

The secondary screen contains 3 Panes which each have 2 XWindows for the border area & the actual content, and each content Pane is backed by a sd::presenter::PresenterCanvas that wraps the FullScreenPane's canvas and does clipping.