summaryrefslogtreecommitdiff
path: root/sd/source/filter/eppt/epptbase.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/filter/eppt/epptbase.hxx')
-rw-r--r--sd/source/filter/eppt/epptbase.hxx454
1 files changed, 0 insertions, 454 deletions
diff --git a/sd/source/filter/eppt/epptbase.hxx b/sd/source/filter/eppt/epptbase.hxx
deleted file mode 100644
index 79244e8e2..000000000
--- a/sd/source/filter/eppt/epptbase.hxx
+++ /dev/null
@@ -1,454 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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 EPPT_EPPTBASE_HXX
-#define EPPT_EPPTBASE_HXX
-
-#include <vector>
-#include <boost/ptr_container/ptr_vector.hpp>
-
-#include <vcl/mapmod.hxx>
-#include <tools/string.hxx>
-#include <tools/stream.hxx>
-#include <tools/gen.hxx>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
-#include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
-#include <com/sun/star/drawing/XMasterPageTarget.hpp>
-#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/presentation/XPresentationSupplier.hpp>
-#include <com/sun/star/presentation/FadeEffect.hpp>
-#include <com/sun/star/task/XStatusIndicatorSupplier.hpp>
-
-#include "grouptable.hxx"
-
-// PLACEMENT_ID
-#define EPP_LAYOUT_TITLESLIDE 0 /* The slide is a title slide */
-#define EPP_LAYOUT_TITLEANDBODYSLIDE 1 /* Title and body slide */
-#define EPP_LAYOUT_TITLEMASTERSLIDE 2 /* Title master slide */
-#define EPP_LAYOUT_MASTERSLIDE 3 /* Master slide layout */
-#define EPP_LAYOUT_MASTERNOTES 4 /* Master notes layout */
-#define EPP_LAYOUT_NOTESTITLEBODY 5 /* Notes title/body layout */
-#define EPP_LAYOUT_HANDOUTLAYOUT 6 /* Handout layout, therefore it doesn't have placeholders except header, footer, and date */
-#define EPP_LAYOUT_ONLYTITLE 7 /* Only title placeholder */
-#define EPP_LAYOUT_2COLUMNSANDTITLE 8 /* Body of the slide has 2 columns and a title */
-#define EPP_LAYOUT_2ROWSANDTITLE 9 /* Slide's body has 2 rows and a title */
-#define EPP_LAYOUT_RIGHTCOLUMN2ROWS 10 /* Body contains 2 columns, right column has 2 rows */
-#define EPP_LAYOUT_LEFTCOLUMN2ROWS 11 /* Body contains 2 columns, left column has 2 rows */
-#define EPP_LAYOUT_BOTTOMROW2COLUMNS 12 /* Body contains 2 rows, bottom row has 2 columns */
-#define EPP_LAYOUT_TOPROW2COLUMN 13 /* Body contains 2 rows, top row has 2 columns */
-#define EPP_LAYOUT_4OBJECTS 14 /* 4 objects */
-#define EPP_LAYOUT_BIGOBJECT 15 /* Big object */
-#define EPP_LAYOUT_BLANCSLIDE 16 /* Blank slide */
-#define EPP_LAYOUT_TITLERIGHTBODYLEFT 17 /* Vertical title on the right, body on the left */
-#define EPP_LAYOUT_TITLERIGHT2BODIESLEFT 18 /* Vertical title on the right, body on the left split into 2 rows */
-
-#define EPP_LAYOUT_SIZE 25
-
-class Polygon;
-class PptEscherEx;
-class XStatusIndicatorRef;
-
-struct PHLayout
-{
- sal_Int32 nLayout;
- sal_uInt8 nPlaceHolder[ 8 ];
-
- sal_uInt8 nUsedObjectPlaceHolder;
- sal_uInt8 nTypeOfTitle;
- sal_uInt8 nTypeOfOutliner;
-
- sal_Bool bTitlePossible;
- sal_Bool bOutlinerPossible;
- sal_Bool bSecOutlinerPossible;
-};
-
-enum PageType { NORMAL = 0, MASTER = 1, NOTICE = 2, UNDEFINED = 3, LAYOUT = 4 };
-
-class PropValue
-{
- protected :
-
- ::com::sun::star::uno::Any mAny;
-
- ::com::sun::star::uno::Reference
- < ::com::sun::star::beans::XPropertySet > mXPropSet;
-
- sal_Bool ImplGetPropertyValue( const String& rString );
- sal_Bool ImplGetPropertyValue( const ::com::sun::star::uno::Reference
- < ::com::sun::star::beans::XPropertySet > &, const String& );
-
- public :
-
- PropValue() {}
-
- PropValue( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet )
- : mXPropSet( rXPropSet )
- {}
-
- ::com::sun::star::uno::Any GetAny() { return mAny; }
-
- static sal_Bool GetPropertyValue(
- ::com::sun::star::uno::Any& rAny,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
- const String& rPropertyName,
- sal_Bool bTestPropertyAvailability = sal_False );
-
- static ::com::sun::star::beans::PropertyState GetPropertyState(
- const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > &,
- const String& rPropertyName );
-};
-
-class EscherGraphicProvider;
-class PPTExBulletProvider
-{
- friend struct PPTExParaSheet;
-
- protected :
-
- SvMemoryStream aBuExPictureStream;
- SvMemoryStream aBuExOutlineStream;
- SvMemoryStream aBuExMasterStream;
-
- EscherGraphicProvider* pGraphicProv;
-
- public :
-
- sal_uInt16 GetId( const ByteString& rUniqueId, Size& rGraphicSize );
-
- PPTExBulletProvider();
- ~PPTExBulletProvider();
-};
-
-struct FontCollectionEntry
-{
- String Name;
- double Scaling;
- sal_Int16 Family;
- sal_Int16 Pitch;
- sal_Int16 CharSet;
-
- String Original;
- sal_Bool bIsConverted;
-
- FontCollectionEntry( const String& rName, sal_Int16 nFamily, sal_Int16 nPitch, sal_Int16 nCharSet ) :
- Scaling ( 1.0 ),
- Family ( nFamily ),
- Pitch ( nPitch ),
- CharSet ( nCharSet ),
- Original( rName )
- {
- ImplInit( rName );
- };
-
- FontCollectionEntry( const String& rName ) :
- Scaling ( 1.0 ),
- Original( rName )
- {
- ImplInit( rName );
- };
- ~FontCollectionEntry();
-
- private :
-
- FontCollectionEntry() {};
-
- void ImplInit( const String& rName );
-};
-
-class VirtualDevice;
-class FontCollection
-{
-public :
-
- FontCollection();
-
- ~FontCollection();
-
- short GetScriptDirection( const String& rText ) const;
-
- sal_uInt32 GetId( FontCollectionEntry& rFontDescriptor );
-
- inline sal_uInt32 GetCount() const { return maFonts.size(); };
-
- const FontCollectionEntry* GetById( sal_uInt32 nId );
-
- FontCollectionEntry& GetLast() { return *(maFonts.rbegin()); };
-
-private:
-
- VirtualDevice* pVDev;
- boost::ptr_vector<FontCollectionEntry> maFonts;
-};
-
-// ------------------------------------------------------------------------
-
-#define PPTEX_STYLESHEETENTRYS 9
-
-enum PPTExTextAttr
-{
- ParaAttr_BulletOn,
- ParaAttr_BuHardFont,
- ParaAttr_BuHardColor,
- ParaAttr_BuHardHeight,
- ParaAttr_BulletChar,
- ParaAttr_BulletFont,
- ParaAttr_BulletHeight,
- ParaAttr_BulletColor,
- ParaAttr_Adjust,
- ParaAttr_LineFeed,
- ParaAttr_UpperDist,
- ParaAttr_LowerDist,
- ParaAttr_TextOfs,
- ParaAttr_BulletOfs,
- ParaAttr_DefaultTab,
- ParaAttr_AsianLB_1,
- ParaAttr_AsianLB_2,
- ParaAttr_AsianLB_3,
- ParaAttr_BiDi,
- CharAttr_Bold,
- CharAttr_Italic,
- CharAttr_Underline,
- CharAttr_Shadow,
- CharAttr_Strikeout,
- CharAttr_Embossed,
- CharAttr_Font,
- CharAttr_AsianOrComplexFont,
- CharAttr_Symbol,
- CharAttr_FontHeight,
- CharAttr_FontColor,
- CharAttr_Escapement
-};
-
-struct PPTExCharLevel
-{
- sal_uInt16 mnFlags;
- sal_uInt16 mnFont;
- sal_uInt16 mnAsianOrComplexFont;
- sal_uInt16 mnFontHeight;
- sal_uInt16 mnEscapement;
- sal_uInt32 mnFontColor;
-};
-
-struct PPTExCharSheet
-{
- PPTExCharLevel maCharLevel[ 5 ];
-
- PPTExCharSheet( int nInstance );
-
- void SetStyleSheet( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
- FontCollection& rFontCollection, int nLevel );
- void Write( SvStream& rSt, PptEscherEx* pEx, sal_uInt16 nLev, sal_Bool bFirst, sal_Bool bSimpleText,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rPagePropSet );
-
-};
-
-struct PPTExParaLevel
-{
- sal_Bool mbIsBullet;
- sal_uInt16 mnBulletChar;
- sal_uInt16 mnBulletFont;
- sal_uInt16 mnBulletHeight;
- sal_uInt32 mnBulletColor;
-
- sal_uInt16 mnAdjust;
- sal_Int16 mnOOAdjust;
- sal_uInt16 mnLineFeed;
- sal_uInt16 mnUpperDist;
- sal_uInt16 mnLowerDist;
- sal_uInt16 mnTextOfs;
- sal_uInt16 mnBulletOfs;
- sal_uInt16 mnDefaultTab;
-
- sal_Bool mbExtendedBulletsUsed;
- sal_uInt16 mnBulletId;
- sal_uInt16 mnBulletStart;
- sal_uInt32 mnMappedNumType;
- sal_uInt32 mnNumberingType;
- sal_uInt16 mnAsianSettings;
- sal_uInt16 mnBiDi;
-};
-
-struct PPTExParaSheet
-{
- PPTExBulletProvider& rBuProv;
-
- sal_uInt32 mnInstance;
-
- PPTExParaLevel maParaLevel[ 5 ];
- PPTExParaSheet( int nInstance, sal_uInt16 nDefaultTab, PPTExBulletProvider& rProv );
-
- void SetStyleSheet( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
- FontCollection& rFontCollection, int nLevel, const PPTExCharLevel& rCharLevel );
- void Write( SvStream& rSt, PptEscherEx* pEx, sal_uInt16 nLev, sal_Bool bFirst, sal_Bool bSimpleText,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rPagePropSet );
-};
-
-class PPTExStyleSheet
-{
-
- public :
-
- PPTExCharSheet* mpCharSheet[ PPTEX_STYLESHEETENTRYS ];
- PPTExParaSheet* mpParaSheet[ PPTEX_STYLESHEETENTRYS ];
-
- PPTExStyleSheet( sal_uInt16 nDefaultTab, PPTExBulletProvider& rBuProv );
- ~PPTExStyleSheet();
-
- PPTExParaSheet& GetParaSheet( int nInstance ) { return *mpParaSheet[ nInstance ]; };
- PPTExCharSheet& GetCharSheet( int nInstance ) { return *mpCharSheet[ nInstance ]; };
-
- void SetStyleSheet( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > &,
- FontCollection& rFontCollection, int nInstance, int nLevel );
- sal_Bool IsHardAttribute( sal_uInt32 nInstance, sal_uInt32 nLevel, PPTExTextAttr eAttr, sal_uInt32 nValue );
-
- sal_uInt32 SizeOfTxCFStyleAtom() const;
- void WriteTxCFStyleAtom( SvStream& rSt );
-};
-
-// ------------------------------------------------------------------------
-
-class PPTWriterBase : public PropValue, public GroupTable
-{
-protected:
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > mXModel;
- ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > mXStatusIndicator;
-
- sal_Bool mbStatusIndicator;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPagesSupplier > mXDrawPagesSupplier;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XMasterPagesSupplier > mXMasterPagesSupplier;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > mXDrawPages;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > mXDrawPage;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mXPagePropSet;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mXBackgroundPropSet;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > mXShapes;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXShape;
- ::com::sun::star::awt::Size maSize;
- ::com::sun::star::awt::Point maPosition;
- Rectangle maRect;
- ByteString mType;
- sal_Bool mbPresObj;
- sal_Bool mbEmptyPresObj;
- sal_Int32 mnAngle;
-
- sal_uInt32 mnPages; // number of Slides ( w/o master pages & notes & handout )
- sal_uInt32 mnMasterPages;
-
- Fraction maFraction;
- MapMode maMapModeSrc;
- MapMode maMapModeDest;
- ::com::sun::star::awt::Size maDestPageSize;
- ::com::sun::star::awt::Size maNotesPageSize;
-
- PageType meLatestPageType;
- std::vector< PPTExStyleSheet* > maStyleSheetList;
- PPTExStyleSheet* mpStyleSheet;
-
- FontCollection maFontCollection;
-
- virtual void ImplWriteSlide( sal_uInt32 /* nPageNum */, sal_uInt32 /* nMasterNum */, sal_uInt16 /* nMode */,
- sal_Bool /* bHasBackground */, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > /* aXBackgroundPropSet */ ) {}
- virtual void ImplWriteNotes( sal_uInt32 nPageNum ) = 0;
- virtual void ImplWriteSlideMaster( sal_uInt32 /* nPageNum */, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > /* aXBackgroundPropSet */ ) {}
- virtual void ImplWriteLayout( sal_Int32 /* nOffset */, sal_uInt32 /* nMasterNum */ ) {}
-
- virtual void exportPPTPre() {}
- virtual void exportPPTPost() {}
-
- virtual sal_Bool ImplCreateDocument()=0;
- virtual sal_Bool ImplCreateMainNotes()=0;
-
- sal_Bool GetStyleSheets();
- sal_Bool GetShapeByIndex( sal_uInt32 nIndex, sal_Bool bGroup = sal_False );
-
- sal_Bool CreateMainNotes();
-
- ::com::sun::star::awt::Size MapSize( const ::com::sun::star::awt::Size& );
- ::com::sun::star::awt::Point MapPoint( const ::com::sun::star::awt::Point& );
- Rectangle MapRectangle( const ::com::sun::star::awt::Rectangle& );
-
- sal_Bool ContainsOtherShapeThanPlaceholders( sal_Bool bForOOMLX );
-
-public:
- PPTWriterBase();
- PPTWriterBase( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > & rModel,
- const ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > & rStatInd );
-
- ~PPTWriterBase();
-
- void exportPPT();
-
- sal_Bool InitSOIface();
- sal_Bool GetPageByIndex( sal_uInt32 nIndex, PageType );
- sal_uInt32 GetMasterIndex( PageType ePageType );
- sal_Bool SetCurrentStyleSheet( sal_uInt32 nPageNum );
-
- sal_Bool GetPresObj() { return mbPresObj; }
-
- PHLayout& GetLayout( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rXPropSet ) const;
- PHLayout& GetLayout( sal_Int32 nOffset ) const;
- sal_Int32 GetLayoutOffset( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rXPropSet ) const;
- sal_Int32 GetLayoutOffsetFixed( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& rXPropSet ) const;
-
- sal_Bool CreateSlide( sal_uInt32 nPageNum );
- sal_Bool CreateSlideMaster( sal_uInt32 nPageNum );
- sal_Bool CreateNotes( sal_uInt32 nPageNum );
-
- static sal_Int8 GetTransition( sal_Int16 nTransitionType, sal_Int16 nTransitionSubtype, ::com::sun::star::presentation::FadeEffect eEffect, sal_uInt8& nDirection );
- static sal_Int8 GetTransition( ::com::sun::star::presentation::FadeEffect eEffect, sal_uInt8& nDirection );
-};
-
-#define PPT_TRANSITION_TYPE_NONE 0
-#define PPT_TRANSITION_TYPE_RANDOM 1
-#define PPT_TRANSITION_TYPE_BLINDS 2
-#define PPT_TRANSITION_TYPE_CHECKER 3
-#define PPT_TRANSITION_TYPE_COVER 4
-#define PPT_TRANSITION_TYPE_DISSOLVE 5
-#define PPT_TRANSITION_TYPE_FADE 6
-#define PPT_TRANSITION_TYPE_PULL 7
-#define PPT_TRANSITION_TYPE_RANDOM_BARS 8
-#define PPT_TRANSITION_TYPE_STRIPS 9
-#define PPT_TRANSITION_TYPE_WIPE 10
-#define PPT_TRANSITION_TYPE_ZOOM 11
-#define PPT_TRANSITION_TYPE_SPLIT 13
-
-// effects, new in xp
-#define PPT_TRANSITION_TYPE_DIAMOND 17
-#define PPT_TRANSITION_TYPE_PLUS 18
-#define PPT_TRANSITION_TYPE_WEDGE 19
-#define PPT_TRANSITION_TYPE_PUSH 20
-#define PPT_TRANSITION_TYPE_COMB 21
-#define PPT_TRANSITION_TYPE_NEWSFLASH 22
-#define PPT_TRANSITION_TYPE_SMOOTHFADE 23
-#define PPT_TRANSITION_TYPE_WHEEL 26
-#define PPT_TRANSITION_TYPE_CIRCLE 27
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */