LibreOffice Module sw (master) 1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
SwMSDffManager Class Reference

#include <ww8par.hxx>

Inheritance diagram for SwMSDffManager:
[legend]
Collaboration diagram for SwMSDffManager:
[legend]

Public Member Functions

 SwMSDffManager (SwWW8ImplReader &rRdr, bool bSkipImages)
 
void DisableFallbackStream ()
 
void EnableFallbackStream ()
 
- Public Member Functions inherited from SvxMSDffManager
Color MSO_TEXT_CLR_ToColor (sal_uInt32 nColorCode) const
 
Color MSO_CLR_ToColor (sal_uInt32 nColorCode, sal_uInt16 nContextProperty=DFF_Prop_lineColor) const
 
virtual bool SeekToShape (SvStream &rSt, SvxMSDffClientData *pClientData, sal_uInt32 nId) const
 
bool SeekToRec2 (sal_uInt16 nRecId1, sal_uInt16 nRecId2, sal_uLong nMaxFilePos) const
 
 SvxMSDffManager (SvStream &rStCtrl, OUString aBaseURL, sal_uInt32 nOffsDgg, SvStream *pStData, SdrModel *pSdrModel_, tools::Long nApplicationScale, Color mnDefaultColor_, SvStream *pStData2_=nullptr, bool bSkipImages=false)
 
 SvxMSDffManager (SvStream &rStCtrl, OUString aBaseURL)
 
void InitSvxMSDffManager (sal_uInt32 nOffsDgg_, SvStream *pStData_, sal_uInt32 nSvxMSDffOLEConvFlags)
 
void SetDgContainer (SvStream &rSt)
 
virtual ~SvxMSDffManager ()
 
sal_uInt32 GetSvxMSDffSettings () const
 
void SetSvxMSDffSettings (sal_uInt32 nSettings)
 
void SetModel (SdrModel *pModel, tools::Long nApplicationScale)
 
SdrModelGetModel () const
 
void Scale (sal_Int32 &rVal) const
 
void Scale (Point &rPos) const
 
void Scale (Size &rSiz) const
 
void ScaleEmu (sal_Int32 &rVal) const
 
sal_uInt32 ScalePt (sal_uInt32 nPt) const
 
sal_Int32 ScalePoint (sal_Int32 nVal) const
 
bool GetBLIP (sal_uLong nIdx, Graphic &rData, tools::Rectangle *pVisArea=nullptr)
 
bool GetShape (sal_uLong nId, rtl::Reference< SdrObject > &rpData, SvxMSDffImportData &rData)
 
rtl::Reference< SdrObjectImportObj (SvStream &rSt, SvxMSDffClientData &rData, tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect, int nCalledByGroup, sal_Int32 *pShapeId)
 
rtl::Reference< SdrObjectImportGroup (const DffRecordHeader &rHd, SvStream &rSt, SvxMSDffClientData &rData, tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect, int nCalledByGroup, sal_Int32 *pShapeId)
 
rtl::Reference< SdrObjectImportShape (const DffRecordHeader &rHd, SvStream &rSt, SvxMSDffClientData &rData, tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect, int nCalledByGroup, sal_Int32 *pShapeId)
 
tools::Rectangle GetGlobalChildAnchor (const DffRecordHeader &rHd, SvStream &rSt, tools::Rectangle &aClientRect)
 
void GetGroupAnchors (const DffRecordHeader &rHd, SvStream &rSt, tools::Rectangle &rGroupClientAnchor, tools::Rectangle &rGroupChildAnchor, const tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect)
 
const SvxMSDffShapeInfos_ByIdGetShapeInfos () const
 
const SvxMSDffShapeOrdersGetShapeOrders () const
 
void StoreShapeOrder (sal_uLong nId, sal_uLong nTxBx, SdrObject *pObject, SwFlyFrameFormat *pFly=nullptr) const
 
void ExchangeInShapeOrder (SdrObject const *pOldObject, sal_uLong nTxBx, SdrObject *pObject) const
 
void RemoveFromShapeOrder (SdrObject const *pObject) const
 
void insertShapeId (sal_Int32 nShapeId, SdrObject *pShape)
 
void removeShapeId (SdrObject const *pShape)
 
SdrObjectgetShapeForId (sal_Int32 nShapeId)
 
- Public Member Functions inherited from DffPropertyReader
 DffPropertyReader (const SvxMSDffManager &rManager)
 
 ~DffPropertyReader ()
 
DffPropertyReaderoperator= (DffPropertyReader const &)=delete
 
 DffPropertyReader (DffPropertyReader const &)=delete
 
