LibreOffice Module filter (master) 1
Macros | Functions
svdfppt.cxx File Reference
#include <sal/config.h>
#include <osl/endian.h>
#include <utility>
#include <vcl/svapp.hxx>
#include <unotools/tempfile.hxx>
#include <comphelper/diagnose_ex.hxx>
#include <tools/UnitConversion.hxx>
#include <editeng/eeitem.hxx>
#include <editeng/editdata.hxx>
#include <sot/storage.hxx>
#include <sot/storinfo.hxx>
#include <sot/stg.hxx>
#include <com/sun/star/embed/Aspects.hpp>
#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/office/XAnnotation.hpp>
#include <com/sun/star/office/XAnnotationAccess.hpp>
#include <com/sun/star/text/XText.hpp>
#include <com/sun/star/geometry/RealPoint2D.hpp>
#include <com/sun/star/util/DateTime.hpp>
#include <com/sun/star/drawing/BitmapMode.hpp>
#include <filter/msfilter/svdfppt.hxx>
#include <svx/xflgrit.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/svdtrans.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdogrp.hxx>
#include <svx/svdorect.hxx>
#include <svx/svdopage.hxx>
#include <svx/svdograf.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdotable.hxx>
#include <svx/xfillit0.hxx>
#include <svx/xflbstit.hxx>
#include <svx/xflbmtit.hxx>
#include <svx/xflclit.hxx>
#include <svx/xfltrit.hxx>
#include <editeng/outlobj.hxx>
#include <editeng/numdef.hxx>
#include <svx/sdasitm.hxx>
#include <svx/sdmetitm.hxx>
#include <svx/sdtagitm.hxx>
#include <svx/sdtditm.hxx>
#include <svx/sdtfsitm.hxx>
#include <svx/sdtmfitm.hxx>
#include <svx/xlineit0.hxx>
#include <svx/xlnclit.hxx>
#include <svx/xlnwtit.hxx>
#include <editeng/hngpnctitem.hxx>
#include <editeng/forbiddenruleitem.hxx>
#include <svx/svdoashp.hxx>
#include <editeng/tstpitem.hxx>
#include <editeng/editids.hrc>
#include <editeng/adjustitem.hxx>
#include <editeng/escapementitem.hxx>
#include <editeng/colritem.hxx>
#include <editeng/fhgtitem.hxx>
#include <editeng/wghtitem.hxx>
#include <editeng/postitem.hxx>
#include <editeng/udlnitem.hxx>
#include <editeng/crossedoutitem.hxx>
#include <editeng/shdditem.hxx>
#include <editeng/charreliefitem.hxx>
#include <editeng/fontitem.hxx>
#include <svx/svdoutl.hxx>
#include <editeng/lspcitem.hxx>
#include <editeng/ulspitem.hxx>
#include <editeng/lrspitem.hxx>
#include <editeng/numitem.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/BitmapReadAccess.hxx>
#include <svx/svditer.hxx>
#include <editeng/flditem.hxx>
#include <tools/zcodec.hxx>
#include <filter/msfilter/svxmsbas.hxx>
#include <sfx2/objsh.hxx>
#include <editeng/brushitem.hxx>
#include <editeng/langitem.hxx>
#include <svx/svdoole2.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/drawing/XControlShape.hpp>
#include <com/sun/star/form/XFormComponent.hpp>
#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/awt/Size.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
#include <editeng/frmdiritem.hxx>
#include <svx/sdtfchim.hxx>
#include <com/sun/star/awt/Gradient.hpp>
#include <com/sun/star/table/XMergeableCellRange.hpp>
#include <com/sun/star/table/BorderLine2.hpp>
#include <com/sun/star/table/BorderLineStyle.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <svtools/embedhlp.hxx>
#include <o3tl/enumrange.hxx>
#include <o3tl/safeint.hxx>
#include <o3tl/sorted_vector.hxx>
#include <sal/log.hxx>
#include <algorithm>
#include <cassert>
#include <rtl/strbuf.hxx>
#include <tools/time.hxx>
#include <memory>
Include dependency graph for svdfppt.cxx:

Go to the source code of this file.

Macros

#define PPT_COLSCHEME   (0x08000000)
 
#define PPT_COLSCHEME_HINTERGRUND   (0x08000000)
 
#define PPT_COLSCHEME_TEXT_UND_ZEILEN   (0x08000001)
 
#define PPT_COLSCHEME_TITELTEXT   (0x08000003)
 
#define PPT_COLSCHEME_A_UND_HYPERLINK   (0x08000006)
 
#define ANSI_CHARSET   0
 
#define SYMBOL_CHARSET   2
 
#define FF_ROMAN   0x10
 
#define FF_SWISS   0x20
 
