LibreOffice Module filter (master) 1
svdfppt.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_FILTER_MSFILTER_SVDFPPT_HXX
21#define INCLUDED_FILTER_MSFILTER_SVDFPPT_HXX
22
23#include <algorithm>
24#include <cstddef>
25#include <memory>
26#include <vector>
27
28#include <optional>
29
30#include <com/sun/star/uno/Reference.hxx>
31#include <editeng/eeitem.hxx>
32#include <editeng/flditem.hxx>
37#include <o3tl/enumarray.hxx>
38#include <rtl/ref.hxx>
39#include <rtl/textenc.h>
40#include <rtl/ustring.hxx>
41#include <sal/types.h>
42#include <svx/msdffdef.hxx>
43#include <tools/color.hxx>
44#include <tools/fontenum.hxx>
45#include <tools/gen.hxx>
46#include <tools/ref.hxx>
47#include <tools/solar.h>
48#include <vcl/graph.hxx>
50
51namespace com::sun::star {
52 namespace awt { struct Size; }
53 namespace drawing { class XShape; }
54 namespace form { class XFormComponent; }
55 namespace frame { class XModel; }
56}
57
58class SdrPage;
59class SdrObject;
60class SvStream;
61class SfxItemSet;
62class SdrOutliner;
63class SfxStyleSheet;
64class SotStorage;
65class SvMemoryStream;
66class SvxNumberFormat;
67class PPTTextObj;
68enum class PptSlideLayout;
69enum class PptPlaceholder : sal_uInt8;
70
71#define PPT_IMPORTFLAGS_NO_TEXT_ASSERT 1
72
74{
75 sal_uInt32 nMagic;
76 sal_uInt32 nCurrentUserEdit;
77 sal_uInt16 nDocFileVersion;
80 OUString aCurrentUser;
81
82public:
83
85 nCurrentUserEdit ( 0 ),
86 nDocFileVersion ( 0 ),
87 nMajorVersion ( 0 ),
88 nMinorVersion ( 0 ) {}
89
91};
92
94{
96 sal_uInt32 nImportFlags;
98
99 PowerPointImportParam( SvStream& rDocStream );
100};
101
103{
104 sal_uInt32 nIndex;
105 sal_Int32 nPrivate1;
106 sal_Int32 nPrivate2;
107 sal_Int32 nPrivate3;
108 sal_Int32 nInfo;
109 OUString aTarget;
110 OUString aSubAddress;
111
113};
114
115// Helper class for reading the PPT InteractiveInfoAtom
117{
118 sal_uInt32 nSoundRef;
119 sal_uInt32 nExHyperlinkId;
125
126 // unknown, because total size is 16
130
131public:
132
134};
135
137
140 PPTPF_USLETTER, // 8.5x11"
141 PPTPF_A4, // 210x297mm
146
147// values for PPT_PST_TextHeaderAtom's sal_uLong
149{
154 PPTTH_OTHER, // Text in a Shape
155 PPTTH_CENTERBODY, // Subtitle in Title-Slide
156 PPTTH_CENTERTITLE, // Title in Title-Slide
157 PPTTH_HALFBODY, // Body in two-column slide
158 PPTTH_QUARTERBODY // Body in four-body slide
160
161enum class TSS_Type : unsigned {
162 PageTitle = 0,
163 Body = 1,
164 Notes = 2,
165 Unused = 3,
166 TextInShape = 4,
167 Subtitle = 5,
168 Title = 6,
169 HalfBody = 7,
170 QuarterBody = 8,
172 Unknown = 0xffffffff // or invalid
173};
174
175const int nMaxPPTLevels = 10;
176
177// Object IDs for StarDraw UserData
178#define PPT_OBJECTINFO_ID (1)
179
181{
182 Size aSlidesPageSize; // page size of the slides in 576DPI
183 Size aNotesPageSize; // page size of the notes in 576DPI
184 // avoid RatioAtom for the time being
185 sal_uInt32 nNotesMasterPersist; // 0=non-existent
186 sal_uInt32 nHandoutMasterPersist; // 0=non-existent
187 sal_uInt16 n1stPageNumber; // page number of the first slide
188 PptPageFormat eSlidesPageFormat; // page format of the slides
189 bool bEmbeddedTrueType : 1; // TrueType directly within the File?
191 bool bRightToLeft : 1;
193
194public:
195
197 : nNotesMasterPersist(0)
198 , nHandoutMasterPersist(0)
199 , n1stPageNumber(0)
200 , eSlidesPageFormat(PPTPF_SCREEN)
201 , bEmbeddedTrueType(false)
202 , bTitlePlaceholdersOmitted(false)
203 , bRightToLeft(false)
204 , bShowComments(false)
205 {
206 }
207
208 Size const & GetSlidesPageSize() const { return aSlidesPageSize; }
209 Size const & GetNotesPageSize() const { return aNotesPageSize; }
210
212};
213
215{
218
219public:
221 void Clear();
222
223 // SlideLayoutAtom is read without header!
225};
226
228{
230 sal_uInt32 nMasterId;
231 sal_uInt32 nNotesId;
232 sal_uInt16 nFlags;
233
234public:
236 void Clear();
237
238 friend SvStream& ReadPptSlideAtom(SvStream& rIn, PptSlideAtom& rAtom);
239};
240
242{
243 sal_uInt32 nPsrReference;
244 sal_uInt32 nFlags;
245 sal_uInt32 nNumberTexts;
246 sal_uInt32 nSlideId;
247 sal_uInt32 nReserved; // we will use nReserved temporarily to set the offset to SSSlideInfoAtom ( if possible )
248
249public:
251 void Clear();
252
254};
255
257{
258 sal_uInt32 nSlideId;
259 sal_uInt16 nFlags;
260
261public:
263 void Clear();
264
265 friend SvStream& ReadPptNotesAtom(SvStream& rIn, PptNotesAtom& rAtom);
266};
267
269{
270 sal_uInt8 aData[32] = {};
271
272public:
274 Color GetColor( sal_uInt16 nNum ) const;
275
277};
278
280{
281 OUString aName;
284
285 rtl_TextEncoding eCharSet;
289
291};
292
293enum class PptViewTypeEnum : sal_uInt16
294{
295 NONE = 0,
296 Slide = 1,
297 SlideMaster = 2,
298 Notes = 3,
299 Handout = 4,
300 NotesMaster = 5,
301 OutlineMaster = 6,
302 Outline = 7,
303 SlideSorter = 8,
304 VisualBasic = 9,
305 TitleMaster = 10,
306 SlideShow = 11,
308 NotesText = 13,
309 PrintPreview = 14,
310 Thumbnails = 15,
311 MasterThumbnails = 16,
312 PodiumSlideView = 17,
313 PodiumNotesView = 18,
314};
315
317{
319 sal_Int32 nLastSlideID; // ID of last visible slide
320 sal_uInt32 nVersion; // This is major/minor/build which did the edit
321 sal_uInt32 nOffsetLastEdit; // File offset of prev PptUserEditAtom
322 sal_uInt32 nOffsetPersistDirectory; // Offset to PersistPtrs for this file version.
323 sal_uInt32 nDocumentRef;
324 sal_uInt32 nMaxPersistWritten; // total number of Persist entries up to this point
326
327public:
329 : nLastSlideID( 0 )
330 , nVersion( 0 )
331 , nOffsetLastEdit( 0 )
333 , nDocumentRef( 0 )
334 , nMaxPersistWritten( 0 )
336 {}
337
339};
340
342{
343 sal_uInt32 nPlacementId;
345 sal_uInt8 nPlaceholderSize; // 0=Full size, 1=Half size, 2=Quarter of Slide
346
347public:
349 void Clear();
350
352};
353
354struct PPTStyleSheet;
355struct HeaderFooterEntry;
357{
360
364 PptColorSchemeAtom aColorScheme; // each slide includes this colorscheme atom
365 std::unique_ptr<PPTStyleSheet> xStyleSheet; // stylesheet of this page (only in masterpages), since XP supports more than one masterpage
366
367 sal_uInt32 HeaderFooterOfs[ 4 ]; // containing the ofs to the placeholder (only masterpage)
368 std::unique_ptr<HeaderFooterEntry> xHeaderFooterEntry;
369 std::unique_ptr<SvxMSDffSolverContainer> xSolverContainer;
370 sal_uInt32 nSlidePersistStartOffset;// is an array to the end of the SlidePersistAtom of this page, TextHeaderAtom is following
372 sal_uInt32 nBackgroundOffset; // fileoffset
373 sal_uInt32 nDrawingDgId; // valid, if not -1
374 std::unique_ptr<sal_uInt32[]>
375 pPresentationObjects; // if valid, this is a pointer to an array that includes the offsets to the presentation objects
376 // on this masterpage for each instance (0 - 8);
378
380
381 bool bNotesMaster : 1; // for NotesMaster
382 bool bHandoutMaster : 1; // for HandoutMaster
383 bool bStarDrawFiller : 1; // special for StarDraw
384public:
387 sal_uInt32 GetSlideId() const { return aPersistAtom.nSlideId; }
388};
389
390#define PPTSLIDEPERSIST_ENTRY_NOTFOUND 0xFFFF
391
393{
394private:
397
398 typedef std::vector<std::unique_ptr<PptSlidePersistEntry>> Entries_t;
400
401public:
404
405 size_t size() const { return mvEntries.size(); }
406 bool is_null( size_t nIdx ) const { return mvEntries[ nIdx ] == nullptr; }
407 const PptSlidePersistEntry& operator[](size_t nIdx) const { return *mvEntries[ nIdx ]; }
408 PptSlidePersistEntry& operator[](size_t nIdx) { return *mvEntries[ nIdx ]; }
409 Entries_t::iterator begin() { return mvEntries.begin(); }
410 void insert( Entries_t::iterator it,
411 std::unique_ptr<PptSlidePersistEntry> pEntry )
412 {
413 mvEntries.insert(it, std::move(pEntry));
414 }
415 void push_back(std::unique_ptr<PptSlidePersistEntry> pEntry)
416 {
417 mvEntries.push_back(std::move(pEntry));
418 }
419
420 sal_uInt16 FindPage( sal_uInt32 nId ) const;
421};
422
423class SfxObjectShell;
425{
426 sal_uInt32 nId; // OleId
427 sal_uInt32 nRecHdOfs; // points to the record header: ExObjListHd
429 sal_uInt16 nType; // maybe PPT_PST_ExEmbed or PPT_PST_ExControl
430 sal_uInt32 nAspect; // the aspect of the OLE object
431
432 PPTOleEntry( sal_uInt32 nid, sal_uInt32 nOfs, SfxObjectShell* pSh, sal_uInt16 nT, sal_uInt32 nAsp )
433 : nId(nid)
434 , nRecHdOfs(nOfs)
435 , pShell(pSh)
436 , nType(nT)
437 , nAspect(nAsp)
438 {}
439};
440
442{
443 sal_uInt32 nAspect;
444 sal_uInt32 nId;
445 sal_uInt32 nPersistPtr;
446
447public:
448
450};
451
452// SdPage derives from SdrPage, is only known inside sd, and needs to be carried
453// around as an opaque pointer here:
455 explicit SdPageCapsule(SdrPage * thePage): page(thePage) {}
456
458};
459
461{
462protected:
463
464 friend class PPTTextObj;
465 friend class PPTPortionObj;
467 friend class ImplSdPPTImport;
468
470 DffRecordManager aDocRecManager; // contains all first level container and atoms of the document container
471
472 ::std::vector< PPTOleEntry > aOleObjectList;
473
474 std::optional<std::vector<PptFontEntityAtom>> m_xFonts;
475
476 sal_uInt32 nStreamLen;
477
478 bool ReadString( OUString& rStr ) const;
479 // only for PowerPoint filter:
480 virtual const PptSlideLayoutAtom* GetSlideLayoutAtom() const;
481
482public:
484
486
487 SdrEscherImport( PowerPointImportParam&, const OUString& rBaseURL );
488 virtual ~SdrEscherImport() override;
489 virtual bool GetColorFromPalette( sal_uInt16 nNum, Color& rColor ) const override;
490 virtual bool SeekToShape( SvStream& rSt, SvxMSDffClientData* pClientData, sal_uInt32 nId ) const override;
491 const PptFontEntityAtom* GetFontEnityAtom( sal_uInt32 nNum ) const;
492 void RecolorGraphic( SvStream& rSt, sal_uInt32 nRecLen, Graphic& rGraph );
493 virtual SdrObject* ReadObjText( PPTTextObj* pTextObj, SdrObject* pObj, SdPageCapsule pPage ) const;
494 virtual rtl::Reference<SdrObject> ProcessObj( SvStream& rSt, DffObjData& rData, SvxMSDffClientData& rClientData, tools::Rectangle& rTextRect, SdrObject* pObj ) override;
495 virtual void ProcessClientAnchor2( SvStream& rSt, DffRecordHeader& rHd, DffObjData& rObj ) override;
496 void ImportHeaderFooterContainer( DffRecordHeader const & rHeader, HeaderFooterEntry& rEntry );
497};
498
499
501{
502 sal_uInt16 nPos;
503 sal_uInt16 nTextRangeEnd;
504 std::unique_ptr<SvxFieldItem> xField1;
505 std::unique_ptr<SvxFieldItem> xField2;
506 std::optional<OUString> xString;
507
509 : nPos(0)
510 , nTextRangeEnd(0)
511 {
512 }
513
515
516 void SetDateTime( sal_uInt32 nType );
517
518 // converting PPT date time format:
519 static void GetDateTime(
520 const sal_uInt32 nVal,
521 SvxDateFormat& eDateFormat,
522 SvxTimeFormat& eTimeFormat
523 );
524};
525
527{
529 OUString pPlaceholder[ 4 ];
530 sal_uInt32 nAtom;
531
532 sal_uInt32 IsToDisplay( sal_uInt32 nInstance );
533 sal_uInt32 NeedToImportInstance(
534 const sal_uInt32 nInstance,
535 const PptSlidePersistEntry& rSlidePersist
536 );
537
538 explicit HeaderFooterEntry( const PptSlidePersistEntry* pMaster = nullptr );
539};
540
542{
545 ::std::vector< rtl::Reference<SdrObject> > aBackgroundColoredObjects;
546 std::unique_ptr<sal_uInt32[]> pTableRowProperties;
547
549 rPersistEntry ( rP ),
550 pPage ( pP ) {};
551
552 virtual void NotifyFreeObj(SdrObject* pObj) override;
553};
554
555
556class SdrTextObj;
557
559{
560protected:
561
562 friend class PPTTextObj;
563 friend class PPTExtParaProv;
564 friend struct PPTStyleSheet;
566
567 bool m_bOk;
570 ::std::vector< SdHyperlinkEntry > m_aHyperList;
571 std::unique_ptr<sal_uInt32[]>
574
575 const PPTStyleSheet* m_pPPTStyleSheet; // this is the current stylesheet;
576 const PPTStyleSheet* m_pDefaultSheet; // this is a sheet we are using if no masterpage can be found, but that should
577 // never happen just preventing a crash
578 std::unique_ptr<PptSlidePersistList> m_pMasterPages;
579 std::unique_ptr<PptSlidePersistList> m_pSlidePages;
580 std::unique_ptr<PptSlidePersistList> m_pNotePages;
586
587protected:
589
590 bool SeekToCurrentPage(DffRecordHeader* pRecHd) const;
591 bool SeekToDocument(DffRecordHeader* pRecHd) const;
592 static bool SeekToContentOfProgTag(
593 sal_Int32 nVersion,
594 SvStream& rSt,
595 const DffRecordHeader& rProgTagBinaryDataHd,
596 DffRecordHeader& rContentHd
597 );
598 virtual SdrObject* ApplyTextObj(
599 PPTTextObj* pTextObj,
600 SdrTextObj* pText,
601 SdPageCapsule pPage,
603 SfxStyleSheet** )
604 const;
605 virtual SdrObject* ReadObjText( PPTTextObj* pTextObj, SdrObject* pObj, SdPageCapsule pPage ) const override;
606 // #i32596# - new parameter <_nCalledByGroup>, which
607 // indicates, if the OLE object is imported inside a group object.
608 virtual rtl::Reference<SdrObject> ImportOLE(
609 sal_uInt32 nOLEId,
610 const Graphic& rGraf,
611 const tools::Rectangle& rBoundRect,
612 const tools::Rectangle& rVisArea,
613 const int _nCalledByGroup
614 ) const override;
615 std::unique_ptr<SvMemoryStream> ImportExOleObjStg( sal_uInt32 nPersistPtr, sal_uInt32& nOleId ) const;
616 rtl::Reference<SdrPage> MakeBlankPage(bool bMaster) const;
617 bool ReadFontCollection();
618 PptSlidePersistList* GetPageList(PptPageKind ePageKind) const;
619 sal_uInt32 GetCurrentPageId();
620 sal_uInt32 GetMasterPageId(sal_uInt16 nPageNum, PptPageKind ePageKind) const;
621 sal_uInt32 GetNotesPageId(sal_uInt16 nPageNum ) const;
622 static SdrOutliner* GetDrawOutliner( SdrTextObj const * pSdrText );
623 void SeekOle( SfxObjectShell* pShell, sal_uInt32 nFilterOptions );
624
625 void ApplyTextAnchorAttributes( PPTTextObj const & rTextObj, SfxItemSet& rSet ) const;
626 bool IsVerticalText() const;
627
628public:
629 SdrPowerPointImport( PowerPointImportParam&, const OUString& rBaseURL );
630 virtual ~SdrPowerPointImport() override;
631 sal_uInt16 GetPageCount( PptPageKind eKind = PPT_SLIDEPAGE ) const;
632 void SetPageNum( sal_uInt16 nPageNum, PptPageKind = PPT_SLIDEPAGE );
633 Size GetPageSize() const;
634 rtl::Reference<SdrObject> ImportPageBackgroundObject(
635 const SdrPage& rPage,
636 sal_uInt32& nBgFileOffset
637 );
638 bool IsNoteOrHandout( sal_uInt16 nPageNum ) const;
639 bool HasMasterPage(
640 sal_uInt16 nPageNum,
641 PptPageKind ePageKind = PPT_SLIDEPAGE
642 ) const;
643 sal_uInt16 GetMasterPageIndex(
644 sal_uInt16 nPageNum,
645 PptPageKind ePageKind = PPT_SLIDEPAGE
646 ) const;
647
648 void ImportPage( SdrPage* pPage, const PptSlidePersistEntry* pMasterPersist );
649 virtual bool GetColorFromPalette(sal_uInt16 nNum, Color& rColor) const override;
650 virtual bool SeekToShape( SvStream& rSt, SvxMSDffClientData* pClientData, sal_uInt32 nId ) const override;
651 virtual const PptSlideLayoutAtom* GetSlideLayoutAtom() const override;
653 SdrObject* pGroupObject,
654 const sal_uInt32* pTableArry,
655 SvxMSDffSolverContainer* pSolverContainer,
656 std::vector<rtl::Reference<SdrObject>>& rBackgroundColoredObjects
657 );
658 virtual bool ReadFormControl( tools::SvRef<SotStorage>& rSrc1, css::uno::Reference< css::form::XFormComponent > & rFormComp ) const = 0;
659};
660
662{
663 bool bValid;
667
669
670 bool Read( SvStream& rIn, const DffRecordHeader& rRecHd );
671};
672
674{
675 sal_uInt32 nCharIdx;
677 sal_uInt16 nDontKnow;
678
679 explicit PPTTextSpecInfo( sal_uInt32 nCharIdx );
680};
681
683{
684 bool bValid;
685 ::std::vector< PPTTextSpecInfo > aList;
686
689
690 bool Read(
691 SvStream& rIn,
692 const DffRecordHeader& rRecHd,
693 sal_uInt16 nRecordType,
694 const PPTTextSpecInfo* pTextSpecDefault = nullptr
695 );
696
697};
698
699#define PPT_STYLESHEETENTRIES 9
700
702{
704 sal_uInt16 mnBuBlip;
705 sal_uInt16 mnHasAnm;
706 sal_uInt32 mnAnmScheme;
707 sal_uInt32 mpfPP10Ext;
709 sal_uInt32 mcfPP10Ext;
710 bool mbSet;
711
714};
715
717{
719};
720
722{
723 sal_uInt32 nInstance;
725
726 PPTBuGraEntry( Graphic aGraphic, sal_uInt32 nInstance );
727};
728
730{
731 ::std::vector< std::unique_ptr<PPTBuGraEntry> > aBuGraList;
732
733public:
736
738
739 bool GetGraphic( sal_uInt32 nInstance, Graphic& rGraphic ) const;
740
742 SdrPowerPointImport& rManager,
743 SvStream& rSt,
744 const DffRecordHeader* pMainMasterHd
745 );
747};
748
750{
752 sal_uInt32 mnFontColor;
753 sal_uInt16 mnFlags;
754 sal_uInt16 mnFont;
756 sal_uInt16 mnFontHeight;
757 sal_uInt16 mnEscapement;
758};
759
761{
763
764 explicit PPTCharSheet( TSS_Type nInstance );
765
766 void Read( SvStream& rIn, sal_uInt32 nLevel );
767};
768
770{
771 sal_uInt16 mnBuFlags;
772 sal_uInt16 mnBulletChar;
773 sal_uInt16 mnBulletFont;
774 sal_uInt16 mnBulletHeight;
775 sal_uInt32 mnBulletColor;
776
777 sal_uInt16 mnAdjust;
778 sal_uInt16 mnLineFeed;
779 sal_uInt16 mnUpperDist;
780 sal_uInt16 mnLowerDist;
781 sal_uInt16 mnTextOfs;
782 sal_uInt16 mnBulletOfs;
783 sal_uInt16 mnDefaultTab;
784 sal_uInt16 mnAsianLineBreak; // bit0: use asian rules for first and last character
785 // 1: do not wrap latin text in the middle of the word
786 // 2: allow hanging punctuation
787 sal_uInt16 mnBiDi;
788};
789
791{
792public:
793
795
796 explicit PPTParaSheet( TSS_Type nInstance );
797
798 void Read(
799 SdrPowerPointImport const & rMan,
800 SvStream& rIn,
801 sal_uInt32 nLevel,
802 bool bFirst
803 );
804 void UpdateBulletRelSize( sal_uInt32 nLevel, sal_uInt16 nFontHeight );
805};
806
807class PPTParagraphObj;
809{
810 sal_uInt32 nIsBullet;
811 sal_uInt32 nBulletChar;
812 sal_uInt32 nBulletFont;
813 sal_uInt32 nBulletHeight;
814 sal_uInt32 nBulletColor;
815 sal_uInt32 nTextOfs;
816 sal_uInt32 nBulletOfs;
817
819 SdrPowerPointImport const & rMan,
820 SvxNumberFormat& rNumberFormat
821 );
823 SdrPowerPointImport const & rMan,
824 SvxNumberFormat& rNumberFormat,
825 sal_uInt32 nLevel,
826 TSS_Type nInstance,
827 TSS_Type nInstanceInSheet,
828 std::optional< sal_Int16 >& rStartNumbering,
829 sal_uInt32 nFontHeight,
830 PPTParagraphObj const * pPara
831 );
832
833protected:
834
835 PPTNumberFormatCreator( std::unique_ptr<PPTExtParaProv> );
837
838public:
839
840 std::unique_ptr<PPTExtParaProv> pExtParaProv;
841
842 void GetNumberFormat(
843 SdrPowerPointImport const & rMan,
844 SvxNumberFormat& rNumberFormat,
845 sal_uInt32 nLevel,
846 const PPTParaLevel& rParaLevel,
847 const PPTCharLevel& rCharLevel,
848 TSS_Type nInstance
849 );
850
851 bool GetNumberFormat(
852 SdrPowerPointImport const & rMan,
853 SvxNumberFormat& rNumberFormat,
854 PPTParagraphObj* pPara,
855 TSS_Type nInstanceInSheet,
856 std::optional< sal_Int16 >& rStartNumbering
857 );
858};
859
860class SvxNumBulletItem;
862{
867
869 const DffRecordHeader& rSlideHd,
872 const PPTTextSpecInfo&
873 );
875};
876
878{
879 sal_uInt16 mnDepth;
880 sal_uInt32 mnAttrSet;
881 sal_uInt32 mnBulletColor;
882 sal_uInt16 mpArry[ 22 ];
883
885 sal_uInt32 mnAnmScheme;
886 sal_uInt16 mnHasAnm;
887 sal_uInt16 mnBuBlip;
888
889 sal_uInt32 nDontKnow1;
890 sal_uInt32 nDontKnow2;
891 sal_uInt16 nDontKnow2bit06;
892
894 : mnDepth( 0 )
895 , mnAttrSet( 0 )
896 , mnBulletColor( 0 )
897 , mnExtParagraphMask( 0 )
898 , mnAnmScheme( 0 )
899 , mnHasAnm( 0 )
900 , mnBuBlip( 0 )
901 , nDontKnow1( 0 )
902 , nDontKnow2( 0 )
903 , nDontKnow2bit06( 0 )
904 { }
905};
906
908{
911
913 PPTParaPropSet( PPTParaPropSet const & rParaPropSet );
915
916 PPTParaPropSet& operator=( const PPTParaPropSet& rParaPropSet );
917};
918
920{
921 sal_uInt32 mnAttrSet;
922 sal_uInt16 mnFlags;
923 sal_uInt32 mnColor;
924 sal_uInt16 mnFont;
926 sal_uInt16 mnANSITypeface;
927 sal_uInt16 mnFontHeight;
928 sal_uInt16 mnEscapement;
929 sal_uInt16 mnSymbolFont;
930
932 : mnAttrSet( 0 )
933 , mnFlags( 0 )
934 , mnColor( 0 )
935 , mnFont( 0 )
937 , mnANSITypeface( 0 )
938 , mnFontHeight( 0 )
939 , mnEscapement( 0 )
940 , mnSymbolFont( 0)
941 { }
942};
943
945{
946 //when the bullet text has more than two color,next the text following with bullet has been set hyperlink.
947 //now,the bullet color should be set original hyperlink text's color
948 //so "mbHardHylinkOrigColor" hold the original hyperlink text's color.
950 //the bullet text whether has a hyperlink.
952 //the hyperlink text whether has a custom color.
954
956 sal_uInt32 mnParagraph;
957 OUString maString;
958 std::unique_ptr<SvxFieldItem>
961
962 void SetFont( sal_uInt16 nFont );
963 void SetColor( sal_uInt32 nColor );
964
965 explicit PPTCharPropSet( sal_uInt32 nParagraph );
966 PPTCharPropSet( const PPTCharPropSet& rCharPropSet );
967 PPTCharPropSet( const PPTCharPropSet& rCharPropSet, sal_uInt32 nParagraph );
969
970 PPTCharPropSet& operator=( const PPTCharPropSet& rCharPropSet );
971
972 friend class PPTTextObj;
973 friend class PPTParagraphObj;
974 friend class PPTPortionObj;
976
977private:
979};
980
982{
983 sal_uInt16 nOffset;
984 sal_uInt16 nStyle;
985};
986
988{
989 sal_Int32 nFlags;
990 sal_uInt16 nDefaultTab;
991 sal_uInt16 nTextOfs[nMaxPPTLevels] = {};
992 sal_uInt16 nBulletOfs[nMaxPPTLevels] = {};
993 std::unique_ptr<PPTTabEntry[]>
995 sal_uInt16 nTabCount;
996
997 PPTRuler();
998 virtual ~PPTRuler() override;
999};
1000
1002{
1003private:
1005public:
1009 sal_uInt32 nFileOfs,
1010 DffRecordHeader const & rHd,
1011 SvStream& rIn
1012 );
1014
1015 sal_uInt16 GetTabOffsetByIndex( sal_uInt16 nIndex ) const
1016 { return mxImplRuler->pTab[ nIndex ].nOffset; };
1017
1018 sal_uInt16 GetTabStyleByIndex( sal_uInt16 nIndex ) const
1019 { return mxImplRuler->pTab[ nIndex ].nStyle; };
1020
1021 sal_uInt16 GetTabCount() const { return mxImplRuler->nTabCount; };
1022 bool GetDefaultTab( sal_uInt16& nValue ) const;
1023 bool GetTextOfs( sal_uInt32 nLevel, sal_uInt16& nValue ) const;
1024 bool GetBulletOfs( sal_uInt32 nLevel, sal_uInt16& nValue ) const;
1025
1027};
1028
1029#define PPT_SPEC_NEWLINE 0x10000
1030#define PPT_SPEC_SYMBOL 0x20000
1031
1033{
1035 sal_uInt16 mnBuBlip;
1036 sal_uInt16 mnHasAnm;
1037 sal_uInt32 mnAnmScheme;
1038 sal_uInt32 mpfPP10Ext;
1040 sal_uInt32 mncfPP10Ext;
1042 sal_uInt32 mnPP10Ext;
1043 sal_uInt16 mfBidi;
1044
1046 : mnExtParagraphMask( 0 )
1047 , mnBuBlip( 0 )
1048 , mnHasAnm( 0 )
1049 , mnAnmScheme( 0 )
1050 , mpfPP10Ext( 0 )
1051 , mnExtCharacterMask( 0 )
1052 , mncfPP10Ext( 0 )
1053 , mnSpecialInfoMask( 0 )
1054 , mnPP10Ext( 0 )
1055 , mfBidi( 0 )
1056 {
1057 }
1058 void Read( SvStream& rSt );
1059};
1060
1062{
1063 std::vector< sal_uInt32 > aSpecMarkerList; // hiword -> Flags, loword -> Position
1064 std::vector<std::unique_ptr<PPTParaPropSet>> aParaPropList;
1065 std::vector<std::unique_ptr<PPTCharPropSet>> aCharPropList;
1066
1068 SvStream& rIn,
1069 const DffRecordHeader& rClientTextBoxHd,
1070 PPTTextRulerInterpreter const & rInterpreter,
1071 const DffRecordHeader& rExtParaHd,
1072 TSS_Type nTextInstance
1073 );
1075
1076 void Init(
1077 SvStream& rIn,
1078 const DffRecordHeader& rClientTextBoxHd,
1079 PPTTextRulerInterpreter const & rInterpreter,
1080 const DffRecordHeader& rExtParaHd,
1081 TSS_Type nTextInstance
1082 );
1083 void ReadParaProps(
1084 SvStream& rIn,
1085 const DffRecordHeader& rTextHeader,
1086 const OUString& aString,
1087 PPTTextRulerInterpreter const & rRuler,
1088 sal_uInt32& nCharCount,
1089 bool& bTextPropAtom
1090 );
1091 static void ReadCharProps(
1092 SvStream& rIn,
1093 PPTCharPropSet& aCharPropSet,
1094 std::u16string_view aString,
1095 sal_uInt32& nCharCount,
1096 sal_uInt32 nCharReadCnt,
1097 bool& bTextPropAtom,
1098 sal_uInt32 nExtParaPos,
1099 const std::vector< StyleTextProp9 >& aStyleTextProp9,
1100 sal_uInt32& nExtParaFlags,
1101 sal_uInt16& nBuBlip,
1102 sal_uInt16& nHasAnm,
1103 sal_uInt32& nAnmScheme
1104 );
1105};
1106
1108{
1109
1110 friend class PPTParagraphObj;
1111
1114 sal_uInt32 mnDepth;
1115
1116public:
1117
1118 bool GetAttrib( sal_uInt32 nAttr, sal_uInt32& nVal, TSS_Type nInstanceInSheet ) const;
1119 SvxFieldItem* GetTextField();
1120
1121 PPTPortionObj( const PPTStyleSheet&, TSS_Type nInstance, sal_uInt32 nDepth );
1123 const PPTCharPropSet&,
1124 const PPTStyleSheet&,
1125 TSS_Type nInstance,
1126 sal_uInt32 nDepth
1127 );
1128 PPTPortionObj( const PPTPortionObj& );
1130
1131 // the following function should be removed during next full update
1132 void ApplyTo(
1133 SfxItemSet& rSet,
1134 SdrPowerPointImport& rManager,
1135 TSS_Type nInstanceInSheet
1136 );
1137 void ApplyTo(
1138 SfxItemSet& rSet,
1139 SdrPowerPointImport& rManager,
1140 TSS_Type nInstanceInSheet,
1141 const PPTTextObj* pTextObj
1142 );
1143 sal_uInt32 Count() const { return mpFieldItem ? 1 : maString.getLength(); };
1144};
1145
1147 : public PPTParaPropSet,
1150{
1151 friend class PPTTextObj;
1153
1156
1158 void operator=(PPTParagraphObj const&) = delete;
1159
1161 ::std::vector<std::unique_ptr<PPTPortionObj>> m_PortionList;
1162
1163public:
1164 void UpdateBulletRelSize( sal_uInt32& nBulletRelSize ) const;
1165 bool GetAttrib( sal_uInt32 nAttr, sal_uInt32& nVal, TSS_Type nInstanceInSheet );
1166
1168 const PPTStyleSheet&,
1169 TSS_Type nInstance,
1170 sal_uInt16 nDepth
1171 );
1174 size_t nCurParaPos,
1175 size_t& rnCurCharPos,
1176 const PPTStyleSheet&,
1177 TSS_Type nInstance,
1178 PPTTextRulerInterpreter const & rRuler
1179 );
1181
1182 sal_uInt32 GetTextSize();
1185
1186 void AppendPortion( PPTPortionObj& rPortion );
1187 void ApplyTo(
1188 SfxItemSet& rSet,
1189 std::optional< sal_Int16 >& rStartNumbering,
1190 SdrPowerPointImport const & rManager,
1191 TSS_Type nInstanceInSheet
1192 );
1193};
1194
1195#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT 1
1196#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_CENTER 2
1197#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT 4
1198#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_BLOCK 8
1199#define PPT_TEXTOBJ_FLAGS_VERTICAL 16
1200
1202{
1203 sal_uInt32 mnShapeId;
1204 sal_uInt32 mnShapeMaster;
1205 std::optional<PptOEPlaceholderAtom> moPlaceHolderAtom;
1209
1212 std::vector<std::unique_ptr<PPTParagraphObj>>
1215
1216 sal_uInt32 mnTextFlags;
1217
1218 explicit ImplPPTTextObj( PptSlidePersistEntry& rPersistEntry )
1219 : mnShapeId(0)
1220 , mnShapeMaster(0)
1224 , mnCurrentObject(0)
1225 , mnParagraphCount(0)
1226 , mrPersistEntry ( rPersistEntry )
1227 , mnTextFlags(0) {};
1228};
1229
1231{
1233
1234public:
1235 PPTTextObj(
1236 SvStream& rSt,
1239 DffObjData const *
1240 );
1241 PPTTextObj( PPTTextObj const & rTextObj );
1242 ~PPTTextObj();
1243
1244 sal_uInt32 GetCurrentIndex() const { return mxImplTextObj->mnCurrentObject; };
1245 sal_uInt32 Count() const { return mxImplTextObj->mnParagraphCount; };
1248 MSO_SPT GetShapeType() const { return mxImplTextObj->meShapeType; };
1249 TSS_Type GetInstance() const { return mxImplTextObj->mnInstance; };
1250 void SetInstance( TSS_Type nInstance )
1251 { mxImplTextObj->mnInstance = nInstance; }
1252
1254 { return mxImplTextObj->mnDestinationInstance; }
1255
1257 { mxImplTextObj->mnDestinationInstance = nInstance; }
1258
1259 const std::optional<PptOEPlaceholderAtom> & GetOEPlaceHolderAtom() const { return mxImplTextObj->moPlaceHolderAtom; }
1260 sal_uInt32 GetTextFlags() const { return mxImplTextObj->mnTextFlags; }
1261 void SetVertical( bool bVertical )
1262 {
1263 if ( bVertical )
1264 mxImplTextObj->mnTextFlags |= PPT_TEXTOBJ_FLAGS_VERTICAL;
1265 else
1266 mxImplTextObj->mnTextFlags &= ~PPT_TEXTOBJ_FLAGS_VERTICAL;
1267 }
1268 bool GetVertical() const
1269 { return ( mxImplTextObj->mnTextFlags & PPT_TEXTOBJ_FLAGS_VERTICAL ) != 0; }
1270
1271 const SfxItemSet* GetBackground() const;
1272
1273 PPTTextObj& operator=( const PPTTextObj& rTextObj );
1274};
1275
1277{
1278 virtual void GetDrawPage() override;
1281public:
1282
1283 PPTConvertOCXControls( const SdrPowerPointImport* pPPTImporter, const css::uno::Reference< css::frame::XModel >& rxModel, PptPageKind ePKind ) :
1284 SvxMSConvertOCXControls ( rxModel ),
1285 ePageKind ( ePKind ),
1286 mpPPTImporter ( pPPTImporter )
1287 {};
1289 css::uno::Reference<css::drawing::XShape > *pShapeRef );
1290 virtual bool InsertControl(
1291 const css::uno::Reference< css::form::XFormComponent > &rFComp,
1292 const css::awt::Size& rSize,
1293 css::uno::Reference< css::drawing::XShape > *pShape,
1294 bool bFloatingCtrl
1295 ) override;
1296};
1297
1298// PowerPoint record types
1299#define PPT_PST_Document 1000
1300#define PPT_PST_DocumentAtom 1001
1301#define PPT_PST_SlideAtom 1007
1302#define PPT_PST_NotesAtom 1009
1303#define PPT_PST_Environment 1010
1304#define PPT_PST_SlidePersistAtom 1011
1305#define PPT_PST_SSSlideInfoAtom 1017
1306#define PPT_PST_VBAInfo 1023
1307#define PPT_PST_VBAInfoAtom 1024
1308#define PPT_PST_SSDocInfoAtom 1025
1309#define PPT_PST_ExObjList 1033
1310#define PPT_PST_PPDrawingGroup 1035
1311#define PPT_PST_PPDrawing 1036
1312#define PPT_PST_GridSpacing10Atom 1037
1313#define PPT_PST_NamedShows 1040
1314#define PPT_PST_NamedShow 1041
1315#define PPT_PST_NamedShowSlides 1042
1316#define PPT_PST_List 2000
1317#define PPT_PST_FontCollection 2005
1318#define PPT_PST_SoundCollection 2020
1319#define PPT_PST_Sound 2022
1320#define PPT_PST_SoundData 2023
1321#define PPT_PST_ColorSchemeAtom 2032
1322
1323// these atoms first was seen in ppt2000 in a private Tag atom
1324#define PPT_PST_ExtendedBuGraContainer 2040 // consist of 4041
1325#define PPT_PST_ExtendedBuGraAtom 2041 // the instance of this atom indices the current graphic
1326
1327#define PPT_PST_ExObjRefAtom 3009
1328#define PPT_PST_OEPlaceholderAtom 3011
1329#define PPT_PST_OutlineTextRefAtom 3998
1330#define PPT_PST_TextHeaderAtom 3999
1331#define PPT_PST_TextCharsAtom 4000
1332#define PPT_PST_StyleTextPropAtom 4001
1333#define PPT_PST_TxMasterStyleAtom 4003
1334#define PPT_PST_TxPFStyleAtom 4005
1335#define PPT_PST_TextRulerAtom 4006
1336#define PPT_PST_TextBytesAtom 4008
1337#define PPT_PST_TxSIStyleAtom 4009
1338#define PPT_PST_TextSpecInfoAtom 4010
1339
1340// these atoms first was seen in ppt2000 in a private Tag atom
1341#define PPT_PST_ExtendedParagraphAtom 4012
1342#define PPT_PST_ExtendedParagraphMasterAtom 4013
1343#define PPT_PST_ExtendedPresRuleContainer 4014 // consist of 4012, 4015,
1344#define PPT_PST_ExtendedParagraphHeaderAtom 4015 // the instance of this atom indices the current presobj
1345 // the first sal_uInt32 in this atom indices the current slideId
1346#define PPT_PST_TextDefaults9Atom 4016
1347
1348#define PPT_PST_FontEntityAtom 4023
1349#define PPT_PST_CString 4026
1350#define PPT_PST_ExOleObjAtom 4035
1351#define PPT_PST_SrKinsoku 4040
1352#define PPT_PST_ExEmbed 4044
1353#define PPT_PST_ExHyperlinkAtom 4051
1354#define PPT_PST_ExHyperlink 4055
1355#define PPT_PST_SlideNumberMCAtom 4056
1356#define PPT_PST_HeadersFooters 4057
1357#define PPT_PST_HeadersFootersAtom 4058
1358#define PPT_PST_TxInteractiveInfoAtom 4063
1359#define PPT_PST_MasterText 4068
1360#define PPT_PST_RecolorInfoAtom 4071
1361#define PPT_PST_ExControl 4078
1362#define PPT_PST_SlideListWithText 4080
1363#define PPT_PST_AnimationInfoAtom 4081
1364#define PPT_PST_InteractiveInfo 4082
1365#define PPT_PST_InteractiveInfoAtom 4083
1366#define PPT_PST_UserEditAtom 4085
1367#define PPT_PST_CurrentUserAtom 4086
1368#define PPT_PST_DateTimeMCAtom 4087
1369#define PPT_PST_GenericDateMCAtom 4088
1370#define PPT_PST_HeaderMCAtom 4089
1371#define PPT_PST_FooterMCAtom 4090
1372#define PPT_PST_ExMediaAtom 4100
1373#define PPT_PST_ExVideo 4101
1374#define PPT_PST_ExAviMovie 4102
1375#define PPT_PST_ExMCIMovie 4103
1376#define PPT_PST_AnimationInfo 4116
1377#define PPT_PST_RTFDateTimeMCAtom 4117
1378#define PPT_PST_ProgTags 5000
1379#define PPT_PST_ProgBinaryTag 5002
1380#define PPT_PST_BinaryTagData 5003
1381#define PPT_PST_PersistPtrIncrementalBlock 6002
1382
1383// these atoms first was seen in ppt2000 in a private Tag atom
1384#define PPT_PST_PresentationAdvisorFlags9Atom 6010
1385#define PPT_PST_HtmlDocInfo9Atom 6011
1386
1387
1388#define PPT_PST_HashCodeAtom 11008
1389#define PPT_PST_BuildList 11010
1390#define PPT_PST_Comment10 12000
1391#define PPT_PST_CommentAtom10 12001
1392#define PPT_PST_CommentIndex10 12004
1393#define PPT_PST_SlideFlags10Atom 12010
1394#define PPT_PST_SlideTime10Atom 12011
1395#define PPT_PST_DocToolbarStates10Atom 14001
1396
1397// attributes for PptTextStyleSheet
1398#define PPT_ParaAttr_BulletOn 0 //00000001
1399#define PPT_ParaAttr_BuHardFont 1 //00000002
1400#define PPT_ParaAttr_BuHardColor 2 //00000004
1401#define PPT_ParaAttr_BuHardHeight 3 //00000008
1402#define PPT_ParaAttr_BulletFont 4 //00000010
1403#define PPT_ParaAttr_BulletColor 5 //00000020
1404#define PPT_ParaAttr_BulletHeight 6 //00000040
1405#define PPT_ParaAttr_BulletChar 7 //00000080
1406#define PPT_ParaAttr_Adjust 11 //00000800 0000=Left, 0001=Center, 0002=Right, 0003=Block
1407#define PPT_ParaAttr_LineFeed 12 //00001000
1408#define PPT_ParaAttr_UpperDist 13 //00002000 is set to 0032 for TextFrames by default
1409#define PPT_ParaAttr_LowerDist 14 //00004000
1410#define PPT_ParaAttr_TextOfs 15 //00008000
1411#define PPT_ParaAttr_BulletOfs 16 //00010000
1412#define PPT_ParaAttr_DefaultTab 17 //00020000
1413#define PPT_ParaAttr_AsianLB_1 18
1414#define PPT_ParaAttr_AsianLB_2 19
1415#define PPT_ParaAttr_AsianLB_3 20
1416#define PPT_ParaAttr_BiDi 21 //00200000
1417
1418#define PPT_CharAttr_Bold 0 //00000001
1419#define PPT_CharAttr_Italic 1 //00000002
1420#define PPT_CharAttr_Underline 2 //00000004
1421#define PPT_CharAttr_Shadow 4 //00000010
1422#define PPT_CharAttr_Strikeout 8 //00000100
1423#define PPT_CharAttr_Embossed 9 //00000200
1424#define PPT_CharAttr_Font 16 //00010000
1425#define PPT_CharAttr_AsianOrComplexFont 21 //00200000
1426#define PPT_CharAttr_ANSITypeface 22 //00400000
1427#define PPT_CharAttr_Symbol 23 //00800000
1428#define PPT_CharAttr_FontHeight 17 //00020000
1429#define PPT_CharAttr_FontColor 18 //00040000
1430#define PPT_CharAttr_Escapement 19 //00080000
1431
1432// values for PptSlideLayoutAtom.eLayout
1434{
1435 TITLESLIDE = 0, // The slide is a title slide
1436 TITLEANDBODYSLIDE = 1, // Title and body slide
1437 TITLEMASTERSLIDE = 2, // Title master slide
1438 MASTERSLIDE = 3, // Master slide layout
1439 MASTERNOTES = 4, // Master notes layout
1440 NOTESTITLEBODY = 5, // Notes title/body layout
1441 HANDOUTLAYOUT = 6, // Handout layout, therefore it doesn't have placeholders except header, footer, and date
1442 ONLYTITLE = 7, // Only title placeholder
1443 TWOCOLUMNSANDTITLE = 8, // Body of the slide has 2 columns and a title
1444 TWOROWSANDTITLE = 9, // Slide's body has 2 rows and a title
1445 RIGHTCOLUMN2ROWS = 10, // Body contains 2 columns, right column has 2 rows
1446 LEFTCOLUMN2ROWS = 11, // Body contains 2 columns, left column has 2 rows
1447 BOTTOMROW2COLUMNS = 12, // Body contains 2 rows, bottom row has 2 columns
1448 TOPROW2COLUMN = 13, // Body contains 2 rows, top row has 2 columns
1449 FOUROBJECTS = 14, // 4 objects
1450 BIGOBJECT = 15, // Big object
1451 BLANKSLIDE = 16, // Blank slide
1452 TITLERIGHTBODYLEFT = 17, // Vertical title on the right, body on the left
1453 TITLERIGHT2BODIESLEFT = 18 // Vertical title on the right, body on the left split into 2 rows
1454};
1455
1456// the following table describes the placeholder id's (values from reality followed by values taken from the documentation)
1458{
1459 NONE = 0, // 0 None
1460 MASTERTITLE = 1, // 1 Master title
1461 MASTERBODY = 2, // 2 Master body
1462 MASTERCENTEREDTITLE = 3, // 3 Master centered title
1463 MASTERSUBTITLE = 4, // 10 Master subtitle
1464 MASTERNOTESSLIDEIMAGE = 5, // 4 Master notes slide image
1465 MASTERNOTESBODYIMAGE = 6, // 5 Master notes body image
1466 MASTERDATE = 7, // 6 Master date
1467 MASTERSLIDENUMBER = 8, // 7 Master slide number
1468 MASTERFOOTER = 9, // 8 Master footer
1469 MASTERHEADER = 10, // 9 Master header
1470 // 11 Generic text object
1471 TITLE = 13, // 12 Title
1472 BODY = 14, // 13 Body
1473 NOTESBODY = 12, // 14 Notes body
1474 CENTEREDTITLE = 15, // 15 Centered title
1475 SUBTITLE = 16, // 16 Subtitle
1476 VERTICALTEXTTITLE = 17, // 17 Vertical text title
1477 VERTICALTEXTBODY = 18, // 18 Vertical text body
1478 NOTESSLIDEIMAGE = 11, // 19 Notes slide image
1479 OBJECT = 19, // 20 Object (no matter the size)
1480 GRAPH = 20, // 21 Graph
1481 TABLE = 21, // 22 Table
1482 CLIPART = 22, // 23 Clip Art
1483 ORGANISZATIONCHART = 23, // 24 Organization Chart
1484 MEDIACLIP = 24 // 25 Media Clip
1485};
1486
1487#endif // INCLUDED_FILTER_MSFILTER_SVDFPPT_HXX
1488
1489/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual rtl::Reference< SdrObject > ProcessObj(SvStream &rSt, DffObjData &rData, SvxMSDffClientData &rClientData, ::tools::Rectangle &rTextRect, SdrObject *pObj) override
const SdrPowerPointImport * mpPPTImporter
Definition: svdfppt.hxx:1280
PptPageKind ePageKind
Definition: svdfppt.hxx:1279
virtual void GetDrawPage() override
Definition: svdfppt.cxx:1748
virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent > &rFComp, const css::awt::Size &rSize, css::uno::Reference< css::drawing::XShape > *pShape, bool bFloatingCtrl) override
Definition: svdfppt.cxx:1696
PPTConvertOCXControls(const SdrPowerPointImport *pPPTImporter, const css::uno::Reference< css::frame::XModel > &rxModel, PptPageKind ePKind)
Definition: svdfppt.hxx:1283
bool ReadOCXStream(tools::SvRef< SotStorage > &rSrc1, css::uno::Reference< css::drawing::XShape > *pShapeRef)
Definition: svdfppt.cxx:1680
DffRecordManager aExtendedPresRules
Definition: svdfppt.hxx:735
::std::vector< std::unique_ptr< PPTBuGraEntry > > aBuGraList
Definition: svdfppt.hxx:731
bool GetGraphic(sal_uInt32 nInstance, Graphic &rGraphic) const
Definition: svdfppt.cxx:3216
o3tl::enumarray< TSS_Type, PPTExtParaSheet > aExtParaSheet
Definition: svdfppt.hxx:737
PPTExtParaProv(SdrPowerPointImport &rManager, SvStream &rSt, const DffRecordHeader *pMainMasterHd)
Definition: svdfppt.cxx:3243
PPTNumberFormatCreator(std::unique_ptr< PPTExtParaProv >)
Definition: svdfppt.cxx:3389
bool ImplGetExtNumberFormat(SdrPowerPointImport const &rMan, SvxNumberFormat &rNumberFormat, sal_uInt32 nLevel, TSS_Type nInstance, TSS_Type nInstanceInSheet, std::optional< sal_Int16 > &rStartNumbering, sal_uInt32 nFontHeight, PPTParagraphObj const *pPara)
Definition: svdfppt.cxx:3405
sal_uInt32 nBulletFont
Definition: svdfppt.hxx:812
std::unique_ptr< PPTExtParaProv > pExtParaProv
Definition: svdfppt.hxx:840
sal_uInt32 nBulletHeight
Definition: svdfppt.hxx:813
sal_uInt32 nBulletChar
Definition: svdfppt.hxx:811
sal_uInt32 nIsBullet
Definition: svdfppt.hxx:810
void GetNumberFormat(SdrPowerPointImport const &rMan, SvxNumberFormat &rNumberFormat, sal_uInt32 nLevel, const PPTParaLevel &rParaLevel, const PPTCharLevel &rCharLevel, TSS_Type nInstance)
Definition: svdfppt.cxx:3655
sal_uInt32 nBulletColor
Definition: svdfppt.hxx:814
void ImplGetNumberFormat(SdrPowerPointImport const &rMan, SvxNumberFormat &rNumberFormat)
Definition: svdfppt.cxx:3764
sal_uInt32 nBulletOfs
Definition: svdfppt.hxx:816
void operator=(PPTParagraphObj const &)=delete
const PPTStyleSheet & mrStyleSheet
Definition: svdfppt.hxx:1154
PPTParagraphObj(PPTParagraphObj const &)=delete
TSS_Type mnInstance
Definition: svdfppt.hxx:1155
void ApplyTo(SfxItemSet &rSet, std::optional< sal_Int16 > &rStartNumbering, SdrPowerPointImport const &rManager, TSS_Type nInstanceInSheet)
Definition: svdfppt.cxx:6162
bool GetAttrib(sal_uInt32 nAttr, sal_uInt32 &nVal, TSS_Type nInstanceInSheet)
Definition: svdfppt.cxx:5896
::std::vector< std::unique_ptr< PPTPortionObj > > m_PortionList
Definition: svdfppt.hxx:1161
sal_uInt32 mnCurrentObject
Definition: svdfppt.hxx:1160
const PPTStyleSheet & mrStyleSheet
Definition: svdfppt.hxx:1112
sal_uInt32 mnDepth
Definition: svdfppt.hxx:1114
sal_uInt32 Count() const
Definition: svdfppt.hxx:1143
TSS_Type mnInstance
Definition: svdfppt.hxx:1113
void SetVertical(bool bVertical)
Definition: svdfppt.hxx:1261
MSO_SPT GetShapeType() const
Definition: svdfppt.hxx:1248
bool GetVertical() const
Definition: svdfppt.hxx:1268
const std::optional< PptOEPlaceholderAtom > & GetOEPlaceHolderAtom() const
Definition: svdfppt.hxx:1259
sal_uInt32 Count() const
Definition: svdfppt.hxx:1245
sal_uInt32 GetCurrentIndex() const
Definition: svdfppt.hxx:1244
rtl::Reference< ImplPPTTextObj > mxImplTextObj
Definition: svdfppt.hxx:1232
sal_uInt32 GetTextFlags() const
Definition: svdfppt.hxx:1260
void SetDestinationInstance(TSS_Type nInstance)
Definition: svdfppt.hxx:1256
TSS_Type GetInstance() const
Definition: svdfppt.hxx:1249
TSS_Type GetDestinationInstance() const
Definition: svdfppt.hxx:1253
void SetInstance(TSS_Type nInstance)
Definition: svdfppt.hxx:1250
PptSlidePersistEntry & operator[](size_t nIdx)
Definition: svdfppt.hxx:408
PptSlidePersistList & operator=(const PptSlidePersistList &)=delete
Entries_t::iterator begin()
Definition: svdfppt.hxx:409
std::vector< std::unique_ptr< PptSlidePersistEntry > > Entries_t
Definition: svdfppt.hxx:398
bool is_null(size_t nIdx) const
Definition: svdfppt.hxx:406
void push_back(std::unique_ptr< PptSlidePersistEntry > pEntry)
Definition: svdfppt.hxx:415
Entries_t mvEntries
Definition: svdfppt.hxx:399
size_t size() const
Definition: svdfppt.hxx:405
PptSlidePersistList(const PptSlidePersistList &)=delete
void insert(Entries_t::iterator it, std::unique_ptr< PptSlidePersistEntry > pEntry)
Definition: svdfppt.hxx:410
const PptSlidePersistEntry & operator[](size_t nIdx) const
Definition: svdfppt.hxx:407
std::optional< std::vector< PptFontEntityAtom > > m_xFonts
Definition: svdfppt.hxx:474
virtual SdrObject * ReadObjText(PPTTextObj *pTextObj, SdrObject *pObj, SdPageCapsule pPage) const
Definition: svdfppt.cxx:563
PptDocumentAtom aDocAtom
Definition: svdfppt.hxx:469
DffRecordManager aDocRecManager
Definition: svdfppt.hxx:470
sal_uInt32 nStreamLen
Definition: svdfppt.hxx:476
PowerPointImportParam & rImportParam
Definition: svdfppt.hxx:485
::std::vector< PPTOleEntry > aOleObjectList
Definition: svdfppt.hxx:472
std::unique_ptr< PptSlidePersistList > m_pSlidePages
Definition: svdfppt.hxx:579
sal_uLong m_nDocStreamPos
Definition: svdfppt.hxx:582
sal_uInt16 m_nCurrentPageNum
Definition: svdfppt.hxx:581
::std::vector< SdHyperlinkEntry > m_aHyperList
Definition: svdfppt.hxx:570
const PPTStyleSheet * m_pPPTStyleSheet
Definition: svdfppt.hxx:575
const PPTStyleSheet * m_pDefaultSheet
Definition: svdfppt.hxx:576
std::unique_ptr< sal_uInt32[]> m_pPersistPtr
Definition: svdfppt.hxx:572
PptUserEditAtom m_aUserEditAtom
Definition: svdfppt.hxx:568
PptColorSchemeAtom m_aPageColors
Definition: svdfppt.hxx:569
sal_uInt16 m_nPageColorsNum
Definition: svdfppt.hxx:583
PptPageKind m_eCurrentPageKind
Definition: svdfppt.hxx:585
std::unique_ptr< PptSlidePersistList > m_pNotePages
Definition: svdfppt.hxx:580
virtual bool ReadFormControl(tools::SvRef< SotStorage > &rSrc1, css::uno::Reference< css::form::XFormComponent > &rFormComp) const =0
PptPageKind m_ePageColorsKind
Definition: svdfppt.hxx:584
sal_uInt32 m_nPersistPtrCnt
Definition: svdfppt.hxx:573
std::unique_ptr< PptSlidePersistList > m_pMasterPages
Definition: svdfppt.hxx:578
abstract base class for Escher imports
Definition: msdffimp.hxx:415
static void ReadObjText(const OUString &rText, SdrObject *pObj)
Definition: msdffimp.cxx:3705
constexpr OUStringLiteral TITLE
OUString maString
EditCharAttrib * GetAttrib(CharAttribList::AttribsType &rAttribs, std::size_t nAttr)
@ TITLERIGHTBODYLEFT
@ BOTTOMROW2COLUMNS
@ RIGHTCOLUMN2ROWS
@ TITLEANDBODYSLIDE
@ TWOCOLUMNSANDTITLE
@ TITLERIGHT2BODIESLEFT
@ TITLEMASTERSLIDE
PPT_TextHeader
SvxTimeFormat
SvxDateFormat
FontPitch
FontFamily
const SwFrame * FindPage(const SwRect &rRect, const SwFrame *pPage)
sal_Int32 nIndex
sal_uInt16 nPos
MSO_SPT
mso_sptMin
#define MSFILTER_DLLPUBLIC
NONE
Shape IDs per cluster in DGG atom.
Unknown
Subtitle
Notes
Title
float GetTextSize(std::u16string_view sValue)
Slide
DateTime GetDateTime(const css::util::DateTime &_rDT)
const sal_uInt16 nMagic
sal_uIntPtr sal_uLong
sal_uInt32 nAtom
Definition: svdfppt.hxx:530
const PptSlidePersistEntry * pMasterPersist
Definition: svdfppt.hxx:528
sal_uInt16 mnSymbolFont
Definition: svdfppt.hxx:929
sal_uInt16 mnFontHeight
Definition: svdfppt.hxx:927
sal_uInt16 mnFlags
Definition: svdfppt.hxx:922
sal_uInt16 mnANSITypeface
Definition: svdfppt.hxx:926
sal_uInt16 mnAsianOrComplexFont
Definition: svdfppt.hxx:925
sal_uInt16 mnEscapement
Definition: svdfppt.hxx:928
sal_uInt32 mnColor
Definition: svdfppt.hxx:923
sal_uInt16 mnFont
Definition: svdfppt.hxx:924
sal_uInt32 mnAttrSet
Definition: svdfppt.hxx:921
sal_uInt32 nDontKnow1
Definition: svdfppt.hxx:889
sal_uInt16 mnHasAnm
Definition: svdfppt.hxx:886
sal_uInt16 mnDepth
Definition: svdfppt.hxx:879
sal_uInt32 mnAttrSet
Definition: svdfppt.hxx:880
sal_uInt16 mpArry[22]
Definition: svdfppt.hxx:882
sal_uInt32 nDontKnow2
Definition: svdfppt.hxx:890
sal_uInt16 nDontKnow2bit06
Definition: svdfppt.hxx:891
sal_uInt32 mnBulletColor
Definition: svdfppt.hxx:881
sal_uInt32 mnExtParagraphMask
Definition: svdfppt.hxx:884
sal_uInt32 mnAnmScheme
Definition: svdfppt.hxx:885
sal_uInt16 mnBuBlip
Definition: svdfppt.hxx:887
std::optional< PptOEPlaceholderAtom > moPlaceHolderAtom
Definition: svdfppt.hxx:1205
std::vector< std::unique_ptr< PPTParagraphObj > > maParagraphList
Definition: svdfppt.hxx:1213
PptSlidePersistEntry & mrPersistEntry
Definition: svdfppt.hxx:1214
MSO_SPT meShapeType
Definition: svdfppt.hxx:1208
sal_uInt32 mnShapeId
Definition: svdfppt.hxx:1203
sal_uInt32 mnTextFlags
Definition: svdfppt.hxx:1216
sal_uInt32 mnShapeMaster
Definition: svdfppt.hxx:1204
TSS_Type mnDestinationInstance
Definition: svdfppt.hxx:1207
sal_uInt32 mnParagraphCount
Definition: svdfppt.hxx:1211
TSS_Type mnInstance
Definition: svdfppt.hxx:1206
sal_uInt32 mnCurrentObject
Definition: svdfppt.hxx:1210
ImplPPTTextObj(PptSlidePersistEntry &rPersistEntry)
Definition: svdfppt.hxx:1218
Graphic aBuGra
Definition: svdfppt.hxx:724
PPTBuGraEntry(Graphic aGraphic, sal_uInt32 nInstance)
Definition: svdfppt.cxx:3183
sal_uInt32 nInstance
Definition: svdfppt.hxx:723
sal_uInt16 mnFont
Definition: svdfppt.hxx:754
sal_uInt32 mnFontColor
Definition: svdfppt.hxx:752
sal_uInt16 mnFlags
Definition: svdfppt.hxx:753
Color mnFontColorInStyleSheet
Definition: svdfppt.hxx:751
sal_uInt16 mnEscapement
Definition: svdfppt.hxx:757
sal_uInt16 mnFontHeight
Definition: svdfppt.hxx:756
sal_uInt16 mnAsianOrComplexFont
Definition: svdfppt.hxx:755
sal_uInt32 mnHylinkOrigColor
Definition: svdfppt.hxx:949
void SetColor(sal_uInt32 nColor)
Definition: svdfppt.cxx:4539
std::unique_ptr< SvxFieldItem > mpFieldItem
Definition: svdfppt.hxx:959
sal_uInt32 mnParagraph
Definition: svdfppt.hxx:956
PPTCharPropSet & operator=(const PPTCharPropSet &rCharPropSet)
Definition: svdfppt.cxx:4511
PPTCharPropSet(sal_uInt32 nParagraph)
Definition: svdfppt.cxx:4467
void SetFont(sal_uInt16 nFont)
Definition: svdfppt.cxx:4524
bool mbIsHyperlink
Definition: svdfppt.hxx:951
o3tl::cow_wrapper< ImplPPTCharPropSet > mpImplPPTCharPropSet
Definition: svdfppt.hxx:978
sal_uInt32 mnOriginalTextPos
Definition: svdfppt.hxx:955
LanguageType mnLanguage[3]
Definition: svdfppt.hxx:960
OUString maString
Definition: svdfppt.hxx:957
bool mbHardHylinkOrigColor
Definition: svdfppt.hxx:953
PPTCharLevel maCharLevel[nMaxPPTLevels]
Definition: svdfppt.hxx:762
void Read(SvStream &rIn, sal_uInt32 nLevel)
Definition: svdfppt.cxx:3835
PPTCharSheet(TSS_Type nInstance)
Definition: svdfppt.cxx:3795
sal_uInt16 mnHasAnm
Definition: svdfppt.hxx:705
friend SvStream & ReadPPTExtParaLevel(SvStream &rIn, PPTExtParaLevel &rL)
Definition: svdfppt.cxx:3198
sal_uInt32 mpfPP10Ext
Definition: svdfppt.hxx:707
sal_uInt16 mnBuBlip
Definition: svdfppt.hxx:704
sal_uInt32 mnAnmScheme
Definition: svdfppt.hxx:706
sal_uInt32 mnExtParagraphMask
Definition: svdfppt.hxx:703
sal_uInt32 mnExtCharacterMask
Definition: svdfppt.hxx:708
sal_uInt32 mcfPP10Ext
Definition: svdfppt.hxx:709
PPTExtParaLevel aExtParaLevel[nMaxPPTLevels]
Definition: svdfppt.hxx:718
std::unique_ptr< SvxFieldItem > xField2
Definition: svdfppt.hxx:505
std::unique_ptr< SvxFieldItem > xField1
Definition: svdfppt.hxx:504
sal_uInt16 nTextRangeEnd
Definition: svdfppt.hxx:503
sal_uInt16 nPos
Definition: svdfppt.hxx:502
std::optional< OUString > xString
Definition: svdfppt.hxx:506
SfxObjectShell * pShell
Definition: svdfppt.hxx:428
sal_uInt32 nId
Definition: svdfppt.hxx:426
sal_uInt32 nAspect
Definition: svdfppt.hxx:430
sal_uInt32 nRecHdOfs
Definition: svdfppt.hxx:427
sal_uInt16 nType
Definition: svdfppt.hxx:429
PPTOleEntry(sal_uInt32 nid, sal_uInt32 nOfs, SfxObjectShell *pSh, sal_uInt16 nT, sal_uInt32 nAsp)
Definition: svdfppt.hxx:432
sal_uInt16 mnDefaultTab
Definition: svdfppt.hxx:783
sal_uInt16 mnAdjust
Definition: svdfppt.hxx:777
sal_uInt16 mnLineFeed
Definition: svdfppt.hxx:778
sal_uInt16 mnTextOfs
Definition: svdfppt.hxx:781
sal_uInt16 mnBulletHeight
Definition: svdfppt.hxx:774
sal_uInt32 mnBulletColor
Definition: svdfppt.hxx:775
sal_uInt16 mnLowerDist
Definition: svdfppt.hxx:780
sal_uInt16 mnAsianLineBreak
Definition: svdfppt.hxx:784
sal_uInt16 mnBulletFont
Definition: svdfppt.hxx:773
sal_uInt16 mnBulletOfs
Definition: svdfppt.hxx:782
sal_uInt16 mnBulletChar
Definition: svdfppt.hxx:772
sal_uInt16 mnBiDi
Definition: svdfppt.hxx:787
sal_uInt16 mnBuFlags
Definition: svdfppt.hxx:771
sal_uInt16 mnUpperDist
Definition: svdfppt.hxx:779
PPTParaPropSet & operator=(const PPTParaPropSet &rParaPropSet)
Definition: svdfppt.cxx:4457
rtl::Reference< ImplPPTParaPropSet > mxParaSet
Definition: svdfppt.hxx:910
sal_uInt32 mnOriginalTextPos
Definition: svdfppt.hxx:909
void Read(SdrPowerPointImport const &rMan, SvStream &rIn, sal_uInt32 nLevel, bool bFirst)
Definition: svdfppt.cxx:3927
PPTParaSheet(TSS_Type nInstance)
Definition: svdfppt.cxx:3882
PPTParaLevel maParaLevel[nMaxPPTLevels]
Definition: svdfppt.hxx:794
void UpdateBulletRelSize(sal_uInt32 nLevel, sal_uInt16 nFontHeight)
Definition: svdfppt.cxx:4083
sal_Int32 nFlags
Definition: svdfppt.hxx:989
sal_uInt16 nDefaultTab
Definition: svdfppt.hxx:990
sal_uInt16 nTabCount
Definition: svdfppt.hxx:995
std::unique_ptr< PPTTabEntry[]> pTab
Definition: svdfppt.hxx:994
sal_uInt16 nTextOfs[nMaxPPTLevels]
Definition: svdfppt.hxx:991
sal_uInt16 nBulletOfs[nMaxPPTLevels]
Definition: svdfppt.hxx:992
virtual ~PPTRuler() override
Definition: svdfppt.cxx:4552
PPTStyleSheet(const DffRecordHeader &rSlideHd, SvStream &rSt, SdrPowerPointImport &, const PPTTextParagraphStyleAtomInterpreter &, const PPTTextSpecInfo &)
Definition: svdfppt.cxx:4095
PPTTextSpecInfo maTxSI
Definition: svdfppt.hxx:863
o3tl::enumarray< TSS_Type, std::unique_ptr< PPTParaSheet > > mpParaSheet
Definition: svdfppt.hxx:865
o3tl::enumarray< TSS_Type, std::unique_ptr< PPTCharSheet > > mpCharSheet
Definition: svdfppt.hxx:864
o3tl::enumarray< TSS_Type, std::unique_ptr< SvxNumBulletItem > > mpNumBulletItem
Definition: svdfppt.hxx:866
std::vector< std::unique_ptr< PPTCharPropSet > > aCharPropList
Definition: svdfppt.hxx:1065
std::vector< std::unique_ptr< PPTParaPropSet > > aParaPropList
Definition: svdfppt.hxx:1064
void ReadParaProps(SvStream &rIn, const DffRecordHeader &rTextHeader, const OUString &aString, PPTTextRulerInterpreter const &rRuler, sal_uInt32 &nCharCount, bool &bTextPropAtom)
Definition: svdfppt.cxx:4862
PPTStyleTextPropReader(SvStream &rIn, const DffRecordHeader &rClientTextBoxHd, PPTTextRulerInterpreter const &rInterpreter, const DffRecordHeader &rExtParaHd, TSS_Type nTextInstance)
Definition: svdfppt.cxx:4856
std::vector< sal_uInt32 > aSpecMarkerList
Definition: svdfppt.hxx:1063
void Init(SvStream &rIn, const DffRecordHeader &rClientTextBoxHd, PPTTextRulerInterpreter const &rInterpreter, const DffRecordHeader &rExtParaHd, TSS_Type nTextInstance)
Definition: svdfppt.cxx:5206
static void ReadCharProps(SvStream &rIn, PPTCharPropSet &aCharPropSet, std::u16string_view aString, sal_uInt32 &nCharCount, sal_uInt32 nCharReadCnt, bool &bTextPropAtom, sal_uInt32 nExtParaPos, const std::vector< StyleTextProp9 > &aStyleTextProp9, sal_uInt32 &nExtParaFlags, sal_uInt16 &nBuBlip, sal_uInt16 &nHasAnm, sal_uInt32 &nAnmScheme)
Definition: svdfppt.cxx:5118
sal_uInt16 nOffset
Definition: svdfppt.hxx:983
sal_uInt16 nStyle
Definition: svdfppt.hxx:984
bool Read(SvStream &rIn, const DffRecordHeader &rRecHd)
Definition: svdfppt.cxx:4691
bool GetDefaultTab(sal_uInt16 &nValue) const
Definition: svdfppt.cxx:4646
PPTTextRulerInterpreter & operator=(const PPTTextRulerInterpreter &rRuler)
Definition: svdfppt.cxx:4670
sal_uInt16 GetTabOffsetByIndex(sal_uInt16 nIndex) const
Definition: svdfppt.hxx:1015
bool GetBulletOfs(sal_uInt32 nLevel, sal_uInt16 &nValue) const
Definition: svdfppt.cxx:4662
sal_uInt16 GetTabCount() const
Definition: svdfppt.hxx:1021
sal_uInt16 GetTabStyleByIndex(sal_uInt16 nIndex) const
Definition: svdfppt.hxx:1018
bool GetTextOfs(sal_uInt32 nLevel, sal_uInt16 &nValue) const
Definition: svdfppt.cxx:4654
rtl::Reference< PPTRuler > mxImplRuler
Definition: svdfppt.hxx:1004
::std::vector< PPTTextSpecInfo > aList
Definition: svdfppt.hxx:685
bool Read(SvStream &rIn, const DffRecordHeader &rRecHd, sal_uInt16 nRecordType, const PPTTextSpecInfo *pTextSpecDefault=nullptr)
Definition: svdfppt.cxx:4768
LanguageType nLanguage[3]
Definition: svdfppt.hxx:676
PPTTextSpecInfo(sal_uInt32 nCharIdx)
Definition: svdfppt.cxx:4754
sal_uInt32 nCharIdx
Definition: svdfppt.hxx:675
sal_uInt16 nDontKnow
Definition: svdfppt.hxx:677
SvStream & rDocStream
Definition: svdfppt.hxx:95
sal_uInt32 nImportFlags
Definition: svdfppt.hxx:96
PptCurrentUserAtom aCurrentUserAtom
Definition: svdfppt.hxx:97
Color GetColor(sal_uInt16 nNum) const
Definition: svdfppt.cxx:354
sal_uInt8 aData[32]
Definition: svdfppt.hxx:270
friend SvStream & ReadPptColorSchemeAtom(SvStream &rIn, PptColorSchemeAtom &rAtom)
Definition: svdfppt.cxx:367
OUString aCurrentUser
Definition: svdfppt.hxx:80
sal_uInt8 nMajorVersion
Definition: svdfppt.hxx:78
sal_uInt16 nDocFileVersion
Definition: svdfppt.hxx:77
sal_uInt8 nMinorVersion
Definition: svdfppt.hxx:79
sal_uInt32 nMagic
Definition: svdfppt.hxx:75
sal_uInt32 nCurrentUserEdit
Definition: svdfppt.hxx:76
Size aNotesPageSize
Definition: svdfppt.hxx:183
sal_uInt32 nNotesMasterPersist
Definition: svdfppt.hxx:185
Size const & GetSlidesPageSize() const
Definition: svdfppt.hxx:208
Size aSlidesPageSize
Definition: svdfppt.hxx:182
PptPageFormat eSlidesPageFormat
Definition: svdfppt.hxx:188
sal_uInt32 nHandoutMasterPersist
Definition: svdfppt.hxx:186
Size const & GetNotesPageSize() const
Definition: svdfppt.hxx:209
bool bTitlePlaceholdersOmitted
Definition: svdfppt.hxx:190
bool bShowComments
Definition: svdfppt.hxx:192
bool bEmbeddedTrueType
Definition: svdfppt.hxx:189
sal_uInt16 n1stPageNumber
Definition: svdfppt.hxx:187
friend SvStream & ReadPptExOleObjAtom(SvStream &rIn, PptExOleObjAtom &rAtom)
Definition: svdfppt.cxx:234
sal_uInt32 nId
Definition: svdfppt.hxx:444
sal_uInt32 nAspect
Definition: svdfppt.hxx:443
sal_uInt32 nPersistPtr
Definition: svdfppt.hxx:445
sal_uInt8 lfClipPrecision
Definition: svdfppt.hxx:282
rtl_TextEncoding eCharSet
Definition: svdfppt.hxx:285
FontPitch ePitch
Definition: svdfppt.hxx:287
OUString aName
Definition: svdfppt.hxx:281
FontFamily eFamily
Definition: svdfppt.hxx:286
sal_uInt8 lfQuality
Definition: svdfppt.hxx:283
friend SvStream & ReadPptFontEntityAtom(SvStream &rIn, PptFontEntityAtom &rAtom)
Definition: svdfppt.cxx:376
sal_uInt32 nSoundRef
Definition: svdfppt.hxx:118
sal_uInt32 nExHyperlinkId
Definition: svdfppt.hxx:119
sal_uInt8 nHyperlinkType
Definition: svdfppt.hxx:124
sal_uInt16 nFlags
Definition: svdfppt.hxx:259
friend SvStream & ReadPptNotesAtom(SvStream &rIn, PptNotesAtom &rAtom)
Definition: svdfppt.cxx:333
sal_uInt32 nSlideId
Definition: svdfppt.hxx:258
void Clear()
Definition: svdfppt.cxx:344
sal_uInt32 nPlacementId
Definition: svdfppt.hxx:343
friend SvStream & ReadPptOEPlaceholderAtom(SvStream &rIn, PptOEPlaceholderAtom &rAtom)
Definition: svdfppt.cxx:482
sal_uInt8 nPlaceholderSize
Definition: svdfppt.hxx:345
PptPlaceholder nPlaceholderId
Definition: svdfppt.hxx:344
friend SvStream & ReadPptSlideAtom(SvStream &rIn, PptSlideAtom &rAtom)
Definition: svdfppt.cxx:315
sal_uInt32 nMasterId
Definition: svdfppt.hxx:230
sal_uInt32 nNotesId
Definition: svdfppt.hxx:231
void Clear()
Definition: svdfppt.cxx:327
sal_uInt16 nFlags
Definition: svdfppt.hxx:232
PptSlideLayoutAtom aLayout
Definition: svdfppt.hxx:229
friend SvStream & ReadPptSlideLayoutAtom(SvStream &rIn, PptSlideLayoutAtom &rAtom)
Definition: svdfppt.cxx:305
PptSlideLayout eLayout
Definition: svdfppt.hxx:216
PptPlaceholder aPlaceholderId[8]
Definition: svdfppt.hxx:217
sal_uInt32 nSlideId
Definition: svdfppt.hxx:246
sal_uInt32 nFlags
Definition: svdfppt.hxx:244
sal_uInt32 nReserved
Definition: svdfppt.hxx:247
friend SvStream & ReadPptSlidePersistAtom(SvStream &rIn, PptSlidePersistAtom &rAtom)
Definition: svdfppt.cxx:193
sal_uInt32 nPsrReference
Definition: svdfppt.hxx:243
sal_uInt32 nNumberTexts
Definition: svdfppt.hxx:245
PptSlidePersistAtom aPersistAtom
Definition: svdfppt.hxx:361
PptSlidePersistEntry(const PptSlidePersistEntry &)=delete
std::unique_ptr< PPTStyleSheet > xStyleSheet
Definition: svdfppt.hxx:365
sal_uInt32 nBackgroundOffset
Definition: svdfppt.hxx:372
sal_uInt32 HeaderFooterOfs[4]
Definition: svdfppt.hxx:367
std::unique_ptr< SvxMSDffSolverContainer > xSolverContainer
Definition: svdfppt.hxx:369
PptPageKind ePageKind
Definition: svdfppt.hxx:379
PptSlideAtom aSlideAtom
Definition: svdfppt.hxx:362
sal_uInt32 nSlidePersistEndOffset
Definition: svdfppt.hxx:371
sal_uInt32 nSlidePersistStartOffset
Definition: svdfppt.hxx:370
PptColorSchemeAtom aColorScheme
Definition: svdfppt.hxx:364
rtl::Reference< SdrObject > pBObj
Definition: svdfppt.hxx:377
sal_uInt32 nDrawingDgId
Definition: svdfppt.hxx:373
std::unique_ptr< HeaderFooterEntry > xHeaderFooterEntry
Definition: svdfppt.hxx:368
PptNotesAtom aNotesAtom
Definition: svdfppt.hxx:363
sal_uInt32 GetSlideId() const
Definition: svdfppt.hxx:387
std::unique_ptr< sal_uInt32[]> pPresentationObjects
Definition: svdfppt.hxx:375
PptSlidePersistEntry & operator=(const PptSlidePersistEntry &)=delete
sal_uInt32 nOffsetLastEdit
Definition: svdfppt.hxx:321
DffRecordHeader aHd
Definition: svdfppt.hxx:318
sal_Int32 nLastSlideID
Definition: svdfppt.hxx:319
sal_uInt32 nMaxPersistWritten
Definition: svdfppt.hxx:324
friend SvStream & ReadPptUserEditAtom(SvStream &rIn, PptUserEditAtom &rAtom)
Definition: svdfppt.cxx:458
sal_uInt32 nVersion
Definition: svdfppt.hxx:320
PptViewTypeEnum eLastViewType
Definition: svdfppt.hxx:325
sal_uInt32 nDocumentRef
Definition: svdfppt.hxx:323
sal_uInt32 nOffsetPersistDirectory
Definition: svdfppt.hxx:322
std::unique_ptr< sal_uInt32[]> pTableRowProperties
Definition: svdfppt.hxx:546
PptSlidePersistEntry & rPersistEntry
Definition: svdfppt.hxx:543
::std::vector< rtl::Reference< SdrObject > > aBackgroundColoredObjects
Definition: svdfppt.hxx:545
ProcessData(PptSlidePersistEntry &rP, SdPageCapsule pP)
Definition: svdfppt.hxx:548
SdPageCapsule pPage
Definition: svdfppt.hxx:544
sal_Int32 nPrivate2
Definition: svdfppt.hxx:106
sal_Int32 nInfo
Definition: svdfppt.hxx:108
OUString aTarget
Definition: svdfppt.hxx:109
sal_Int32 nPrivate3
Definition: svdfppt.hxx:107
OUString aConvSubString
Definition: svdfppt.hxx:112
sal_uInt32 nIndex
Definition: svdfppt.hxx:104
OUString aSubAddress
Definition: svdfppt.hxx:110
sal_Int32 nPrivate1
Definition: svdfppt.hxx:105
SdPageCapsule(SdrPage *thePage)
Definition: svdfppt.hxx:455
SdrPage * page
Definition: svdfppt.hxx:457
sal_uInt32 mnSpecialInfoMask
Definition: svdfppt.hxx:1041
sal_uInt32 mnExtParagraphMask
Definition: svdfppt.hxx:1034
sal_uInt16 mnBuBlip
Definition: svdfppt.hxx:1035
sal_uInt32 mncfPP10Ext
Definition: svdfppt.hxx:1040
sal_uInt16 mfBidi
Definition: svdfppt.hxx:1043
void Read(SvStream &rSt)
Definition: svdfppt.cxx:4835
sal_uInt32 mnExtCharacterMask
Definition: svdfppt.hxx:1039
sal_uInt16 mnHasAnm
Definition: svdfppt.hxx:1036
sal_uInt32 mpfPP10Ext
Definition: svdfppt.hxx:1038
sal_uInt32 mnAnmScheme
Definition: svdfppt.hxx:1037
sal_uInt32 mnPP10Ext
Definition: svdfppt.hxx:1042
SvStream & ReadPptCurrentUserAtom(SvStream &rIn, PptCurrentUserAtom &rAtom)
Definition: svdfppt.cxx:166
bool ReadPptInteractiveInfoAtom(SvStream &rIn, PptInteractiveInfoAtom &rAtom)
Definition: svdfppt.cxx:219
SvStream & ReadPptDocumentAtom(SvStream &rIn, PptDocumentAtom &rAtom)
Definition: svdfppt.cxx:249
@ PPTTH_CENTERBODY
Definition: svdfppt.hxx:155
@ PPTTH_OTHER
Definition: svdfppt.hxx:154
@ PPTTH_CENTERTITLE
Definition: svdfppt.hxx:156
@ PPTTH_QUARTERBODY
Definition: svdfppt.hxx:158
@ PPTTH_TITLE
Definition: svdfppt.hxx:150
@ PPTTH_BODY
Definition: svdfppt.hxx:151
@ PPTTH_NOTES
Definition: svdfppt.hxx:152
@ PPTTH_HALFBODY
Definition: svdfppt.hxx:157
@ PPTTH_NOTUSED
Definition: svdfppt.hxx:153
PptPageKind
Definition: svdfppt.hxx:136
@ PPT_MASTERPAGE
Definition: svdfppt.hxx:136
@ PPT_NOTEPAGE
Definition: svdfppt.hxx:136
@ PPT_SLIDEPAGE
Definition: svdfppt.hxx:136
#define PPT_TEXTOBJ_FLAGS_VERTICAL
Definition: svdfppt.hxx:1199
PptPageFormat
Definition: svdfppt.hxx:139
@ PPTPF_OVERHEAD
Definition: svdfppt.hxx:143
@ PPTPF_CUSTOM
Definition: svdfppt.hxx:144
@ PPTPF_USLETTER
Definition: svdfppt.hxx:140
@ PPTPF_35MMDIA
Definition: svdfppt.hxx:142
@ PPTPF_SCREEN
Definition: svdfppt.hxx:139
@ PPTPF_A4
Definition: svdfppt.hxx:141
const int nMaxPPTLevels
Definition: svdfppt.hxx:175
TSS_Type
Definition: svdfppt.hxx:161
PptSlideLayout
Definition: svdfppt.hxx:1434
PptPlaceholder
Definition: svdfppt.hxx:1458
PptViewTypeEnum
Definition: svdfppt.hxx:294
css::uno::Reference< css::i18n::XExtendedTransliteration > Body
unsigned char sal_uInt8
Handout
TABLE