void ReadPropSet (SvStream &rIn, SvxMSDffClientData *pClientData) const
 
void SetDefaultPropSet (SvStream &rIn, sal_uInt32 nOffDgg) const
 
void ApplyAttributes (SvStream &rIn, SfxItemSet &rSet) const
 
void ApplyAttributes (SvStream &rIn, SfxItemSet &rSet, DffObjData const &rObjData) const
 
void ImportGradientColor (SfxItemSet &aSet, sal_uInt32 eMSO_FillType, double dTrans, double dBackTrans) const
 
- Public Member Functions inherited from DffPropSet
 DffPropSet ()
 
 ~DffPropSet ()
 
bool IsProperty (sal_uInt32 nRecType) const
 
bool IsHardAttribute (sal_uInt32 nId) const
 
sal_uInt32 GetPropertyValue (sal_uInt32 nId, sal_uInt32 nDefault) const
 
bool GetPropertyBool (sal_uInt32 nId) const
 
OUString GetPropertyString (sal_uInt32 nId, SvStream &rStrm) const
 
bool SeekToContent (sal_uInt32 nRecType, SvStream &rSt) const
 
void InitializePropSet (sal_uInt16 nPropSetType) const
 

Static Public Member Functions

static sal_uInt32 GetFilterFlags ()
 
static sal_Int32 GetEscherLineMatch (MSO_LineStyle eStyle, MSO_SPT eShapeType, sal_Int32 &rThick)
 
- Static Public Member Functions inherited from SvxMSDffManager
static bool SeekToRec (SvStream &rSt, sal_uInt16 nRecId, sal_uLong nMaxFilePos, DffRecordHeader *pRecHd=nullptr, sal_uLong nSkipCount=0)
 
static OUString MSDFFReadZString (SvStream &rIn, sal_uInt32 nMaxLen, bool bUniCode)
 
static bool ReadCommonRecordHeader (SvStream &rSt, sal_uInt8 &rVer, sal_uInt16 &rInst, sal_uInt16 &rFbt, sal_uInt32 &rLength)
 
static bool MakeContentStream (SotStorage *pStor, const GDIMetaFile &)
 
static void ReadObjText (SvStream &rStream, SdrObject *pObj)
 
static bool ConvertToOle2 (SvStream &rStm, sal_uInt32 nLen, const GDIMetaFile *, const tools::SvRef< SotStorage > &rDest)
 
static bool GetBLIPDirect (SvStream &rBLIPStream, Graphic &rData, tools::Rectangle *pVisArea=nullptr)
 
static rtl::Reference< SdrOle2ObjCreateSdrOLEFromStorage (SdrModel &rSdrModel, const OUString &rStorageName, tools::SvRef< SotStorage > const &rSrcStorage, const css::uno::Reference< css::embed::XStorage > &xDestStg, const Graphic &rGraf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, SvStream *pDataStrrm, ErrCode &rError, sal_uInt32 nConvertFlags, sal_Int64 nAspect, OUString const &rBaseURL)
 
static void SolveSolver (const SvxMSDffSolverContainer &rSolver)
 
static bool SetPropValue (const css::uno::Any &rAny, const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, const OUString &rPropertyName)
 
static OUString GetFilterNameFromClassID (const SvGlobalName &aGlobName)
 
static void ExtractOwnStream (SotStorage &rSrcStg, SvMemoryStream &rMemStream)
 
- Static Public Member Functions inherited from DffPropertyReader
static Degree100 Fix16ToAngle (sal_Int32 nAngle)
 
- Static Public Member Functions inherited from DffPropSet
static sal_uLong SanitizeEndPos (SvStream &rIn, sal_uLong nEndRecPos)
 

Protected Member Functions

virtual rtl::Reference< SdrObjectProcessObj (SvStream &rSt, DffObjData &rObjData, SvxMSDffClientData &rData, tools::Rectangle &rTextRect, SdrObject *pObj) override
 
- Protected Member Functions inherited from SvxMSDffManager
void GetCtrlData (sal_uInt32 nOffsDgg)
 
void GetDrawingGroupContainerData (SvStream &rSt, sal_uInt32 nLenDgg)
 
void GetDrawingContainerData (SvStream &rSt, sal_uInt32 nLenDg, sal_uInt16 nDrawingContainerId)
 
bool GetShapeGroupContainerData (SvStream &rSt, sal_uInt32 nLenShapeGroupCont, bool bPatriarch, sal_uInt16 nDrawingContainerId)
 