#define FF_MODERN   0x30
 
#define FF_SCRIPT   0x40
 
#define FF_DECORATIVE   0x50
 
#define DEFAULT_PITCH   0x00
 
#define FIXED_PITCH   0x01
 
#define VARIABLE_PITCH   0x02
 
#define LinePositionLeft   0x01000000
 
#define LinePositionTop   0x02000000
 
#define LinePositionRight   0x04000000
 
#define LinePositionBottom   0x08000000
 
#define LinePositionTLBR   0x10000000
 
#define LinePositionBLTR   0x20000000
 

Functions

SvStreamReadPptCurrentUserAtom (SvStream &rIn, PptCurrentUserAtom &rAtom)
 
SvStreamReadPptSlidePersistAtom (SvStream &rIn, PptSlidePersistAtom &rAtom)
 
bool ReadPptInteractiveInfoAtom (SvStream &rIn, PptInteractiveInfoAtom &rAtom)
 
SvStreamReadPptExOleObjAtom (SvStream &rIn, PptExOleObjAtom &rAtom)
 
SvStreamReadPptDocumentAtom (SvStream &rIn, PptDocumentAtom &rAtom)
 
SvStreamReadPptSlideLayoutAtom (SvStream &rIn, PptSlideLayoutAtom &rAtom)
 
SvStreamReadPptSlideAtom (SvStream &rIn, PptSlideAtom &rAtom)
 
SvStreamReadPptNotesAtom (SvStream &rIn, PptNotesAtom &rAtom)
 
SvStreamReadPptColorSchemeAtom (SvStream &rIn, PptColorSchemeAtom &rAtom)
 
SvStreamReadPptFontEntityAtom (SvStream &rIn, PptFontEntityAtom &rAtom)
 
SvStreamReadPptUserEditAtom (SvStream &rIn, PptUserEditAtom &rAtom)
 
SvStreamReadPptOEPlaceholderAtom (SvStream &rIn, PptOEPlaceholderAtom &rAtom)
 
static bool SdrPowerPointOLEDecompress (SvStream &rOutput, SvStream &rInput, sal_uInt32 nInputSize)
 
static void ImportComment10 (SvxMSDffManager const &rMan, SvStream &rStCtrl, SdrPage *pPage, DffRecordHeader const &rComment10Hd)
 
SvStreamReadPPTExtParaLevel (SvStream &rIn, PPTExtParaLevel &rLevel)
 
static bool IsLine (const SdrObject *pObj)
 
static bool GetCellPosition (const SdrObject *pObj, const o3tl::sorted_vector< sal_Int32 > &rRows, const o3tl::sorted_vector< sal_Int32 > &rColumns, sal_Int32 &nTableIndex, sal_Int32 &nRow, sal_Int32 &nRowCount, sal_Int32 &nColumn, sal_Int32 &nColumnCount)
 
static void GetRowPositions (const tools::Rectangle &rSnapRect, const o3tl::sorted_vector< sal_Int32 > &rRows, const o3tl::sorted_vector< sal_Int32 > &rColumns, std::vector< sal_Int32 > &rPositions, sal_Int32 nColumn, sal_Int32 nFlags)
 
static void GetColumnPositions (const tools::Rectangle &rSnapRect, const o3tl::sorted_vector< sal_Int32 > &rColumns, std::vector< sal_Int32 > &rPositions, sal_Int32 nRow, sal_Int32 nFlags)
 
static void GetLinePositions (const SdrObject *pObj, const o3tl::sorted_vector< sal_Int32 > &rRows, const o3tl::sorted_vector< sal_Int32 > &rColumns, std::vector< sal_Int32 > &rPositions, const tools::Rectangle &rGroupSnap)
 
static void CreateTableRows (const Reference< XTableRows > &xTableRows, const o3tl::sorted_vector< sal_Int32 > &rRows, sal_Int32 nTableBottom)
 
static void CreateTableColumns (const Reference< XTableColumns > &xTableColumns, const o3tl::sorted_vector< sal_Int32 > &rColumns, sal_Int32 nTableRight)
 
static void MergeCells (const Reference< XTable > &xTable, sal_Int32 nCol, sal_Int32 nRow, sal_Int32 nColSpan, sal_Int32 nRowSpan)
 
static void ApplyCellAttributes (const SdrObject *pObj, Reference< XCell > const &xCell)
 
static void ApplyCellLineAttributes (const SdrObject *pLine, Reference< XTable > const &xTable, const std::vector< sal_Int32 > &vPositions, sal_Int32 nColumns)
 

Macro Definition Documentation

◆ ANSI_CHARSET

#define ANSI_CHARSET   0

Definition at line 139 of file svdfppt.cxx.

