31#include <com/sun/star/presentation/AnimationEffect.hpp>
32#include <com/sun/star/presentation/ClickAction.hpp>
46#define EPP_MAINMASTER_PERSIST_KEY 0x80010000
47#define EPP_MAINNOTESMASTER_PERSIST_KEY 0x80020000
48#define EPP_MAINSLIDE_PERSIST_KEY 0x80030000
49#define EPP_MAINNOTES_PERSIST_KEY 0x80040000
51#define EPP_Persist_Document 0x80080000
52#define EPP_Persist_MainMaster 0x80100000
53#define EPP_Persist_MainNotes 0x80200000
54#define EPP_Persist_Slide 0x80400000
55#define EPP_Persist_Notes 0x80800000
56#define EPP_Persist_CurrentPos 0x81000000
57#define EPP_Persist_VBAInfoAtom 0x84000000
58#define EPP_Persist_ExObj 0x88000000
60#define EPP_TEXTSTYLE_NORMAL 0x00000001
61#define EPP_TEXTSTYLE_TITLE 0x00000010
62#define EPP_TEXTSTYLE_BODY 0x00000100
63#define EPP_TEXTSTYLE_TEXT 0x00001000
90 css::uno::Reference< css::drawing::XShape >
xShape;
101 std::unique_ptr<SvMemoryStream>
pOut;
107 TextObjBinary( css::uno::Reference< css::text::XSimpleText >
const & rXText,
108 int nInstance,
FontCollection& rFontCollection, PPTExBulletProvider& rBuProv ) :
TextObj( rXText, nInstance, rFontCollection, rBuProv ) {}
124 css::uno::Reference< css::text::XSimpleText >
mXText;
174 css::uno::Reference< css::beans::XPropertySet >
const & rXPagePropSet );
179 std::u16string_view aStringVer0, std::u16string_view aStringVer1, std::u16string_view aStringVer2, std::u16string_view aStringVer3 );
181 void ImplWriteBackground( css::uno::Reference< css::beans::XPropertySet >
const & rXBackgroundPropSet );
189 const sal_uInt32 StyleInstance,
const sal_uInt8 PlaceHolderId );
190 static bool ImplGetEffect(
const css::uno::Reference< css::beans::XPropertySet > &,
191 css::presentation::AnimationEffect& eEffect,
192 css::presentation::AnimationEffect& eTextEffect,
207 int nPageNumber = 0 );
214 virtual void ImplWriteSlide( sal_uInt32 nPageNum, sal_uInt32 nMasterID, sal_uInt16 nMode,
215 bool bHasBackground, css::uno::Reference< css::beans::XPropertySet >
const & aXBackgroundPropSet )
override;
217 virtual void ImplWriteSlideMaster( sal_uInt32 nPageNum, css::uno::Reference< css::beans::XPropertySet >
const & aXBackgroundPropSet )
override;
221 css::uno::Reference< css::frame::XModel >
const & rModel,
222 css::uno::Reference< css::task::XStatusIndicator >
const & rStatInd,
229 virtual void exportPPTPre(
const std::vector< css::beans::PropertyValue >& )
override;
std::vector< std::unique_ptr< PPTExOleObjEntry > > maExOleObj
void ImplCreateTextShape(EscherPropertyContainer &, EscherSolverContainer &, bool bFill)
void ImplCreateDocumentSummaryInformation()
sal_uInt32 mnStatMaxValue
sal_uInt32 ImplProgBinaryTag(SvStream *pOutStrm)
sal_uInt32 ImplProgBinaryTagContainer(SvStream *pOutStrm, SvMemoryStream *pBinTag)
sal_uInt32 ImplDocumentListContainer(SvStream *pOutStrm)
css::uno::Reference< css::text::XSimpleText > mXText
sal_uInt32 mnPagesWritten
bool ImplCreatePresentationPlaceholder(const bool bMaster, const sal_uInt32 StyleInstance, const sal_uInt8 PlaceHolderId)
sal_uInt32 ImplVBAInfoContainer(SvStream *pOutStrm)
virtual void ImplWriteSlideMaster(sal_uInt32 nPageNum, css::uno::Reference< css::beans::XPropertySet > const &aXBackgroundPropSet) override
void ImplWriteParagraphs(SvStream &rOutStrm, TextObj &rTextObj)
bool mbFontIndependentLineSpacing
tools::SvRef< SotStorageStream > mpStrm
void ImplWritePortions(SvStream &rOutStrm, TextObj &rTextObj)
void ImplCreateTable(css::uno::Reference< css::drawing::XShape > const &rXShape, EscherSolverContainer &aSolverContainer, EscherPropertyContainer &aPropOpt)
void ImplAdjustFirstLineLineSpacing(TextObj &rTextObj, EscherPropertyContainer &rPropOpt)
sal_uInt32 mnLatestStatValue
std::vector< EPPTHyperlink > maHyperlink
void ImplWritePage(const PHLayout &rLayout, EscherSolverContainer &rSolver, PageType ePageType, bool bMaster, int nPageNumber=0)
void ImplWriteTextStyleAtom(SvStream &rOut, int nTextInstance, sal_uInt32 nAtomInstance, TextRuleEntry *pTextRule, SvStream &rExtBu, EscherPropertyContainer *)
sal_uInt32 ImplProgTagContainer(SvStream *pOutStrm, SvMemoryStream *pBinTag=nullptr)
static bool ImplGetEffect(const css::uno::Reference< css::beans::XPropertySet > &, css::presentation::AnimationEffect &eEffect, css::presentation::AnimationEffect &eTextEffect, bool &bHasSound)
bool ImplCreateCurrentUserStream()
void ImplCreateHyperBlob(SvMemoryStream &rStream)
ppt::ExSoundCollection maSoundCollection
virtual bool ImplCreateDocument() override
std::vector< OUString > maSlideNameList
sal_uInt32 mnShapeMasterBody
void ImplWriteExtParaHeader(SvMemoryStream &rSt, sal_uInt32 nRef, sal_uInt32 nInstance, sal_uInt32 nSlideId)
static sal_uInt32 ImplOutlineViewInfoContainer(SvStream *pOutStrm)
sal_uInt32 ImplInsertBookmarkURL(const OUString &rBookmark, const sal_uInt32 nType, std::u16string_view aStringVer0, std::u16string_view aStringVer1, std::u16string_view aStringVer2, std::u16string_view aStringVer3)
virtual void ImplWriteNotes(sal_uInt32 nPageNum) override
std::unique_ptr< PptEscherEx > mpPptEscherEx
tools::SvRef< SotStorageStream > mpCurUserStrm
sal_uInt32 mnShapeMasterTitle
static void ImplCreateHeaderFooterStrings(SvStream &rOut, css::uno::Reference< css::beans::XPropertySet > const &rXPagePropSet)
static sal_uInt32 ImplSlideViewInfoContainer(sal_uInt32 nInstance, SvStream *pOutStrm)
static void WriteCString(SvStream &, std::u16string_view, sal_uInt32 nInstance=0)
virtual void ImplWriteSlide(sal_uInt32 nPageNum, sal_uInt32 nMasterID, sal_uInt16 nMode, bool bHasBackground, css::uno::Reference< css::beans::XPropertySet > const &aXBackgroundPropSet) override
PPTWriter(tools::SvRef< SotStorage > xSvStorage, css::uno::Reference< css::frame::XModel > const &rModel, css::uno::Reference< css::task::XStatusIndicator > const &rStatInd, SvMemoryStream *pVBA, sal_uInt32 nCnvrtFlags)
virtual void exportPPTPre(const std::vector< css::beans::PropertyValue > &) override
virtual ~PPTWriter() override
void ImplCreateShape(sal_uInt32 nType, ShapeFlag nFlags, EscherSolverContainer &)
void ImplWriteBackground(css::uno::Reference< css::beans::XPropertySet > const &rXBackgroundPropSet)
void ImplFlipBoundingBox(EscherPropertyContainer &rPropOpt)
sal_uInt32 ImplMasterSlideListContainer(SvStream *pOutStrm)
void ImplWriteClickAction(SvStream &rSt, css::presentation::ClickAction eAction, bool bMediaClickAction)
bool ImplCreateCellBorder(const CellBorder *pCellBorder, sal_Int32 nX1, sal_Int32 nY1, sal_Int32 nX2, sal_Int32 nY2)
std::unique_ptr< SvMemoryStream > mpExEmbed
tools::SvRef< SotStorageStream > mpPicStrm
virtual bool ImplCreateMainNotes() override
virtual void exportPPTPost() override
tools::SvRef< SotStorage > mrStg
void ImplWriteAtomEnding()
void ImplCreateHeaderFooters(css::uno::Reference< css::beans::XPropertySet > const &rXPagePropSet)
bool ImplGetText()
Loads and converts text from shape, value is stored in mnTextSize.
TextObjBinary(css::uno::Reference< css::text::XSimpleText > const &rXText, int nInstance, FontCollection &rFontCollection, PPTExBulletProvider &rBuProv)
void Write(SvStream *pStrm)
void WriteTextSpecInfo(SvStream *pStrm)
class SAL_NO_VTABLE XPropertySet
EPPTHyperlink(OUString _aURL, sal_uInt32 nT)
PPTExOleObjEntry(PPTExOleObjEntryType eT, sal_uInt32 nOfs)
PPTExOleObjEntryType eType
sal_uInt32 nOfsB
offset to the EPP_ExOleObjStg
css::uno::Reference< css::awt::XControlModel > xControlModel
sal_uInt32 nOfsA
offset to the EPP_ExOleObjAtom in mpExEmbed (set at creation)
css::uno::Reference< css::drawing::XShape > xShape
std::unique_ptr< SvMemoryStream > pOut