bool GetShapeContainerData (SvStream &rSt, sal_uInt32 nLenShapeCont, sal_uInt64 nPosGroup, sal_uInt16 nDrawingContainerId)
 
rtl::Reference< SdrObjectImportGraphic (SvStream &, SfxItemSet &, const DffObjData &)
 
virtual rtl::Reference< SdrObjectImportOLE (sal_uInt32 nOLEId, const Graphic &rGraf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, const int _nCalledByGroup) const
 
virtual void ProcessClientAnchor2 (SvStream &rStData, DffRecordHeader &rHd, DffObjData &)
 
virtual rtl::Reference< SdrObjectProcessObj (SvStream &rSt, DffObjData &rData, SvxMSDffClientData &rClientData, tools::Rectangle &rTextRect, SdrObject *pObj)
 
void NotifyFreeObj (SvxMSDffClientData &rData, SdrObject *pObj)
 
void FreeObj (SvxMSDffClientData &rData, SdrObject *pObj)
 
virtual SdrObjectFinalizeObj (DffObjData &rData, SdrObject *pObj)
 
virtual bool GetColorFromPalette (sal_uInt16 nNum, Color &rColor) const
 
virtual bool GetOLEStorageName (sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &xDestStg) const
 
virtual bool ShapeHasText (sal_uLong nShapeId, sal_uLong nFilePos) const
 

Private Member Functions

virtual bool GetOLEStorageName (sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &rDestStorage) const override
 
virtual bool ShapeHasText (sal_uLong nShapeId, sal_uLong nFilePos) const override
 When reading a single Box (which possibly is part of a group), we do not yet have enough information to decide whether we need it as a TextField or not. More...
 
virtual rtl::Reference< SdrObjectImportOLE (sal_uInt32 nOLEId, const Graphic &rGrf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, const int _nCalledByGroup) const override
 
 SwMSDffManager (const SwMSDffManager &)=delete
 
SwMSDffManageroperator= (const SwMSDffManager &)=delete
 

Private Attributes

SwWW8ImplReaderm_rReader
 
SvStreamm_pFallbackStream
 
std::unordered_map< sal_uInt32, Graphicm_aOldEscherBlipCache
 

Additional Inherited Members

- Public Attributes inherited from SvxMSDffManager
std::unique_ptr< DffPropertyReaderpSecPropSet
 
std::unordered_map< sal_uInt32, GraphicaEscherBlipCache
 
DffRecordManager maShapeRecords
 
Color mnDefaultColor
 
bool mbSkipImages
 
- Public Attributes inherited from DffPropertyReader
Degree100 mnFix16Angle
 
bool mbRotateGranientFillWithAngle
 
- Protected Types inherited from SvxMSDffManager
typedef std::map< sal_uInt32, sal_uInt64 > OffsetMap
 
- Static Protected Member Functions inherited from SvxMSDffManager
static css::uno::Reference< css::embed::XEmbeddedObject > CheckForConvertToSOObj (sal_uInt32 nConvertFlags, SotStorage &rSrcStg, const css::uno::Reference< css::embed::XStorage > &xDestStg, const Graphic &rGrf, const tools::Rectangle &rVisArea, OUString const &rBaseURL)
 
static void ProcessClientAnchor (SvStream &rStData, sal_uInt32 nDatLen, std::unique_ptr< char[]> &rpBuff, sal_uInt32 &rBuffLen)
 
static void ProcessClientData (SvStream &rStData, sal_uInt32 nDatLen, std::unique_ptr< char[]> &rpBuff, sal_uInt32 &rBuffLen)
 
static void ReadObjText (const OUString &rText, SdrObject *pObj)
 
- Protected Attributes inherited from SvxMSDffManager
OUString maBaseURL
 
sal_uInt32 mnIdClusters
 
std::vector< FIDCLmaFidcls
 
OffsetMap maDgOffsetTable
 
std::vector< std::pair< DffObjData, std::shared_ptr< DffRecordHeader > > > maPendingGroupData
 
SvStreamrStCtrl
 
SvStreampStData
 
SvStreampStData2
 
SdrModelpSdrModel
 
tools::Long nMapMul
 
tools::Long nMapDiv
 
tools::Long nMapXOfs
 
tools::Long nMapYOfs
 
tools::Long nEmuMul
 
tools::Long nEmuDiv
 
tools::Long nPntMul
 
tools::Long nPntDiv
 
bool bNeedMap
 
sal_Int32 nMinAllowedVal
 
sal_Int32 nMaxAllowedVal
 
sal_uInt32 nSvxMSDffSettings
 
sal_uInt32 nSvxMSDffOLEConvFlags
 