◆ DEFAULT_PITCH

#define DEFAULT_PITCH   0x00

Definition at line 149 of file svdfppt.cxx.

◆ FF_DECORATIVE

#define FF_DECORATIVE   0x50

Definition at line 147 of file svdfppt.cxx.

◆ FF_MODERN

#define FF_MODERN   0x30

Definition at line 145 of file svdfppt.cxx.

◆ FF_ROMAN

#define FF_ROMAN   0x10

Definition at line 143 of file svdfppt.cxx.

◆ FF_SCRIPT

#define FF_SCRIPT   0x40

Definition at line 146 of file svdfppt.cxx.

◆ FF_SWISS

#define FF_SWISS   0x20

Definition at line 144 of file svdfppt.cxx.

◆ FIXED_PITCH

#define FIXED_PITCH   0x01

Definition at line 150 of file svdfppt.cxx.

◆ LinePositionBLTR

#define LinePositionBLTR   0x20000000

Definition at line 7164 of file svdfppt.cxx.

◆ LinePositionBottom

#define LinePositionBottom   0x08000000

Definition at line 7162 of file svdfppt.cxx.

◆ LinePositionLeft

#define LinePositionLeft   0x01000000

Definition at line 7159 of file svdfppt.cxx.

◆ LinePositionRight

#define LinePositionRight   0x04000000

Definition at line 7161 of file svdfppt.cxx.

◆ LinePositionTLBR

#define LinePositionTLBR   0x10000000

Definition at line 7163 of file svdfppt.cxx.

◆ LinePositionTop

#define LinePositionTop   0x02000000

Definition at line 7160 of file svdfppt.cxx.

◆ PPT_COLSCHEME

#define PPT_COLSCHEME   (0x08000000)

Definition at line 133 of file svdfppt.cxx.

◆ PPT_COLSCHEME_A_UND_HYPERLINK

#define PPT_COLSCHEME_A_UND_HYPERLINK   (0x08000006)

Definition at line 137 of file svdfppt.cxx.

◆ PPT_COLSCHEME_HINTERGRUND

#define PPT_COLSCHEME_HINTERGRUND   (0x08000000)

Definition at line 134 of file svdfppt.cxx.

◆ PPT_COLSCHEME_TEXT_UND_ZEILEN

#define PPT_COLSCHEME_TEXT_UND_ZEILEN   (0x08000001)

Definition at line 135 of file svdfppt.cxx.

◆ PPT_COLSCHEME_TITELTEXT

#define PPT_COLSCHEME_TITELTEXT   (0x08000003)

Definition at line 136 of file svdfppt.cxx.

◆ SYMBOL_CHARSET

#define SYMBOL_CHARSET   2

Definition at line 140 of file svdfppt.cxx.

◆ VARIABLE_PITCH

#define VARIABLE_PITCH   0x02

Definition at line 151 of file svdfppt.cxx.

Function Documentation

◆ ApplyCellAttributes()

static void ApplyCellAttributes ( const SdrObject pObj,
Reference< XCell > const &  xCell 
)
static

◆ ApplyCellLineAttributes()

static void ApplyCellLineAttributes ( const SdrObject pLine,
Reference< XTable > const &  xTable,
const std::vector< sal_Int32 > &  vPositions,
sal_Int32  nColumns 
)
static

◆ CreateTableColumns()

static void CreateTableColumns ( const Reference< XTableColumns > &  xTableColumns,
const o3tl::sorted_vector< sal_Int32 > &  rColumns,
sal_Int32  nTableRight 
)
static

◆ CreateTableRows()

static void CreateTableRows ( const Reference< XTableRows > &  xTableRows,
const o3tl::sorted_vector< sal_Int32 > &  rRows,
sal_Int32  nTableBottom 
)
static

◆ GetCellPosition()

static bool GetCellPosition ( const SdrObject pObj,
const o3tl::sorted_vector< sal_Int32 > &  rRows,
const o3tl::sorted_vector< sal_Int32 > &  rColumns,
sal_Int32 &  nTableIndex,
sal_Int32 &  nRow,
sal_Int32 &  nRowCount,
sal_Int32 &  nColumn,
sal_Int32 &  nColumnCount 
)
static

◆ GetColumnPositions()

static void GetColumnPositions ( const tools::Rectangle rSnapRect,
const o3tl::sorted_vector< sal_Int32 > &  rColumns,
std::vector< sal_Int32 > &  rPositions,
sal_Int32  nRow,
sal_Int32  nFlags 
)
static

◆ GetLinePositions()

static void GetLinePositions ( const SdrObject pObj,
const o3tl::sorted_vector< sal_Int32 > &  rRows,
const o3tl::sorted_vector< sal_Int32 > &  rColumns,
std::vector< sal_Int32 > &  rPositions,
const tools::Rectangle rGroupSnap 
)
static

