diff options
Diffstat (limited to 'svx/inc/svx/svdfppt.hxx')
-rw-r--r-- | svx/inc/svx/svdfppt.hxx | 1445 |
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 - |