SvxMSDffShapeIdContainer maShapeIdContainer
 

Detailed Description

Definition at line 750 of file ww8par.hxx.

Constructor & Destructor Documentation

◆ SwMSDffManager() [1/2]

SwMSDffManager::SwMSDffManager ( const SwMSDffManager )
privatedelete

◆ SwMSDffManager() [2/2]

SwMSDffManager::SwMSDffManager ( SwWW8ImplReader rRdr,
bool  bSkipImages 
)

Member Function Documentation

◆ DisableFallbackStream()

void SwMSDffManager::DisableFallbackStream ( )

◆ EnableFallbackStream()

void SwMSDffManager::EnableFallbackStream ( )

◆ GetEscherLineMatch()

sal_Int32 SwMSDffManager::GetEscherLineMatch ( MSO_LineStyle  eStyle,
MSO_SPT  eShapeType,
sal_Int32 &  rThick 
)
static

◆ GetFilterFlags()

sal_uInt32 SwMSDffManager::GetFilterFlags ( )
static

◆ GetOLEStorageName()

bool SwMSDffManager::GetOLEStorageName ( sal_uInt32  nOLEId,
OUString &  rStorageName,
tools::SvRef< SotStorage > &  rSrcStorage,
css::uno::Reference< css::embed::XStorage > &  rDestStorage 
) const
overrideprivatevirtual

◆ ImportOLE()

rtl::Reference< SdrObject > SwMSDffManager::ImportOLE ( sal_uInt32  nOLEId,
const Graphic rGrf,
const tools::Rectangle rBoundRect,
const tools::Rectangle rVisArea,
const int  _nCalledByGroup 
) const
overrideprivatevirtual

◆ operator=()

SwMSDffManager & SwMSDffManager::operator= ( const SwMSDffManager )
privatedelete

◆ ProcessObj()

rtl::Reference< SdrObject > SwMSDffManager::ProcessObj ( SvStream rSt,
DffObjData rObjData,
SvxMSDffClientData rData,
tools::Rectangle rTextRect,
SdrObject pObj 
)
overrideprotectedvirtual

Reimplemented from SvxMSDffManager.

Definition at line 600 of file ww8par.cxx.