◆ GetRowPositions()

static void GetRowPositions ( const tools::Rectangle rSnapRect,
const o3tl::sorted_vector< sal_Int32 > &  rRows,
const o3tl::sorted_vector< sal_Int32 > &  rColumns,
std::vector< sal_Int32 > &  rPositions,
sal_Int32  nColumn,
sal_Int32  nFlags 
)
static

◆ ImportComment10()

static void ImportComment10 ( SvxMSDffManager const &  rMan,
SvStream rStCtrl,
SdrPage pPage,
DffRecordHeader const &  rComment10Hd 
)
static

◆ IsLine()

static bool IsLine ( const SdrObject pObj)
static

Definition at line 7118 of file svdfppt.cxx.

References SdrPathObj::IsLine().

Referenced by SdrPowerPointImport::CreateTable().

◆ MergeCells()

static void MergeCells ( const Reference< XTable > &  xTable,
sal_Int32  nCol,
sal_Int32  nRow,
sal_Int32  nColSpan,
sal_Int32  nRowSpan 
)
static

Definition at line 7328 of file svdfppt.cxx.

References DBG_ASSERT, DBG_UNHANDLED_EXCEPTION, and Exception.

Referenced by SdrPowerPointImport::CreateTable().

◆ ReadPptColorSchemeAtom()

SvStream & ReadPptColorSchemeAtom ( SvStream rIn,
PptColorSchemeAtom rAtom 
)

Definition at line 367 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SdrPowerPointImport().

◆ ReadPptCurrentUserAtom()

SvStream & ReadPptCurrentUserAtom ( SvStream rIn,
PptCurrentUserAtom rAtom 
)

Definition at line 166 of file svdfppt.cxx.

◆ ReadPptDocumentAtom()

SvStream & ReadPptDocumentAtom ( SvStream rIn,
PptDocumentAtom rAtom 
)

Definition at line 249 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SdrPowerPointImport().

◆ ReadPptExOleObjAtom()

SvStream & ReadPptExOleObjAtom ( SvStream rIn,
PptExOleObjAtom rAtom 
)

Definition at line 234 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SeekOle().

◆ ReadPPTExtParaLevel()

SvStream & ReadPPTExtParaLevel ( SvStream rIn,
PPTExtParaLevel rLevel 
)

Definition at line 3198 of file svdfppt.cxx.

Referenced by PPTExtParaProv::PPTExtParaProv().

◆ ReadPptFontEntityAtom()

SvStream & ReadPptFontEntityAtom ( SvStream rIn,
PptFontEntityAtom rAtom 
)

Definition at line 376 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::ReadFontCollection().

◆ ReadPptInteractiveInfoAtom()

bool ReadPptInteractiveInfoAtom ( SvStream rIn,
PptInteractiveInfoAtom rAtom 
)

Definition at line 219 of file svdfppt.cxx.

Referenced by PPTTextObj::PPTTextObj().

◆ ReadPptNotesAtom()

SvStream & ReadPptNotesAtom ( SvStream rIn,
PptNotesAtom rAtom 
)

Definition at line 333 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SdrPowerPointImport().

◆ ReadPptOEPlaceholderAtom()

SvStream & ReadPptOEPlaceholderAtom ( SvStream rIn,
PptOEPlaceholderAtom rAtom 
)

Definition at line 482 of file svdfppt.cxx.

Referenced by PPTTextObj::PPTTextObj(), and SdrEscherImport::ProcessObj().

◆ ReadPptSlideAtom()

SvStream & ReadPptSlideAtom ( SvStream rIn,
PptSlideAtom rAtom 
)

Definition at line 315 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SdrPowerPointImport().

◆ ReadPptSlideLayoutAtom()

SvStream & ReadPptSlideLayoutAtom ( SvStream rIn,
PptSlideLayoutAtom rAtom 
)

Definition at line 305 of file svdfppt.cxx.

◆ ReadPptSlidePersistAtom()

SvStream & ReadPptSlidePersistAtom ( SvStream rIn,
PptSlidePersistAtom rAtom 
)

Definition at line 193 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SdrPowerPointImport().

◆ ReadPptUserEditAtom()

SvStream & ReadPptUserEditAtom ( SvStream rIn,
PptUserEditAtom rAtom 
)

Definition at line 458 of file svdfppt.cxx.

Referenced by SdrPowerPointImport::SdrPowerPointImport().

◆ SdrPowerPointOLEDecompress()

static bool SdrPowerPointOLEDecompress ( SvStream rOutput,
SvStream rInput,
sal_uInt32  nInputSize 
)
static