LibreOffice Module filter (master) 1
|
#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>
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 | |
SvStream & | ReadPptCurrentUserAtom (SvStream &rIn, PptCurrentUserAtom &rAtom) |
SvStream & | ReadPptSlidePersistAtom (SvStream &rIn, PptSlidePersistAtom &rAtom) |
bool | ReadPptInteractiveInfoAtom (SvStream &rIn, PptInteractiveInfoAtom &rAtom) |
SvStream & | ReadPptExOleObjAtom (SvStream &rIn, PptExOleObjAtom &rAtom) |
SvStream & | ReadPptDocumentAtom (SvStream &rIn, PptDocumentAtom &rAtom) |
SvStream & | ReadPptSlideLayoutAtom (SvStream &rIn, PptSlideLayoutAtom &rAtom) |
SvStream & | ReadPptSlideAtom (SvStream &rIn, PptSlideAtom &rAtom) |
SvStream & | ReadPptNotesAtom (SvStream &rIn, PptNotesAtom &rAtom) |
SvStream & | ReadPptColorSchemeAtom (SvStream &rIn, PptColorSchemeAtom &rAtom) |
SvStream & | ReadPptFontEntityAtom (SvStream &rIn, PptFontEntityAtom &rAtom) |
SvStream & | ReadPptUserEditAtom (SvStream &rIn, PptUserEditAtom &rAtom) |
SvStream & | ReadPptOEPlaceholderAtom (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) |
SvStream & | ReadPPTExtParaLevel (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) |
#define ANSI_CHARSET 0 |
Definition at line 139 of file svdfppt.cxx.
#define DEFAULT_PITCH 0x00 |
Definition at line 149 of file svdfppt.cxx.
#define FF_DECORATIVE 0x50 |
Definition at line 147 of file svdfppt.cxx.
#define FF_MODERN 0x30 |
Definition at line 145 of file svdfppt.cxx.
#define FF_ROMAN 0x10 |
Definition at line 143 of file svdfppt.cxx.
#define FF_SCRIPT 0x40 |
Definition at line 146 of file svdfppt.cxx.
#define FF_SWISS 0x20 |
Definition at line 144 of file svdfppt.cxx.
#define FIXED_PITCH 0x01 |
Definition at line 150 of file svdfppt.cxx.
#define LinePositionBLTR 0x20000000 |
Definition at line 7164 of file svdfppt.cxx.
#define LinePositionBottom 0x08000000 |
Definition at line 7162 of file svdfppt.cxx.
#define LinePositionLeft 0x01000000 |
Definition at line 7159 of file svdfppt.cxx.
#define LinePositionRight 0x04000000 |
Definition at line 7161 of file svdfppt.cxx.
#define LinePositionTLBR 0x10000000 |
Definition at line 7163 of file svdfppt.cxx.
#define LinePositionTop 0x02000000 |
Definition at line 7160 of file svdfppt.cxx.
#define PPT_COLSCHEME (0x08000000) |
Definition at line 133 of file svdfppt.cxx.
#define PPT_COLSCHEME_A_UND_HYPERLINK (0x08000006) |
Definition at line 137 of file svdfppt.cxx.
#define PPT_COLSCHEME_HINTERGRUND (0x08000000) |
Definition at line 134 of file svdfppt.cxx.
#define PPT_COLSCHEME_TEXT_UND_ZEILEN (0x08000001) |
Definition at line 135 of file svdfppt.cxx.
#define PPT_COLSCHEME_TITELTEXT (0x08000003) |
Definition at line 136 of file svdfppt.cxx.
#define SYMBOL_CHARSET 2 |
Definition at line 140 of file svdfppt.cxx.
#define VARIABLE_PITCH 0x02 |
Definition at line 151 of file svdfppt.cxx.
|
static |
Definition at line 7347 of file svdfppt.cxx.
References EE_PARA_WRITINGDIR(), Exception, basegfx::BGradient::GetAngle(), basegfx::BGradient::GetBorder(), basegfx::BGradient::GetColorStops(), basegfx::BGradient::GetEndIntens(), basegfx::BGradient::GetGradientStyle(), GraphicObject::GetGraphic(), XFillBitmapItem::GetGraphicObject(), SdrObject::GetMergedItem(), basegfx::BGradient::GetStartIntens(), basegfx::BGradient::GetSteps(), Graphic::GetXGraphic(), basegfx::BGradient::GetXOffset(), basegfx::BGradient::GetYOffset(), SDRATTR_TEXT_HORZADJUST(), SDRATTR_TEXT_LEFTDIST(), SDRATTR_TEXT_LOWERDIST(), SDRATTR_TEXT_RIGHTDIST(), SDRATTR_TEXT_UPPERDIST(), SDRATTR_TEXT_VERTADJUST(), SDRTEXTVERTADJUST_BOTTOM, SDRTEXTVERTADJUST_CENTER, XATTR_FILLBITMAP(), XATTR_FILLBMP_STRETCH(), XATTR_FILLBMP_TILE(), XATTR_FILLCOLOR(), XATTR_FILLGRADIENT(), XATTR_FILLSTYLE(), and XATTR_FILLTRANSPARENCE().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7449 of file svdfppt.cxx.
References Exception, SdrObject::GetMergedItem(), LinePositionBLTR, LinePositionBottom, LinePositionLeft, LinePositionRight, LinePositionTLBR, LinePositionTop, nLineWidth, XATTR_LINECOLOR(), XATTR_LINESTYLE(), and XATTR_LINEWIDTH().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7301 of file svdfppt.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::begin(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::end(), n, and o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7274 of file svdfppt.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::begin(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::end(), n, and o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7124 of file svdfppt.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::begin(), tools::Rectangle::Bottom(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::end(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::find(), tools::Rectangle::GetHeight(), SdrObject::GetSnapRect(), tools::Rectangle::GetWidth(), tools::Rectangle::Left(), tools::Rectangle::Right(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size(), and tools::Rectangle::Top().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7188 of file svdfppt.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::begin(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::end(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::find(), tools::Rectangle::Left(), LinePositionBottom, LinePositionTop, tools::Rectangle::Right(), and o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size().
Referenced by GetLinePositions().
|
static |
Definition at line 7208 of file svdfppt.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::begin(), tools::Rectangle::Bottom(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::end(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::find(), GetColumnPositions(), GetRowPositions(), SdrObject::GetSnapRect(), tools::Rectangle::Left(), LinePositionBLTR, LinePositionBottom, LinePositionLeft, LinePositionRight, LinePositionTLBR, LinePositionTop, tools::Rectangle::Right(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size(), tools::Rectangle::Top(), Point::X(), and Point::Y().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7167 of file svdfppt.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::begin(), tools::Rectangle::Bottom(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::end(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::find(), LinePositionLeft, LinePositionRight, o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size(), and tools::Rectangle::Top().
Referenced by GetLinePositions().
|
static |
Definition at line 2680 of file svdfppt.cxx.
References ERRCODE_NONE, SvStream::GetError(), DffRecordHeader::GetRecEndFilePos(), SdrPage::getUnoPage(), SvxMSDffManager::MSDFFReadZString(), tools::Time::nanoPerMilli, nIndex, DffRecordHeader::nRecInstance, DffRecordHeader::nRecLen, DffRecordHeader::nRecType, PPT_PST_CommentAtom10, PPT_PST_CString, ReadDffRecordHeader(), SvStream::ReadInt16(), SvStream::ReadInt32(), SvStream::ReadUInt16(), DffPropSet::SanitizeEndPos(), SvxMSDffManager::Scale(), DffRecordHeader::SeekToEndOfRecord(), SvStream::Tell(), Point::X(), and Point::Y().
Referenced by SdrPowerPointImport::ImportPage().
|
static |
Definition at line 7118 of file svdfppt.cxx.
References SdrPathObj::IsLine().
Referenced by SdrPowerPointImport::CreateTable().
|
static |
Definition at line 7328 of file svdfppt.cxx.
References DBG_ASSERT, DBG_UNHANDLED_EXCEPTION, and Exception.
Referenced by SdrPowerPointImport::CreateTable().
SvStream & ReadPptColorSchemeAtom | ( | SvStream & | rIn, |
PptColorSchemeAtom & | rAtom | ||
) |
Definition at line 367 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SdrPowerPointImport().
SvStream & ReadPptCurrentUserAtom | ( | SvStream & | rIn, |
PptCurrentUserAtom & | rAtom | ||
) |
Definition at line 166 of file svdfppt.cxx.
SvStream & ReadPptDocumentAtom | ( | SvStream & | rIn, |
PptDocumentAtom & | rAtom | ||
) |
Definition at line 249 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SdrPowerPointImport().
SvStream & ReadPptExOleObjAtom | ( | SvStream & | rIn, |
PptExOleObjAtom & | rAtom | ||
) |
Definition at line 234 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SeekOle().
SvStream & ReadPPTExtParaLevel | ( | SvStream & | rIn, |
PPTExtParaLevel & | rLevel | ||
) |
Definition at line 3198 of file svdfppt.cxx.
Referenced by PPTExtParaProv::PPTExtParaProv().
SvStream & ReadPptFontEntityAtom | ( | SvStream & | rIn, |
PptFontEntityAtom & | rAtom | ||
) |
Definition at line 376 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::ReadFontCollection().
bool ReadPptInteractiveInfoAtom | ( | SvStream & | rIn, |
PptInteractiveInfoAtom & | rAtom | ||
) |
Definition at line 219 of file svdfppt.cxx.
Referenced by PPTTextObj::PPTTextObj().
SvStream & ReadPptNotesAtom | ( | SvStream & | rIn, |
PptNotesAtom & | rAtom | ||
) |
Definition at line 333 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SdrPowerPointImport().
SvStream & ReadPptOEPlaceholderAtom | ( | SvStream & | rIn, |
PptOEPlaceholderAtom & | rAtom | ||
) |
Definition at line 482 of file svdfppt.cxx.
Referenced by PPTTextObj::PPTTextObj(), and SdrEscherImport::ProcessObj().
SvStream & ReadPptSlideAtom | ( | SvStream & | rIn, |
PptSlideAtom & | rAtom | ||
) |
Definition at line 315 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SdrPowerPointImport().
SvStream & ReadPptSlideLayoutAtom | ( | SvStream & | rIn, |
PptSlideLayoutAtom & | rAtom | ||
) |
Definition at line 305 of file svdfppt.cxx.
SvStream & ReadPptSlidePersistAtom | ( | SvStream & | rIn, |
PptSlidePersistAtom & | rAtom | ||
) |
Definition at line 193 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SdrPowerPointImport().
SvStream & ReadPptUserEditAtom | ( | SvStream & | rIn, |
PptUserEditAtom & | rAtom | ||
) |
Definition at line 458 of file svdfppt.cxx.
Referenced by SdrPowerPointImport::SdrPowerPointImport().
|
static |
Definition at line 1783 of file svdfppt.cxx.
References ZCodec::BeginCompression(), ZCodec::Decompress(), ZCodec::EndCompression(), SvStream::ReadBytes(), SvStream::Seek(), and SvStream::Tell().
Referenced by SdrPowerPointImport::ImportOLE().