References DffObjData::aBoundRect, aBuffer, tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustRight(), Point::AdjustX(), Point::AdjustY(), DffPropertyReader::ApplyAttributes(), DffObjData::bClientAnchor, DffObjData::bClientData, tools::Rectangle::Bottom(), SvxMSDffShapeInfo::bReplaceByFly, tools::Rectangle::Center(), o3tl::convert(), DffRecordManager::Current(), DFF_msofbtClientAnchor, DFF_msofbtClientData, DFF_msofbtUDefProp, DFF_Prop_anchorText, DFF_Prop_cropFromBottom, DFF_Prop_cropFromLeft, DFF_Prop_cropFromRight, DFF_Prop_cropFromTop, DFF_Prop_dxTextLeft, DFF_Prop_dxTextRight, DFF_Prop_dxWrapDistLeft, DFF_Prop_dxWrapDistRight, DFF_Prop_dyTextBottom, DFF_Prop_dyTextTop, DFF_Prop_dyWrapDistBottom, DFF_Prop_dyWrapDistTop, DFF_Prop_FitTextToShape, DFF_Prop_fLine, DFF_Prop_fNoLineDrawDash, DFF_Prop_fPrint, DFF_Prop_hspNext, DFF_Prop_lineDashing, DFF_Prop_lineStyle, DFF_Prop_lTxid, DFF_Prop_pihlShape, DFF_Prop_pWrapPolygonVertices, DFF_Prop_txflTextFlow, DFF_Prop_WrapText, DFF_Prop_wzName, DynCastSdrTextObj(), o3tl::emu, end, DffObjData::eShapeType, o3tl::strong_int< typename UNDERLYING_TYPE, typename PHANTOM_TYPE >::get(), tools::Rectangle::GetHeight(), SdrModel::GetItemPool(), SfxItemSet::GetItemState(), GetMacroInfo(), SdrObject::GetMergedItem(), DffPropSet::GetPropertyString(), DffPropSet::GetPropertyValue(), DffRecordHeader::GetRecBegFilePos(), SvxMSDffManager::GetShapeInfos(), tools::Rectangle::GetWidth(), SvStream::good(), HyperLinksTable::hLinkAddr, i, SvxMSDffImportData::insert(), tools::Rectangle::IsEmpty(), DffPropSet::IsHardAttribute(), DffPropSet::IsProperty(), tools::Rectangle::Left(), SwWW8ImplReader::m_pDocShell, m_rReader, makeSdrTextAutoGrowHeightItem(), makeSdrTextAutoGrowWidthItem(), makeSdrTextContourFrameItem(), makeSdrTextLeftDistItem(), makeSdrTextLowerDistItem(), makeSdrTextMinFrameHeightItem(), makeSdrTextMinFrameWidthItem(), makeSdrTextRightDistItem(), makeSdrTextUpperDistItem(), SvxMSDffManager::maShapeRecords, SvxMSDffManager::mnDefaultColor, DffPropertyReader::mnFix16Angle, mso_anchorBottom, mso_anchorBottomCentered, mso_anchorMiddle, mso_anchorMiddleCentered, mso_anchorTop, mso_anchorTopCentered, mso_lineSimple, mso_lineSolid, mso_sptPictureFrame, mso_sptRectangle, mso_sptTextBox, mso_sptTextSimple, mso_txflBtoT, mso_txflHorzA, mso_txflHorzN, mso_txflTtoBA, mso_txflTtoBN, mso_txflVertN, mso_wrapByPoints, mso_wrapNone, mso_wrapSquare, DffObjData::nCalledByGroup, DffRecordHeader::nRecLen, DffObjData::nShapeId, DffObjData::nSpFlags, SvxMSDffManager::ProcessClientAnchor(), SvxMSDffManager::ProcessClientData(), SvxMSDffManager::pSdrModel, SfxItemSet::Put(), SvStream::ReadBytes(), SwWW8ImplReader::ReadEmbeddedData(), SvStream::ReadInt16(), SvStream::ReadInt32(), SvStream::ReadUInt16(), SvStream::ReadUInt32(), SvStream::remainingSize(), tools::Rectangle::Right(), DffObjData::rSpHd, SAL_WARN, SvxMSDffManager::ScaleEmu(), SDRATTR_CUSTOMSHAPE_GEOMETRY(), SDRTEXTHORZADJUST_BLOCK, SDRTEXTHORZADJUST_CENTER, SDRTEXTHORZADJUST_LEFT, SDRTEXTHORZADJUST_RIGHT, SDRTEXTVERTADJUST_BLOCK, SDRTEXTVERTADJUST_BOTTOM, SDRTEXTVERTADJUST_CENTER, SDRTEXTVERTADJUST_TOP, SvStream::Seek(), SEEK_FROM_CURRENT_AND_RESTART, DffPropSet::SeekToContent(), DffRecordManager::SeekToContent(), tools::Rectangle::SetBottom(), SwMacroInfo::SetHlink(), SdrObject::SetMergedItem(), SwMacroInfo::SetName(), SdrCustomShapeGeometryItem::SetPropertyValue(), tools::Rectangle::SetRight(), SwMacroInfo::SetShapeId(), SwMacroInfo::SetTarFrame(), SdrTextObj::SetVerticalWriting(), ShapeHasText(), SvxMSDffManager::StoreShapeOrder(), STREAM_SEEK_TO_BEGIN, HyperLinksTable::tarFrame, SvMemoryStream::TellEnd(), tools::Rectangle::Top(), tools::Rectangle::TopLeft(), o3tl::twip, SvStream::WriteBytes(), SvStream::WriteUInt16(), and XATTR_FILLCOLOR().

◆ ShapeHasText()

bool SwMSDffManager::ShapeHasText ( sal_uLong  nShapeId,
sal_uLong  nFilePos 
) const
overrideprivatevirtual

When reading a single Box (which possibly is part of a group), we do not yet have enough information to decide whether we need it as a TextField or not.

So convert all of them as a precaution. FIXME: Actually implement this!

Reimplemented from SvxMSDffManager.

Definition at line 6688 of file ww8par.cxx.

Referenced by ProcessObj().

Member Data Documentation

◆ m_aOldEscherBlipCache

std::unordered_map<sal_uInt32, Graphic> SwMSDffManager::m_aOldEscherBlipCache
private

Definition at line 755 of file ww8par.hxx.

Referenced by DisableFallbackStream(), and EnableFallbackStream().

◆ m_pFallbackStream

SvStream* SwMSDffManager::m_pFallbackStream
private

Definition at line 754 of file ww8par.hxx.

Referenced by DisableFallbackStream(), and EnableFallbackStream().

◆ m_rReader

SwWW8ImplReader& SwMSDffManager::m_rReader
private

Definition at line 753 of file ww8par.hxx.

Referenced by GetOLEStorageName(), ImportOLE(), and ProcessObj().


The documentation for this class was generated from the following files: