Presentation is loading. Please wait.

Presentation is loading. Please wait.

Thorsten Behrens – LibreOffice Hacker Novell, Inc.

Similar presentations


Presentation on theme: "Thorsten Behrens – LibreOffice Hacker Novell, Inc."— Presentation transcript:

1 Thorsten Behrens – tbehrens@novell.com LibreOffice Hacker Novell, Inc.
Impressive Hacking Thorsten Behrens – LibreOffice Hacker Novell, Inc. FOSDEM 2011 3/3/2017

2 10k Feet libreoffice/ | -- sd/ … | -- drawinglayer/ | -- slideshow/
3/3/2017 FOSDEM 2011

3 5k Feet libreoffice/sd/ SdDrawDocument SdPage sd::View SdrObject
sd:ViewShell 3/3/2017 FOSDEM 2011

4 5k Feet libreoffice/drawinglayer/ BasePrimitive2D Polygon*Primitive2D
VclPixelProcessor2D VclMetafileProcessor2D 3/3/2017 FOSDEM 2011

5 libreoffice/slideshow/
5k Feet libreoffice/slideshow/ SlideShowImpl View Slide Shape 3/3/2017 FOSDEM 2011

6 Ground View Concrete Tasks: Make Impress master pages copyable
Attach Impress animations to styles Impress slide layout extendibility Implement additional 3D slideshow transitions Create a Visio import filter for Draw Enhanced svg export filter 3/3/2017 FOSDEM 2011

7 Copy Master Pages Called on Paste 555 LoC – refactor
BOOL SdDrawDocument::InsertBookmarkAsPage() Called on Paste 555 LoC – refactor add a unit test in sd/qa/unit Find & separate all ~6 use cases Fix the style/name merging

8 Attach Animations to Styles
libo-build/patches/dev300/sd_effects_styles.diff Start from prior GSoC project Understand SfxStyleSheet and SfxItemSet Read the patch, finish hooking up the custom animation dialogs to the Styles dialog Finish the broadcasting: changing a style needs to update shape animations Extend the unit test!

9 Layout extendibility Start from prior GSoC project
libo-build/patches/dev300/impress-autolayout.diff Start from prior GSoC project Understand how SdPage hardcodes slide layouts in SdPage::SetAutoLayout() Look how layout info is stored in AutoLayout.xml Finish reworking the filters to use abstract layouts Extend the unit test!

10 More 3D transitions libo/slideshow/source/engine/OGLTrans/unx/OGLTrans_TransitionerImpl.cxx add new name to OGLTransitionFactoryImpl::createTransition() Implement transition like e.g. OGLTransitionImpl::makeFallLeaving() Notice how easy it is to add animation behaviour, e.g. like RotateAndScaleDepthByWidth

11 Visio Import Filter Libo/writerperfect/source/wpgimp/WPGImportFilter.cxx Format docs are here: us/library/dd924076%28v=office.12%29.aspx Implement the filter by streaming ODF You'll may get a stand-alone, re-usable filter for free then Much easier to debug, less implicit state to handle Add unit tests, a template is here: libo/sdext/source/pdfimport/test/tests.cxx

12 SVG Export Request drawinglayer primitives from SdrModel
Git clone Request drawinglayer primitives from SdrModel Iterate over geometry, map to svg Existing mapping: libo/filter/source/svg/svgwriter.cxx Consider useful helpers for gradients: libo/basegfx/inc/basegfx/tools/gradienttools.hxx Please write a unit test, see libo/filter/source/svg/test/* for a template

13 LibreOffice in short Contacting us
Development: IRC: #libreoffice on freenode.net Useful links Easy Hacks: Build HowTo: Source code docs: This document is licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the LibreOffice name, logo, or icon. This does not include LibreOffice source code, which is licensed under the LGPLv3 (GNU Lesser General Public License). 3/3/2017 FOSDEM 2011

14 Try Our First Release! http://www.libreoffice.org/download 3/3/2017
FOSDEM 2011


Download ppt "Thorsten Behrens – LibreOffice Hacker Novell, Inc."

Similar presentations


Ads by Google