summaryrefslogtreecommitdiff
path: root/svx/inc/svx/svdfppt.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/inc/svx/svdfppt.hxx')
-rw-r--r--svx/inc/svx/svdfppt.hxx1445
1 files changed, 0 insertions, 1445 deletions
diff --git a/svx/inc/svx/svdfppt.hxx b/svx/inc/svx/svdfppt.hxx
deleted file mode 100644
index dba9f72cf6..0000000000
--- a/svx/inc/svx/svdfppt.hxx
+++ /dev/null
@@ -1,1445 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: svdfppt.hxx,v $
- * $Revision: 1.7.6.1 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SVDFPPT_HXX
-#define _SVDFPPT_HXX
-
-#ifndef SVX_LIGHT
-
-#include <tools/solar.h>
-#include <svtools/svarray.hxx>
-#include <tools/string.hxx>
-#include <tools/gen.hxx>
-#ifndef _SV_COLOR_HXX
-#include <tools/color.hxx>
-#endif
-#include <svx/svdobj.hxx>
-#include <svx/numitem.hxx>
-#include <svx/editdata.hxx>
-#include <svx/msdffimp.hxx> // Escher-Grafikimport
-#include <svx/msocximex.hxx>
-#include <svx/msfiltertracer.hxx>
-#include <svx/eeitem.hxx>
-#define ITEMID_FIELD EE_FEATURE_FIELD
-#include <svx/flditem.hxx>
-#undef ITEMID_FIELD
-#include "svx/svxdllapi.h"
-#include <vcl/font.hxx>
-#include <vector>
-#include <boost/optional.hpp>
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-class SdrModel;
-class SdPage;
-class SdrPage;
-class SdrObject;
-class SvStream;
-class Polygon;
-class PolyPolygon;
-class SfxItemSet;
-class Outliner;
-class Graphic;
-class SvxMSDffManager;
-class PptTextMetaCharList;
-class PPTTextObj;
-class DffRecordHeader;
-struct PptCharAttrSet;
-class SvxBulletItem;
-
-#define PPT_IMPORTFLAGS_NO_TEXT_ASSERT 1
-
-struct SVX_DLLPUBLIC PptCurrentUserAtom
-{
- sal_uInt32 nMagic;
- sal_uInt32 nCurrentUserEdit;
- sal_uInt16 nDocFileVersion;
- sal_uInt8 nMajorVersion;
- sal_uInt8 nMinorVersion;
- String aCurrentUser;
-
-public:
-
- PptCurrentUserAtom() : nMagic ( 0 ),
- nCurrentUserEdit ( 0 ),
- nDocFileVersion ( 0 ),
- nMajorVersion ( 0 ),
- nMinorVersion ( 0 ) {}
-
- SVX_DLLPUBLIC friend SvStream& operator>>( SvStream& rIn, PptCurrentUserAtom& rAtom );
-};
-
-struct SVX_DLLPUBLIC PowerPointImportParam
-{
- SvStream& rDocStream;
- sal_uInt32 nImportFlags;
- MSFilterTracer* pTracer;
- PptCurrentUserAtom aCurrentUserAtom;
-
- PowerPointImportParam( SvStream& rDocStream, sal_uInt32 nImportFlags, MSFilterTracer* pTracer );
-};
-
-struct SdHyperlinkEntry
-{
- sal_uInt32 nIndex;
- sal_Int32 nPrivate1;
- sal_Int32 nPrivate2;
- sal_Int32 nPrivate3;
- sal_Int32 nInfo;
- String aTarget;
- String aSubAdress;
-
- sal_Int32 nStartPos;
- sal_Int32 nEndPos;
-
- String aConvSubString;
- ESelection aESelection;
- sal_Bool bSelection;
-};
-
-// Hilfsklasse zum Einlesen der PPT InteractiveInfoAtom
-struct SVX_DLLPUBLIC PptInteractiveInfoAtom
-{
- UINT32 nSoundRef;
- UINT32 nExHyperlinkId;
- UINT8 nAction;
- UINT8 nOleVerb;
- UINT8 nJump;
- UINT8 nFlags;
- UINT8 nHyperlinkType;
-
- // unknown, da Gesamtgroesse 16 ist
- UINT8 nUnknown1;
- UINT8 nUnknown2;
- UINT8 nUnknown3;
-
-public:
-
- SVX_DLLPUBLIC friend SvStream& operator>>( SvStream& rIn, PptInteractiveInfoAtom& rAtom );
-};
-
-enum PptPageKind { PPT_MASTERPAGE, PPT_SLIDEPAGE, PPT_NOTEPAGE };
-
-enum PptPageFormat
-{ PPTPF_SCREEN, //
- PPTPF_USLETTER, // 8.5x11"
- PPTPF_A4, // 210x297mm
- PPTPF_35MMDIA, // DIA
- PPTPF_OVERHEAD, //
- PPTPF_CUSTOM
-};
-
-// Werte fuer den ULONG im PPT_PST_TextHeaderAtom
-enum PPT_TextHeader
-{
- PPTTH_TITLE,
- PPTTH_BODY,
- PPTTH_NOTES,
- PPTTH_NOTUSED,
- PPTTH_OTHER, // Text in a Shape
- PPTTH_CENTERBODY, // Subtitle in Title-Slide
- PPTTH_CENTERTITLE, // Title in Title-Slide
- PPTTH_HALFBODY, // Body in two-column slide
- PPTTH_QUARTERBODY // Body in four-body slide
-};
-
-#define TSS_TYPE_PAGETITLE (0)
-#define TSS_TYPE_BODY (1)
-#define TSS_TYPE_NOTES (2)
-#define TSS_TYPE_UNUSED (3)
-#define TSS_TYPE_TEXT_IN_SHAPE (4)
-#define TSS_TYPE_SUBTITLE (5)
-#define TSS_TYPE_TITLE (6)
-#define TSS_TYPE_HALFBODY (7)
-#define TSS_TYPE_QUARTERBODY (8)
-
-// Inventor-Id fuer PPT UserData
-const UINT32 PPTInventor =UINT32('P')*0x00000001+
- UINT32('P')*0x00000100+
- UINT32('T')*0x00010000+
- UINT32('0')*0x01000000;
-
-// Object-Ids fuer StarDraw UserData
-#define PPT_OBJECTINFO_ID (1)
-
-struct SVX_DLLPUBLIC PptDocumentAtom
-{
- Size aSlidesPageSize; // Seitengroesse der Slides in 576DPI
- Size aNotesPageSize; // Seitengroesse der Notes in 576DPI
- // RatioAtom erstmal weggelassen
- UINT32 nNotesMasterPersist; // 0=nicht vorhanden
- UINT32 nHandoutMasterPersist; // 0=nicht vorhanden
- UINT16 n1stPageNumber; // Seitennummer des ersten Slides
- PptPageFormat eSlidesPageFormat; // Seitenformat der Slides
- sal_Bool bEmbeddedTrueType : 1; // TrueType direkt im File?
- sal_Bool bTitlePlaceholdersOmitted : 1;
- sal_Bool bRightToLeft : 1;
- sal_Bool bShowComments : 1;
-
-public:
-
- Size GetPageSize( const Size& rSiz ) const;
- Size GetSlidesPageSize() const { return GetPageSize( aSlidesPageSize ); }
- Size GetNotesPageSize() const { return GetPageSize( aNotesPageSize ); }
-
- friend SvStream& operator>>( SvStream& rIn, PptDocumentAtom& rAtom );
-};
-
-struct PptSlideLayoutAtom
-{
- INT32 eLayout; // 0..18
- BYTE aPlaceholderId[ 8 ];
- ULONG aPlacementId[ 8 ];
-
-public:
-
- PptSlideLayoutAtom() { Clear(); }
- void Clear();
-
- // Das SlideLayoutAtom wird ohne Header eingelesen!
- friend SvStream& operator>>( SvStream& rIn, PptSlideLayoutAtom& rAtom );
-};
-
-struct PptSlideAtom
-{
- PptSlideLayoutAtom aLayout;
- UINT32 nMasterId;
- UINT32 nNotesId;
- UINT16 nFlags;
-
-public:
-
- PptSlideAtom() { Clear(); }
- void Clear();
-
- friend SvStream& operator>>(SvStream& rIn, PptSlideAtom& rAtom);
-};
-
-struct PptSlidePersistAtom
-{
- UINT32 nPsrReference;
- UINT32 nFlags;
- UINT32 nNumberTexts;
- UINT32 nSlideId;
- UINT32 nReserved; // we will use nReserved temporarly to set the offset to SSSlideInfoAtom ( if possible )
-
-public:
-
- PptSlidePersistAtom() { Clear(); }
- void Clear();
-
- friend SvStream& operator>>(SvStream& rIn, PptSlidePersistAtom& rAtom);
-};
-
-struct PptNotesAtom
-{
- UINT32 nSlideId;
- UINT16 nFlags;
-
-public:
-
- PptNotesAtom() { Clear(); }
- void Clear();
-
- friend SvStream& operator>>(SvStream& rIn, PptNotesAtom& rAtom);
-};
-
-struct PptColorSchemeAtom
-{
- BYTE aData[32];
-
-public:
- PptColorSchemeAtom () { Clear(); }
- void Clear();
- Color GetColor( USHORT nNum ) const;
-
- friend SvStream& operator>>(SvStream& rIn, PptColorSchemeAtom& rAtom);
-};
-
-struct PptFontEntityAtom
-{
- String aName;
- double fScaling;
- sal_uInt8 lfClipPrecision;
- sal_uInt8 lfQuality;
-
- sal_uInt32 nUniqueFontId; // not used anymore
- CharSet eCharSet;
- FontFamily eFamily;
- FontPitch ePitch;
- sal_Bool bAvailable;
-
- friend SvStream& operator>>(SvStream& rIn, PptFontEntityAtom& rAtom);
-};
-
-class PptFontCollection;
-struct PptUserEditAtom
-{
- DffRecordHeader aHd;
- INT32 nLastSlideID; // ID of last visible slide
- UINT32 nVersion; // This is major/minor/build which did the edit
- UINT32 nOffsetLastEdit; // File offset of prev PptUserEditAtom
- UINT32 nOffsetPersistDirectory; // Offset to PersistPtrs for this file version.
- UINT32 nDocumentRef;
- UINT32 nMaxPersistWritten; // Gesamtanzahl der Persisteintraege bis hierher.
- INT16 eLastViewType; // enum view type
-
-public:
-
- PptUserEditAtom() : nOffsetPersistDirectory( 0 ) {}
-
- friend SvStream& operator>>( SvStream& rIn, PptUserEditAtom& rAtom );
-};
-
-struct PptOEPlaceholderAtom
-{
- UINT32 nPlacementId;
- BYTE nPlaceholderId;
- BYTE nPlaceholderSize; // 0=Full size, 1=Half size, 2=Quarter of Slide
-
-public:
-
- PptOEPlaceholderAtom() { Clear(); }
- void Clear();
-
- friend SvStream& operator>>( SvStream& rIn, PptOEPlaceholderAtom& rAtom );
-};
-
-struct ProcessData;
-struct PPTStyleSheet;
-struct HeaderFooterEntry;
-struct PptSlidePersistEntry
-{
- PptSlidePersistAtom aPersistAtom;
- PptSlideAtom aSlideAtom;
- PptNotesAtom aNotesAtom;
- PptColorSchemeAtom aColorScheme; // each slide includes this colorscheme atom
- PPTStyleSheet* pStyleSheet; // stylesheet of this page ( only in masterpages ), since XP supports more than one masterpage
-
- sal_uInt32 HeaderFooterOfs[ 4 ]; // containing the ofs to the placeholder (only masterpage)
- HeaderFooterEntry* pHeaderFooterEntry;
- SvxMSDffSolverContainer* pSolverContainer;
- sal_uInt32 nSlidePersistStartOffset;// is an array to the end of the SlidePersistAtom of this page, TextHeaderAtom is following
- sal_uInt32 nSlidePersistEndOffset;
- sal_uInt32 nBackgroundOffset; // fileoffset
- sal_uInt32 nDrawingDgId; // valid, if not -1
- sal_uInt32* pPresentationObjects; // if valid, this is a pointer to an array that includes the offsets to the presentation objects
- // on this masterpage for each instance ( 0 - 8 );
- SdrObject* pBObj;
- sal_Bool bBObjIsTemporary;
-
- void* pDummy2;
- PptPageKind ePageKind; //
-
- sal_Bool bNotesMaster : 1; // fuer NotesMaster
- sal_Bool bHandoutMaster : 1; // fuer HandoutMaster
- sal_Bool bStarDrawFiller : 1; // speziell fuer StarDraw
-public:
- PptSlidePersistEntry();
- ~PptSlidePersistEntry();
- UINT32 GetSlideId() const { return aPersistAtom.nSlideId; }
-};
-
-SV_DECL_PTRARR_DEL(_PptSlidePersistList,PptSlidePersistEntry*,16,16)
-
-#define PPTSLIDEPERSIST_ENTRY_NOTFOUND 0xFFFF
-
-class SVX_DLLPUBLIC PptSlidePersistList: public _PptSlidePersistList
-{
-
- public:
-
- USHORT FindPage( UINT32 nId ) const;
-};
-
-class SfxObjectShell;
-struct PPTOleEntry
-{
- sal_uInt32 nId; // OleId
- sal_uInt32 nPersistPtr; // PersistPtr
- sal_uInt32 nRecHdOfs; // points to the record header: ExObjListHd
- SfxObjectShell* pShell;
- sal_uInt16 nType; // maybe PPT_PST_ExEmbed or PPT_PST_ExControl
- sal_uInt32 nAspect; // the aspect of the OLE object
-
- PPTOleEntry( sal_uInt32 nid, sal_uInt32 nOfs, SfxObjectShell* pSh, sal_uInt16 nT, sal_uInt32 nAsp ) :
- nId ( nid ),
- nRecHdOfs ( nOfs ),
- pShell ( pSh ),
- nType ( nT ),
- nAspect ( nAsp ) {}
-};
-
-struct PptExOleObjAtom
-{
- UINT32 nAspect;
- UINT32 nDummy1;
- UINT32 nId;
- UINT32 nDummy2;
- UINT32 nPersistPtr;
- UINT32 nDummy4;
-
-public:
-
- friend SvStream& operator>>( SvStream& rIn, PptExOleObjAtom& rAtom );
-};
-
-class PPTExtParaProv;
-class SVX_DLLPUBLIC SdrEscherImport : public SvxMSDffManager
-{
-
-protected:
-
- friend class PPTTextObj;
- friend class PPTPortionObj;
- friend struct PPTStyleTextPropReader;
- friend class ImplSdPPTImport;
-
- PptDocumentAtom aDocAtom;
- DffRecordManager aDocRecManager; // contains all first level container and atoms of the document container
-
- List aHFMasterList;
- List aOleObjectList; // contains PPTOleEntrys
-
- PptFontCollection* pFonts;
-
- sal_uInt32 nStreamLen;
- sal_uInt16 nTextStylesIndex;
-
- CharSet eCharSetSystem;
-
- sal_Bool bWingdingsChecked : 1;
- sal_Bool bWingdingsAvailable : 1;
- sal_Bool bMonotypeSortsChecked : 1;
- sal_Bool bMonotypeSortsAvailable : 1;
- sal_Bool bTimesNewRomanChecked : 1;
- sal_Bool bTimesNewRomanAvailable : 1;
-
- sal_Bool ReadString( String& rStr ) const;
- // nur fuer PowerPoint-Filter:
- virtual const PptSlideLayoutAtom* GetSlideLayoutAtom() const;
- void CheckWingdings() const;
- void CheckMonotypeSorts() const;
- void CheckTimesNewRoman() const;
-
-public:
-
- PowerPointImportParam& rImportParam;
-
- void* pSdrEscherDummy1;
- void* pSdrEscherDummy2;
- void* pSdrEscherDummy3;
- void* pSdrEscherDummy4;
-
- SdrEscherImport( PowerPointImportParam&, const String& rBaseURL );
- virtual ~SdrEscherImport();
- virtual FASTBOOL GetColorFromPalette( USHORT nNum, Color& rColor ) const;
- virtual BOOL SeekToShape( SvStream& rSt, void* pClientData, UINT32 nId ) const;
- PptFontEntityAtom* GetFontEnityAtom( UINT32 nNum ) const;
- CharSet GetCharSet( UINT32 nNum ) const;
- BOOL IsFontAvailable( UINT32 nNum ) const;
- void RecolorGraphic( SvStream& rSt, sal_uInt32 nRecLen, Graphic& rGraph );
- using SvxMSDffManager::ReadObjText;
- virtual SdrObject* ReadObjText( PPTTextObj* pTextObj, SdrObject* pObj, SdPage* pPage ) const;
- virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rData, void* pData, Rectangle& rTextRect, SdrObject* pObj );
- virtual void ProcessClientAnchor2( SvStream& rSt, DffRecordHeader& rHd, void* pData, DffObjData& rObj );
- void ImportHeaderFooterContainer( DffRecordHeader& rHeader, HeaderFooterEntry& rEntry );
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#define SD_HEADERFOOTER_DATE 1
-#define SD_HEADERFOOTER_TODAYDATE 2
-#define SD_HEADERFOOTER_USERDATE 4
-#define SD_HEADERFOOTER_SLIDENUMBER 8
-#define SD_HEADERFOOTER_HEADER 16
-#define SD_HEADERFOOTER_FOOTER 32
-
-class SvxFieldItem;
-struct SVX_DLLPUBLIC PPTFieldEntry
-{
- UINT16 nPos;
- UINT16 nTextRangeEnd;
- SvxFieldItem* pField1;
- SvxFieldItem* pField2;
- String* pString;
-
- PPTFieldEntry() : nPos( 0 ), nTextRangeEnd( 0 ), pField1( NULL ), pField2( NULL ), pString( NULL ) {};
- ~PPTFieldEntry();
-
- void SetDateTime( UINT32 nType );
-
- // converting PPT date time format:
- static void GetDateTime( const sal_uInt32 nVal, SvxDateFormat& eDateFormat, SvxTimeFormat& eTimeFormat );
-};
-
-struct SVX_DLLPUBLIC HeaderFooterEntry
-{
- const PptSlidePersistEntry* pMasterPersist;
- String pPlaceholder[ 4 ];
- sal_uInt32 nAtom;
-
- sal_uInt32 GetMaskForInstance( UINT32 nInstance );
- sal_uInt32 IsToDisplay( UINT32 nInstance );
- sal_uInt32 NeedToImportInstance( const sal_uInt32 nInstance, const PptSlidePersistEntry& rSlidePersist );
-
- HeaderFooterEntry( const PptSlidePersistEntry* pMaster = NULL );
- ~HeaderFooterEntry();
-};
-
-struct ProcessData
-{
- PptSlidePersistEntry& rPersistEntry;
- SdPage* pPage;
- List* pBackgroundColoredObjects;
- sal_uInt32* pTableRowProperties;
-
- ProcessData( PptSlidePersistEntry& rP, SdPage* pP ) :
- rPersistEntry ( rP ),
- pPage ( pP ),
- pBackgroundColoredObjects ( NULL ),
- pTableRowProperties ( NULL ) {};
- ~ProcessData() { delete pBackgroundColoredObjects; delete[] pTableRowProperties; };
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-class SdrTextObj;
-class SfxObjectShell;
-class SVX_DLLPUBLIC SdrPowerPointImport : public SdrEscherImport
-{
-
-protected:
-
- friend class PPTTextObj;
- friend class PPTExtParaProv;
- friend struct PPTStyleSheet;
- friend class PPTNumberFormatCreator;
-
- BOOL bOk;
- PptUserEditAtom aUserEditAtom;
- PptColorSchemeAtom aPageColors;
- List aHyperList;
- UINT32* pPersistPtr;
- ULONG nPersistPtrAnz;
-
- const PPTStyleSheet* pPPTStyleSheet; // this is the current stylesheet;
- const PPTStyleSheet* pDefaultSheet; // this is a sheet we are using if no masterpage can be found, but that should
- // never happen just preventing a crash
- PptSlidePersistList* pMasterPages;
- PptSlidePersistList* pSlidePages;
- PptSlidePersistList* pNotePages;
- USHORT nAktPageNum;
- ULONG nDocStreamPos;
- USHORT nPageColorsNum;
- PptPageKind ePageColorsKind;
- PptPageKind eAktPageKind;
-
-protected:
-
- sal_Bool SeekToAktPage(DffRecordHeader* pRecHd=NULL) const;
- sal_Bool SeekToDocument(DffRecordHeader* pRecHd=NULL) const;
- sal_Bool SeekToContentOfProgTag( sal_Int32 nVersion, SvStream& rSt, const DffRecordHeader& rProgTagBinaryDataHd,
- DffRecordHeader& rContentHd );
- virtual SdrObject* ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pText, SdPage* pPage, SfxStyleSheet*, SfxStyleSheet** ) const;
- using SdrEscherImport::ReadObjText;
- virtual SdrObject* ReadObjText( PPTTextObj* pTextObj, SdrObject* pObj, SdPage* pPage ) const;
- // --> OD 2004-12-14 #i32596# - new parameter <_nCalledByGroup>, which
- // indicates, if the OLE object is imported inside a group object.
- virtual SdrObject* ImportOLE( long nOLEId,
- const Graphic& rGraf,
- const Rectangle& rBoundRect,
- const Rectangle& rVisArea,
- const int _nCalledByGroup,
- sal_Int64 nAspect ) const;
- // <--
- SvMemoryStream* ImportExOleObjStg( UINT32 nPersistPtr, UINT32& nOleId ) const;
- SdrPage* MakeBlancPage(sal_Bool bMaster) const;
- sal_Bool ReadFontCollection();
- sal_Bool ForceFontCollection() const { return pFonts!=NULL?TRUE:((SdrPowerPointImport*)this)->ReadFontCollection(); }
- PptSlidePersistList* GetPageList(PptPageKind ePageKind) const;
- UINT32 GetAktPageId();
- UINT32 GetMasterPageId(USHORT nPageNum, PptPageKind ePageKind) const;
- UINT32 GetNotesPageId(USHORT nPageNum ) const;
- SdrOutliner* GetDrawOutliner( SdrTextObj* pSdrText ) const;
- void SeekOle( SfxObjectShell* pShell, sal_uInt32 nFilterOptions );
-
-public:
- SdrPowerPointImport( PowerPointImportParam&, const String& rBaseURL );
- virtual ~SdrPowerPointImport();
- USHORT GetPageCount( PptPageKind eKind = PPT_SLIDEPAGE ) const;
- void SetPageNum( USHORT nPageNum, PptPageKind = PPT_SLIDEPAGE );
- USHORT GetPageNum() const { return nAktPageNum; }
- PptPageKind GetPageKind() const { return eAktPageKind; }
- Size GetPageSize() const;
- SdrObject* ImportPageBackgroundObject( const SdrPage& rPage, sal_uInt32& nBgFileOffset, sal_Bool bForce );
- sal_Bool IsNoteOrHandout( USHORT nPageNum, PptPageKind ePageKind ) const;
- sal_Bool HasMasterPage( USHORT nPageNum, PptPageKind ePageKind = PPT_SLIDEPAGE ) const;
- USHORT GetMasterPageIndex( USHORT nPageNum, PptPageKind ePageKind = PPT_SLIDEPAGE ) const;
-
- void ImportPage( SdrPage* pPage, const PptSlidePersistEntry* pMasterPersist = NULL );
- virtual FASTBOOL GetColorFromPalette(USHORT nNum, Color& rColor) const;
- virtual BOOL SeekToShape( SvStream& rSt, void* pClientData, UINT32 nId ) const;
- sal_Unicode PPTSubstitute( UINT16 nFont, sal_Unicode nChar,
- UINT32& nMappedFontId, Font& rFont, char nDefault ) const;
- const PptDocumentAtom& GetDocumentAtom() const { return aDocAtom; }
- virtual const PptSlideLayoutAtom* GetSlideLayoutAtom() const;
- SdrObject* CreateTable( SdrObject* pGroupObject, sal_uInt32* pTableArry, SvxMSDffSolverContainer* ) const;
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-struct PPTTextCharacterStyleAtomInterpreter
-{
- sal_uInt16 nFlags1;
- sal_uInt16 nFlags2;
- sal_uInt16 nFlags3;
- sal_Int32 n1;
- sal_uInt16 nFontHeight;
- sal_Int32 nFontColor;
-
- PPTTextCharacterStyleAtomInterpreter();
- ~PPTTextCharacterStyleAtomInterpreter();
-
- sal_Bool Read( SvStream& rIn, const DffRecordHeader& rRecHd );
-
- sal_uInt32 GetColor( sal_uInt32 nDefault );
-};
-
-struct PPTTextParagraphStyleAtomInterpreter
-{
- sal_Bool bValid;
- sal_Bool bForbiddenRules;
- sal_Bool bHangingPunctuation;
- sal_Bool bLatinTextWrap;
-
- PPTTextParagraphStyleAtomInterpreter();
- ~PPTTextParagraphStyleAtomInterpreter();
-
- sal_Bool Read( SvStream& rIn, const DffRecordHeader& rRecHd );
-};
-
-struct PPTTextSpecInfo
-{
- sal_uInt32 nCharIdx;
- sal_uInt16 nLanguage[ 3 ];
- sal_uInt16 nDontKnow;
-
- PPTTextSpecInfo( sal_uInt32 nCharIdx );
- ~PPTTextSpecInfo();
-};
-
-struct PPTTextSpecInfoAtomInterpreter
-{
- sal_Bool bValid;
- List aList;
-
- PPTTextSpecInfoAtomInterpreter();
- ~PPTTextSpecInfoAtomInterpreter();
-
- sal_Bool Read( SvStream& rIn, const DffRecordHeader& rRecHd,
- sal_uInt16 nRecordType, const PPTTextSpecInfo* pTextSpecDefault = NULL );
-
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#define PPT_STYLESHEETENTRYS 9
-
-struct PPTExtParaLevel
-{
- sal_uInt32 mnExtParagraphMask;
- sal_uInt16 mnBuBlip;
- sal_uInt16 mnHasAnm;
- sal_uInt32 mnAnmScheme;
- sal_uInt32 mpfPP10Ext;
- sal_uInt32 mnExtCharacterMask;
- sal_uInt32 mcfPP10Ext;
- sal_Bool mbSet;
-
- PPTExtParaLevel();
- friend SvStream& operator>>( SvStream& rIn, PPTExtParaLevel& rL );
-};
-
-struct PPTExtParaSheet
-{
- PPTExtParaLevel aExtParaLevel[ 5 ];
-};
-
-struct PPTBuGraEntry
-{
- UINT32 nInstance;
- Graphic aBuGra;
-
- PPTBuGraEntry( Graphic& rGraphic, UINT32 nInstance );
-};
-
-class PPTExtParaProv
-{
- List aBuGraList;
-
- public :
- BOOL bStyles;
- BOOL bGraphics;
- DffRecordManager aExtendedPresRules;
-
- PPTExtParaSheet aExtParaSheet[ PPT_STYLESHEETENTRYS ];
-
- BOOL GetGraphic( UINT32 nInstance, Graphic& rGraphic ) const;
-
- PPTExtParaProv( SdrPowerPointImport& rManager, SvStream& rSt,
- const DffRecordHeader* pMainMasterHd );
- ~PPTExtParaProv();
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-struct PPTCharLevel
-{
- Color mnFontColorInStyleSheet;
- sal_uInt32 mnFontColor;
- sal_uInt16 mnFlags;
- sal_uInt16 mnFont;
- sal_uInt16 mnAsianOrComplexFont;
- sal_uInt16 mnFontHeight;
- sal_uInt16 mnEscapement;
-};
-
-struct PPTCharSheet
-{
- PPTCharLevel maCharLevel[ 5 ];
-
- PPTCharSheet( sal_uInt32 nInstance );
- PPTCharSheet( const PPTCharSheet& rCharSheet );
-
- void Read( SvStream& rIn, sal_Bool bMasterStyle, sal_uInt32 nLevel, sal_Bool bFirst );
-};
-
-struct PPTParaLevel
-{
- sal_uInt16 mnBuFlags;
- sal_uInt16 mnBulletChar;
- sal_uInt16 mnBulletFont;
- sal_uInt16 mnBulletHeight;
- sal_uInt32 mnBulletColor;
-
- sal_uInt16 mnAdjust;
- sal_uInt16 mnLineFeed;
- sal_uInt16 mnUpperDist;
- sal_uInt16 mnLowerDist;
- sal_uInt16 mnTextOfs;
- sal_uInt16 mnBulletOfs;
- sal_uInt16 mnDefaultTab;
- sal_uInt16 mnAsianLineBreak; // bit0: use asian rules for first and last character
- // 1: do not wrap latin text in the middle of the word
- // 2: allow hanging punctuation
- sal_uInt16 mnBiDi;
-};
-
-struct PPTParaSheet
-{
- public:
-
- PPTParaLevel maParaLevel[ 5 ];
-
- PPTParaSheet( sal_uInt32 nInstance );
- PPTParaSheet( const PPTParaSheet& rParaSheet );
-
- void Read( SdrPowerPointImport& rMan, SvStream& rIn, sal_Bool bMasterStyle,
- sal_uInt32 nLevel, sal_Bool bFirst );
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-class PPTParagraphObj;
-class PPTNumberFormatCreator
-{
- UINT32 nIsBullet;
- UINT32 nBulletChar;
- UINT32 nBulletFont;
- UINT32 nBulletHeight;
- UINT32 nBulletColor;
- UINT32 nTextOfs;
- UINT32 nBulletOfs;
-
- void ImplGetNumberFormat( SdrPowerPointImport& rMan, SvxNumberFormat& rNumberFormat, UINT32 nLevel );
- BOOL ImplGetExtNumberFormat( SdrPowerPointImport& rMan, SvxNumberFormat& rNumberFormat, UINT32 nLevel,
- UINT32 nInstance, UINT32 nInstanceInSheet, boost::optional< sal_Int16 >& rStartNumbering,
- UINT32 nFontHeight, PPTParagraphObj* pPara );
-
- protected :
-
- PPTNumberFormatCreator( PPTExtParaProv* );
- ~PPTNumberFormatCreator();
-
- public :
-
- PPTExtParaProv* pExtParaProv;
-
- void GetNumberFormat( SdrPowerPointImport& rMan, SvxNumberFormat& rNumberFormat, UINT32 nLevel,
- const PPTParaLevel& rParaLevel, const PPTCharLevel& rCharLevel, UINT32 nInstance );
-
- BOOL GetNumberFormat( SdrPowerPointImport& rMan, SvxNumberFormat& rNumberFormat,
- PPTParagraphObj* pPara, UINT32 nInstanceInSheet, boost::optional< sal_Int16 >& rStartNumbering );
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-class SvxNumBulletItem;
-struct PPTStyleSheet : public PPTNumberFormatCreator
-{
- PPTTextSpecInfo maTxSI;
- PPTCharSheet* mpCharSheet[ PPT_STYLESHEETENTRYS ];
- PPTParaSheet* mpParaSheet[ PPT_STYLESHEETENTRYS ];
- SvxNumBulletItem* mpNumBulletItem[ PPT_STYLESHEETENTRYS ];
- void* mpDummy;
-
- PPTStyleSheet( const DffRecordHeader& rSlideHd, SvStream& rSt, SdrPowerPointImport&,
- const PPTTextCharacterStyleAtomInterpreter&, const PPTTextParagraphStyleAtomInterpreter&, const PPTTextSpecInfo& );
- ~PPTStyleSheet();
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-struct ImplPPTParaPropSet
-{
- sal_uInt32 mnRefCount;
-
- sal_uInt16 mnDepth;
- sal_uInt32 mnAttrSet;
- sal_uInt32 mnBulletColor;
- sal_uInt16 mpArry[ 22 ];
-
- sal_uInt32 mnExtParagraphMask;
- sal_uInt32 mnAnmScheme;
- sal_uInt16 mnHasAnm;
- sal_uInt16 mnBuBlip;
-
- sal_uInt32 nDontKnow1;
- sal_uInt32 nDontKnow2;
- sal_uInt16 nDontKnow2bit06;
-
- ImplPPTParaPropSet(){ mnRefCount = 1; mnAttrSet = 0; mnExtParagraphMask = 0; mnDepth = 0; };
-};
-
-struct PPTParaPropSet
-{
- sal_uInt32 mnOriginalTextPos;
- ImplPPTParaPropSet* pParaSet;
-
- PPTParaPropSet();
- PPTParaPropSet( PPTParaPropSet& rParaPropSet );
- ~PPTParaPropSet();
-
- PPTParaPropSet& operator=( PPTParaPropSet& rParaPropSet );
-};
-
-struct ImplPPTCharPropSet
-{
- sal_uInt32 mnRefCount;
-
- sal_uInt32 mnAttrSet;
- sal_uInt16 mnFlags;
- sal_uInt32 mnColor;
- sal_uInt16 mnFont;
- sal_uInt16 mnAsianOrComplexFont;
- sal_uInt16 mnANSITypeface;
- sal_uInt16 mnFontHeight;
- sal_uInt16 mnEscapement;
- sal_uInt16 mnSymbolFont;
-
- ImplPPTCharPropSet(){ mnRefCount = 1; mnAttrSet = 0; };
-};
-
-struct PPTCharPropSet
-{
-
- sal_uInt32 mnOriginalTextPos;
- sal_uInt32 mnParagraph;
- String maString;
- SvxFieldItem* mpFieldItem;
- sal_uInt16 mnLanguage[ 3 ];
-
- ImplPPTCharPropSet* pCharSet;
-
- void SetFont( UINT16 nFont );
- void SetColor( sal_uInt32 nColor );
-
- PPTCharPropSet( sal_uInt32 nParagraph );
- PPTCharPropSet( PPTCharPropSet& rCharPropSet );
- PPTCharPropSet( PPTCharPropSet& rCharPropSet, sal_uInt32 nParagraph );
- ~PPTCharPropSet();
-
- PPTCharPropSet& operator=( PPTCharPropSet& rCharPropSet );
-
- private :
-
- void ImplMakeUnique();
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-struct PPTTabEntry
-{
- sal_uInt16 nOffset;
- sal_uInt16 nStyle;
-};
-
-struct PPTRuler
-{
- UINT32 nRefCount;
-
- INT32 nFlags;
- UINT16 nDefaultTab;
- UINT16 nTextOfs[ 5 ];
- UINT16 nBulletOfs[ 5 ];
- PPTTabEntry* pTab;
- UINT16 nTabCount;
-
- PPTRuler();
- ~PPTRuler();
-};
-
-struct PPTTextRulerInterpreter
-{
- PPTRuler *mpImplRuler;
-
- PPTTextRulerInterpreter();
- PPTTextRulerInterpreter( PPTTextRulerInterpreter& rRuler );
- PPTTextRulerInterpreter( UINT32 nFileOfs, SdrPowerPointImport&, DffRecordHeader& rHd, SvStream& rIn );
- ~PPTTextRulerInterpreter();
-
- sal_uInt16 GetTabOffsetByIndex( sal_uInt16 nIndex ) const { return mpImplRuler->pTab[ nIndex ].nOffset; };
- sal_uInt16 GetTabStyleByIndex( sal_uInt16 nIndex ) const { return mpImplRuler->pTab[ nIndex ].nStyle; };
- UINT16 GetTabCount() const { return mpImplRuler->nTabCount; };
- BOOL GetDefaultTab( UINT32 nLevel, UINT16& nValue ) const;
- BOOL GetTextOfs( UINT32 nLevel, UINT16& nValue ) const;
- BOOL GetBulletOfs( UINT32 nLevel, UINT16& nValue ) const;
-
- PPTTextRulerInterpreter& operator=( PPTTextRulerInterpreter& rRuler );
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#define PPT_SPEC_NEWLINE 0x10000
-#define PPT_SPEC_SYMBOL 0x20000
-#define PPT_SPEC_USE_STARBATS 0x40000
-
-struct StyleTextProp9
-{
- sal_uInt32 mnExtParagraphMask;
- sal_uInt16 mnBuBlip;
- sal_uInt16 mnHasAnm;
- sal_uInt32 mnAnmScheme;
- sal_uInt32 mpfPP10Ext;
- sal_uInt32 mnExtCharacterMask;
- sal_uInt32 mncfPP10Ext;
- sal_uInt32 mnSpecialInfoMask;
- sal_uInt32 mnPP10Ext;
- sal_uInt16 mfBidi;
-
- StyleTextProp9()
- : mnExtParagraphMask( 0 )
- , mnBuBlip( 0 )
- , mnHasAnm( 0 )
- , mnAnmScheme( 0 )
- , mpfPP10Ext( 0 )
- , mnExtCharacterMask( 0 )
- , mncfPP10Ext( 0 )
- , mnSpecialInfoMask( 0 )
- , mnPP10Ext( 0 )
- , mfBidi( 0 )
- {
- }
- void Read( SvStream& rSt );
-};
-
-struct PPTStyleTextPropReader
-{
- List aSpecMarkerList; // hiword -> Flags, loword -> Position
- List aParaPropList;
- List aCharPropList;
-
- PPTStyleTextPropReader( SvStream& rIn, SdrPowerPointImport&, const DffRecordHeader& rClientTextBoxHd,
- PPTTextRulerInterpreter& rInterpreter, const DffRecordHeader& rExtParaHd, sal_uInt32 nTextInstance );
-
- void Init( SvStream& rIn, SdrPowerPointImport&, const DffRecordHeader& rClientTextBoxHd,
- PPTTextRulerInterpreter& rInterpreter, const DffRecordHeader& rExtParaHd, sal_uInt32 nTextInstance );
- void ReadParaProps( SvStream& rIn, SdrPowerPointImport& rMan, const DffRecordHeader& rTextHeader,
- const String& aString, PPTTextRulerInterpreter& rRuler,
- sal_uInt32& nCharCount, sal_Bool& bTextPropAtom );
- void ReadCharProps( SvStream& rIn, PPTCharPropSet& aCharPropSet, const String& aString,
- sal_uInt32& nCharCount, sal_uInt32 nCharAnzRead,
- sal_Bool& bTextPropAtom, sal_uInt32 nExtParaPos,
- const std::vector< StyleTextProp9 >& aStyleTextProp9,
- sal_uInt32& nExtParaFlags, sal_uInt16& nBuBlip,
- sal_uInt16& nHasAnm, sal_uInt32& nAnmScheme );
-
- ~PPTStyleTextPropReader();
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-class SvxFieldItem;
-class SVX_DLLPUBLIC PPTPortionObj : public PPTCharPropSet
-{
-
- friend class PPTParagraphObj;
-
- const PPTStyleSheet& mrStyleSheet;
- UINT32 mnInstance;
- UINT32 mnDepth;
-
- public :
-
- BOOL GetAttrib( UINT32 nAttr, UINT32& nVal, UINT32 nInstanceInSheet );
- SvxFieldItem* GetTextField();
-
- PPTPortionObj( const PPTStyleSheet&, UINT32 nInstance, UINT32 nDepth );
- PPTPortionObj( PPTCharPropSet&, const PPTStyleSheet&, UINT32 nInstance, UINT32 nDepth );
- PPTPortionObj( PPTPortionObj& );
- ~PPTPortionObj();
-
- // the following function should be removed during next full update
- void ApplyTo( SfxItemSet& rSet, SdrPowerPointImport& rManager, UINT32 nInstanceInSheet );
- void ApplyTo( SfxItemSet& rSet, SdrPowerPointImport& rManager, UINT32 nInstanceInSheet, const PPTTextObj* pTextObj );
- UINT32 Count() const { return ( mpFieldItem ) ? 1 : maString.Len(); };
- BOOL HasTabulator();
-};
-
-class SVX_DLLPUBLIC PPTParagraphObj : public PPTParaPropSet, public PPTNumberFormatCreator, public PPTTextRulerInterpreter
-{
- friend class PPTTextObj;
- friend class PPTNumberFormatCreator;
-
- const PPTStyleSheet& mrStyleSheet;
- UINT32 mnInstance;
-
- protected :
-
- void ImplClear();
-
- public :
-
- BOOL mbTab; // if true, this paragraph has tabulators in text
-
- UINT32 mnCurrentObject;
- UINT32 mnPortionCount;
- PPTPortionObj** mpPortionList;
-
- void UpdateBulletRelSize( sal_uInt32& nBulletRelSize ) const;
- BOOL GetAttrib( UINT32 nAttr, UINT32& nVal, UINT32 nInstanceInSheet );
-
- PPTParagraphObj( const PPTStyleSheet&, UINT32 nInstance, UINT16 nDepth );
- PPTParagraphObj( PPTStyleTextPropReader&, const PPTStyleSheet&, UINT32 nInstance, PPTTextRulerInterpreter& rRuler );
- ~PPTParagraphObj();
-
- UINT32 GetTextSize();
- PPTPortionObj* First();
- PPTPortionObj* Next();
-
- void AppendPortion( PPTPortionObj& rPortion );
- void ApplyTo( SfxItemSet& rSet, boost::optional< sal_Int16 >& rStartNumbering, SdrPowerPointImport& rManager, UINT32 nInstanceInSheet, const PPTParagraphObj* pPrev );
-};
-
-#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT 1
-#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_CENTER 2
-#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT 4
-#define PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_BLOCK 8
-#define PPT_TEXTOBJ_FLAGS_VERTICAL 16
-
-struct ImplPPTTextObj
-{
- UINT32 mnRefCount;
- UINT32 mnShapeId;
- UINT32 mnShapeMaster;
- PptOEPlaceholderAtom* mpPlaceHolderAtom;
- UINT16 mnInstance;
- UINT16 mnDestinationInstance;
- MSO_SPT meShapeType;
-
- UINT32 mnCurrentObject;
- UINT32 mnParagraphCount;
- PPTParagraphObj** mpParagraphList;
- PptSlidePersistEntry& mrPersistEntry;
-
- sal_uInt32 mnTextFlags;
-
- ImplPPTTextObj( PptSlidePersistEntry& rPersistEntry ) : mrPersistEntry ( rPersistEntry ) {};
-};
-
-class PPTTextObj
-{
- ImplPPTTextObj* mpImplTextObj;
- void ImplClear();
-
- PPTTextObj(){};
- public :
- PPTTextObj( SvStream& rSt, SdrPowerPointImport&, PptSlidePersistEntry&, DffObjData* );
- PPTTextObj( PPTTextObj& rTextObj );
- ~PPTTextObj();
-
- UINT32 GetCurrentIndex() const { return mpImplTextObj->mnCurrentObject; };
- UINT32 Count() const { return mpImplTextObj->mnParagraphCount; };
- PPTParagraphObj* First();
- PPTParagraphObj* Next();
- MSO_SPT GetShapeType() const { return mpImplTextObj->meShapeType; };
- UINT32 GetInstance() const { return mpImplTextObj->mnInstance; };
- void SetInstance( UINT16 nInstance ) { mpImplTextObj->mnInstance = nInstance; };
- UINT32 GetDestinationInstance() const { return mpImplTextObj->mnDestinationInstance; };
- void SetDestinationInstance( UINT16 nInstance ) { mpImplTextObj->mnDestinationInstance = nInstance; };
- PptOEPlaceholderAtom* GetOEPlaceHolderAtom() const { return mpImplTextObj->mpPlaceHolderAtom; };
- sal_uInt32 GetTextFlags() const { return mpImplTextObj->mnTextFlags; };
- void SetVertical( sal_Bool bVertical )
- {
- if ( bVertical )
- mpImplTextObj->mnTextFlags |= PPT_TEXTOBJ_FLAGS_VERTICAL;
- else
- mpImplTextObj->mnTextFlags &= ~PPT_TEXTOBJ_FLAGS_VERTICAL;
- }
- sal_Bool GetVertical() const { return ( mpImplTextObj->mnTextFlags & PPT_TEXTOBJ_FLAGS_VERTICAL ) != 0; };
- const SfxItemSet* GetBackground() const;
-
- PPTTextObj& operator=( PPTTextObj& rTextObj );
-};
-
-class PPTConvertOCXControls : public SvxMSConvertOCXControls
-{
- virtual const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > & GetDrawPage();
- PptPageKind ePageKind;
- public :
-
- PPTConvertOCXControls( SfxObjectShell* pDSh, PptPageKind ePKind ) :
- SvxMSConvertOCXControls ( pDSh, NULL ),
- ePageKind ( ePKind ){};
-
- virtual sal_Bool InsertControl(
- const com::sun::star::uno::Reference<
- com::sun::star::form::XFormComponent > &rFComp,
- const com::sun::star::awt::Size& rSize,
- com::sun::star::uno::Reference< com::sun::star::drawing::XShape > *pShape,
- BOOL bFloatingCtrl );
-};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// Powerpoint Recordtypen
-#define PPT_PST_Unknown 0
-#define PPT_PST_SubContainerCompleted 1
-#define PPT_PST_IRRAtom 2
-#define PPT_PST_PSS 3
-#define PPT_PST_SubContainerException 4
-#define PPT_PST_ClientSignal1 6
-#define PPT_PST_ClientSignal2 7
-#define PPT_PST_PowerPointStateInfoAtom 10
-#define PPT_PST_Document 1000
-#define PPT_PST_DocumentAtom 1001
-#define PPT_PST_EndDocument 1002
-#define PPT_PST_SlidePersist 1003
-#define PPT_PST_SlideBase 1004
-#define PPT_PST_SlideBaseAtom 1005
-#define PPT_PST_Slide 1006
-#define PPT_PST_SlideAtom 1007
-#define PPT_PST_Notes 1008
-#define PPT_PST_NotesAtom 1009
-#define PPT_PST_Environment 1010
-#define PPT_PST_SlidePersistAtom 1011
-#define PPT_PST_Scheme 1012
-#define PPT_PST_SchemeAtom 1013
-#define PPT_PST_DocViewInfo 1014
-#define PPT_PST_SslideLayoutAtom 1015
-#define PPT_PST_MainMaster 1016
-#define PPT_PST_SSSlideInfoAtom 1017
-#define PPT_PST_SlideViewInfo 1018
-#define PPT_PST_GuideAtom 1019
-#define PPT_PST_ViewInfo 1020
-#define PPT_PST_ViewInfoAtom 1021
-#define PPT_PST_SlideViewInfoAtom 1022
-#define PPT_PST_VBAInfo 1023
-#define PPT_PST_VBAInfoAtom 1024
-#define PPT_PST_SSDocInfoAtom 1025
-#define PPT_PST_Summary 1026
-#define PPT_PST_Texture 1027
-#define PPT_PST_VBASlideInfo 1028
-#define PPT_PST_VBASlideInfoAtom 1029
-#define PPT_PST_DocRoutingSlip 1030
-#define PPT_PST_OutlineViewInfo 1031
-#define PPT_PST_SorterViewInfo 1032
-#define PPT_PST_ExObjList 1033
-#define PPT_PST_ExObjListAtom 1034
-#define PPT_PST_PPDrawingGroup 1035
-#define PPT_PST_PPDrawing 1036
-#define PPT_PST_NewlyAddedAtomByXP1037 1037
-#define PPT_PST_NamedShows 1040
-#define PPT_PST_NamedShow 1041
-#define PPT_PST_NamedShowSlides 1042
-#define PPT_PST_List 2000
-#define PPT_PST_FontCollection 2005
-#define PPT_PST_ListPlaceholder 2017
-#define PPT_PST_BookmarkCollection 2019
-#define PPT_PST_SoundCollection 2020
-#define PPT_PST_SoundCollAtom 2021
-#define PPT_PST_Sound 2022
-#define PPT_PST_SoundData 2023
-#define PPT_PST_BookmarkSeedAtom 2025
-#define PPT_PST_GuideList 2026
-#define PPT_PST_RunArray 2028
-#define PPT_PST_RunArrayAtom 2029
-#define PPT_PST_ArrayElementAtom 2030
-#define PPT_PST_Int4ArrayAtom 2031
-#define PPT_PST_ColorSchemeAtom 2032
-
-// these atoms first was seen in ppt2000 in a private Tag atom
-#define PPT_PST_ExtendedBuGraContainer 2040 // consist of 4041
-#define PPT_PST_ExtendedBuGraAtom 2041 // the instance of this atom indices the current graphic
-
-#define PPT_PST_OEShape 3008
-#define PPT_PST_ExObjRefAtom 3009
-#define PPT_PST_OEPlaceholderAtom 3011
-#define PPT_PST_GrColor 3020
-#define PPT_PST_GrectAtom 3025
-#define PPT_PST_GratioAtom 3031
-#define PPT_PST_Gscaling 3032
-#define PPT_PST_GpointAtom 3034
-#define PPT_PST_OEShapeAtom 3035
-#define PPT_PST_OutlineTextRefAtom 3998
-#define PPT_PST_TextHeaderAtom 3999
-#define PPT_PST_TextCharsAtom 4000
-#define PPT_PST_StyleTextPropAtom 4001
-#define PPT_PST_BaseTextPropAtom 4002
-#define PPT_PST_TxMasterStyleAtom 4003
-#define PPT_PST_TxCFStyleAtom 4004
-#define PPT_PST_TxPFStyleAtom 4005
-#define PPT_PST_TextRulerAtom 4006
-#define PPT_PST_TextBookmarkAtom 4007
-#define PPT_PST_TextBytesAtom 4008
-#define PPT_PST_TxSIStyleAtom 4009
-#define PPT_PST_TextSpecInfoAtom 4010
-#define PPT_PST_DefaultRulerAtom 4011
-
-// these atoms first was seen in ppt2000 in a private Tag atom
-#define PPT_PST_ExtendedParagraphAtom 4012
-#define PPT_PST_ExtendedParagraphMasterAtom 4013
-#define PPT_PST_ExtendedPresRuleContainer 4014 // consist of 4012, 4015,
-#define PPT_PST_ExtendedParagraphHeaderAtom 4015 // the instance of this atom indices the current presobj
- // the first UINT32 in this atom indices the current slideId
-#define PPT_PST_NewlyAddedAtom4016 4016
-
-#define PPT_PST_FontEntityAtom 4023
-#define PPT_PST_FontEmbedData 4024
-#define PPT_PST_TypeFace 4025
-#define PPT_PST_CString 4026
-#define PPT_PST_ExternalObject 4027
-#define PPT_PST_MetaFile 4033
-#define PPT_PST_ExOleObj 4034
-#define PPT_PST_ExOleObjAtom 4035
-#define PPT_PST_ExPlainLinkAtom 4036
-#define PPT_PST_CorePict 4037
-#define PPT_PST_CorePictAtom 4038
-#define PPT_PST_ExPlainAtom 4039
-#define PPT_PST_SrKinsoku 4040
-#define PPT_PST_Handout 4041
-#define PPT_PST_ExEmbed 4044
-#define PPT_PST_ExEmbedAtom 4045
-#define PPT_PST_ExLink 4046
-#define PPT_PST_ExLinkAtom_old 4047
-#define PPT_PST_BookmarkEntityAtom 4048
-#define PPT_PST_ExLinkAtom 4049
-#define PPT_PST_SrKinsokuAtom 4050
-#define PPT_PST_ExHyperlinkAtom 4051
-#define PPT_PST_ExPlain 4053
-#define PPT_PST_ExPlainLink 4054
-#define PPT_PST_ExHyperlink 4055
-#define PPT_PST_SlideNumberMCAtom 4056
-#define PPT_PST_HeadersFooters 4057
-#define PPT_PST_HeadersFootersAtom 4058
-#define PPT_PST_RecolorEntryAtom 4062
-#define PPT_PST_TxInteractiveInfoAtom 4063
-#define PPT_PST_EmFormatAtom 4065
-#define PPT_PST_CharFormatAtom 4066
-#define PPT_PST_ParaFormatAtom 4067
-#define PPT_PST_MasterText 4068
-#define PPT_PST_RecolorInfoAtom 4071
-#define PPT_PST_ExQuickTime 4073
-#define PPT_PST_ExQuickTimeMovie 4074
-#define PPT_PST_ExQuickTimeMovieData 4075
-#define PPT_PST_ExSubscription 4076
-#define PPT_PST_ExSubscriptionSection 4077
-#define PPT_PST_ExControl 4078
-#define PPT_PST_ExControlAtom 4091
-#define PPT_PST_SlideListWithText 4080
-#define PPT_PST_AnimationInfoAtom 4081
-#define PPT_PST_InteractiveInfo 4082
-#define PPT_PST_InteractiveInfoAtom 4083
-#define PPT_PST_SlideList 4084
-#define PPT_PST_UserEditAtom 4085
-#define PPT_PST_CurrentUserAtom 4086
-#define PPT_PST_DateTimeMCAtom 4087
-#define PPT_PST_GenericDateMCAtom 4088
-#define PPT_PST_HeaderMCAtom 4089
-#define PPT_PST_FooterMCAtom 4090
-#define PPT_PST_ExMediaAtom 4100
-#define PPT_PST_ExVideo 4101
-#define PPT_PST_ExAviMovie 4102
-#define PPT_PST_ExMCIMovie 4103
-#define PPT_PST_ExMIDIAudio 4109
-#define PPT_PST_ExCDAudio 4110
-#define PPT_PST_ExWAVAudioEmbedded 4111
-#define PPT_PST_ExWAVAudioLink 4112
-#define PPT_PST_ExOleObjStg 4113
-#define PPT_PST_ExCDAudioAtom 4114
-#define PPT_PST_ExWAVAudioEmbeddedAtom 4115
-#define PPT_PST_AnimationInfo 4116
-#define PPT_PST_RTFDateTimeMCAtom 4117
-#define PPT_PST_ProgTags 5000
-#define PPT_PST_ProgStringTag 5001
-#define PPT_PST_ProgBinaryTag 5002
-#define PPT_PST_BinaryTagData 5003
-#define PPT_PST_PrintOptions 6000
-#define PPT_PST_PersistPtrFullBlock 6001
-#define PPT_PST_PersistPtrIncrementalBlock 6002
-
-// these atoms first was seen in ppt2000 in a private Tag atom
-#define PPT_PST_NewlyAddedAtomByPPT2000_6010 6010
-#define PPT_PST_NewlyAddedAtomByPPT2000_6011 6011
-
-#define PPT_PST_RulerIndentAtom 10000
-#define PPT_PST_GscalingAtom 10001
-#define PPT_PST_GrColorAtom 10002
-#define PPT_PST_GLPointAtom 10003
-#define PPT_PST_GlineAtom 10004
-
-#define PPT_PST_NewlyAddedAtomByXP11008 11008
-#define PPT_PST_NewlyAddedAtomByXP11010 11010
-#define PPT_PST_Comment10 12000
-#define PPT_PST_CommentAtom10 12001
-#define PPT_PST_NewlyAddedAtomByXP12004 12004
-#define PPT_PST_NewlyAddedAtomByXP12010 12010
-#define PPT_PST_NewlyAddedAtomByXP12011 12011
-#define PPT_PST_NewlyAddedAtomByXP14001 14001
-
-// Attribute fuer PptTextStyleSheet
-#define PPT_ParaAttr_BulletOn 0 //00000001
-#define PPT_ParaAttr_BuHardFont 1 //00000002
-#define PPT_ParaAttr_BuHardColor 2 //00000004
-#define PPT_ParaAttr_BuHardHeight 3 //00000008
-#define PPT_ParaAttr_BulletFont 4 //00000010
-#define PPT_ParaAttr_BulletColor 5 //00000020
-#define PPT_ParaAttr_BulletHeight 6 //00000040
-#define PPT_ParaAttr_BulletChar 7 //00000080
-
-#define PPT_ParaAttr_DontKnow1 8 //00000100
-#define PPT_ParaAttr_DontKnow2 9 //00000200
-#define PPT_ParaAttr_DontKnow3 10 //00000400
-#define PPT_ParaAttr_Adjust 11 //00000800 0000=Left, 0001=Center, 0002=Right, 0003=Block
-
-#define PPT_ParaAttr_LineFeed 12 //00001000
-#define PPT_ParaAttr_UpperDist 13 //00002000 ist bei Textframes default immer auf 0032 gesetzt
-#define PPT_ParaAttr_LowerDist 14 //00004000
-#define PPT_ParaAttr_TextOfs 15 //00008000
-
-#define PPT_ParaAttr_BulletOfs 16 //00010000
-#define PPT_ParaAttr_DefaultTab 17 //00020000
-#define PPT_ParaAttr_AsianLB_1 18
-#define PPT_ParaAttr_AsianLB_2 19
-#define PPT_ParaAttr_AsianLB_3 20
-#define PPT_ParaAttr_BiDi 21 //00200000
-
-#define PPT_CharAttr_Bold 0 //00000001
-#define PPT_CharAttr_Italic 1 //00000002
-#define PPT_CharAttr_Underline 2 //00000004
-#define PPT_CharAttr_Shadow 4 //00000010
-#define PPT_CharAttr_Strikeout 8 //00000100
-#define PPT_CharAttr_Embossed 9 //00000200
-#define PPT_CharAttr_ResetNumbering 10 //00000400
-#define PPT_CharAttr_EnableNumbering1 11 //00000800
-#define PPT_CharAttr_EnableNumbering2 12 //00001000
-#define PPT_CharAttr_Font 16 //00010000
-#define PPT_CharAttr_AsianOrComplexFont 21 //00200000
-#define PPT_CharAttr_ANSITypeface 22 //00400000
-#define PPT_CharAttr_Symbol 23 //00800000
-#define PPT_CharAttr_FontHeight 17 //00020000
-#define PPT_CharAttr_FontColor 18 //00040000
-#define PPT_CharAttr_Escapement 19 //00080000
-
-// Werte fuer PptSlideLayoutAtom.eLayout
-#define PPT_LAYOUT_TITLESLIDE 0 // The slide is a title slide
-#define PPT_LAYOUT_TITLEANDBODYSLIDE 1 // Title and body slide
-#define PPT_LAYOUT_TITLEMASTERSLIDE 2 // Title master slide
-#define PPT_LAYOUT_MASTERSLIDE 3 // Master slide layout
-#define PPT_LAYOUT_MASTERNOTES 4 // Master notes layout
-#define PPT_LAYOUT_NOTESTITLEBODY 5 // Notes title/body layout
-#define PPT_LAYOUT_HANDOUTLAYOUT 6 // Handout layout, therefore it doesn't have placeholders except header, footer, and date
-#define PPT_LAYOUT_ONLYTITLE 7 // Only title placeholder
-#define PPT_LAYOUT_2COLUMNSANDTITLE 8 // Body of the slide has 2 columns and a title
-#define PPT_LAYOUT_2ROWSANDTITLE 9 // Slide's body has 2 rows and a title
-#define PPT_LAYOUT_RIGHTCOLUMN2ROWS 10 // Body contains 2 columns, right column has 2 rows
-#define PPT_LAYOUT_LEFTCOLUMN2ROWS 11 // Body contains 2 columns, left column has 2 rows
-#define PPT_LAYOUT_BOTTOMROW2COLUMNS 12 // Body contains 2 rows, bottom row has 2 columns
-#define PPT_LAYOUT_TOPROW2COLUMN 13 // Body contains 2 rows, top row has 2 columns
-#define PPT_LAYOUT_4OBJECTS 14 // 4 objects
-#define PPT_LAYOUT_BIGOBJECT 15 // Big object
-#define PPT_LAYOUT_BLANCSLIDE 16 // Blank slide
-#define PPT_LAYOUT_TITLERIGHTBODYLEFT 17 // Vertical title on the right, body on the left
-#define PPT_LAYOUT_TITLERIGHT2BODIESLEFT 18 // Vertical title on the right, body on the left split into 2 rows
-
-// the following table describes the placeholder id's (values from reality followed by values taken from the documentation)
-#define PPT_PLACEHOLDER_NONE 0 // 0 None
-#define PPT_PLACEHOLDER_MASTERTITLE 1 // 1 Master title
-#define PPT_PLACEHOLDER_MASTERBODY 2 // 2 Master body
-#define PPT_PLACEHOLDER_MASTERCENTEREDTITLE 3 // 3 Master centered title
-#define PPT_PLACEHOLDER_MASTERSUBTITLE 4 // 10 Master subtitle
-#define PPT_PLACEHOLDER_MASTERNOTESSLIDEIMAGE 5 // 4 Master notes slide image
-#define PPT_PLACEHOLDER_MASTERNOTESBODYIMAGE 6 // 5 Master notes body image
-#define PPT_PLACEHOLDER_MASTERDATE 7 // 6 Master date
-#define PPT_PLACEHOLDER_MASTERSLIDENUMBER 8 // 7 Master slide number
-#define PPT_PLACEHOLDER_MASTERFOOTER 9 // 8 Master footer
-#define PPT_PLACEHOLDER_MASTERHEADER 10 // 9 Master header
-#define PPT_PLACEHOLDER_GENERICTEXTOBJECT // 11 Generic text object
-#define PPT_PLACEHOLDER_TITLE 13 // 12 Title
-#define PPT_PLACEHOLDER_BODY 14 // 13 Body
-#define PPT_PLACEHOLDER_NOTESBODY 12 // 14 Notes body
-#define PPT_PLACEHOLDER_CENTEREDTITLE 15 // 15 Centered title
-#define PPT_PLACEHOLDER_SUBTITLE 16 // 16 Subtitle
-#define PPT_PLACEHOLDER_VERTICALTEXTTITLE 17 // 17 Vertical text title
-#define PPT_PLACEHOLDER_VERTICALTEXTBODY 18 // 18 Vertical text body
-#define PPT_PLACEHOLDER_NOTESSLIDEIMAGE 11 // 19 Notes slide image
-#define PPT_PLACEHOLDER_OBJECT 19 // 20 Object (no matter the size)
-#define PPT_PLACEHOLDER_GRAPH 20 // 21 Graph
-#define PPT_PLACEHOLDER_TABLE 21 // 22 Table
-#define PPT_PLACEHOLDER_CLIPART 22 // 23 Clip Art
-#define PPT_PLACEHOLDER_ORGANISZATIONCHART 23 // 24 Organization Chart
-#define PPT_PLACEHOLDER_MEDIACLIP 24 // 25 Media Clip
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#endif // SVX_LIGHT
-
-#endif //_SVDFPPT_HXX
-