LibreOffice Module sw (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
RtfSdrExport Class Referencefinal

Handles export of drawings using RTF markup. More...

#include <rtfsdrexport.hxx>

Inheritance diagram for RtfSdrExport:
Collaboration diagram for RtfSdrExport:

Public Member Functions

 RtfSdrExport (RtfExport &rExport)
 ~RtfSdrExport () override
void AddSdrObject (const SdrObject &rObj)
 Export the sdr object as Sdr. More...
void WriteOutliner (const OutlinerParaObject &rParaObj, TextTypes eType)
 Write editeng text, e.g. shape or comment. More...
- Public Member Functions inherited from EscherEx
 EscherEx (const std::shared_ptr< EscherExGlobal > &rxGlobal, SvStream *pOutStrm, bool bOOXML=false)
virtual ~EscherEx () override
virtual sal_uInt32 GenerateShapeId ()
EscherGraphicProviderGetGraphicProvider ()
SvStreamQueryPictureStream ()
void Flush (SvStream *pPicStreamMergeBSE=nullptr)
void InsertAtCurrentPos (sal_uInt32 nBytes)
void InsertPersistOffset (sal_uInt32 nKey, sal_uInt32 nOffset)
void ReplacePersistOffset (sal_uInt32 nKey, sal_uInt32 nOffset)
sal_uInt32 GetPersistOffset (sal_uInt32 nKey)
bool SeekToPersistOffset (sal_uInt32 nKey)
void InsertAtPersistOffset (sal_uInt32 nKey, sal_uInt32 nValue)
void SetEditAs (const OUString &rEditAs)
const OUString & GetEditAs () const
SvStreamGetStream () const
sal_uLong GetStreamPos () const
void BeginAtom ()
void EndAtom (sal_uInt16 nRecType, int nRecVersion=0, int nRecInstance=0)
void AddAtom (sal_uInt32 nAtomSitze, sal_uInt16 nRecType, int nRecVersion=0, int nRecInstance=0)
void AddChildAnchor (const tools::Rectangle &rRectangle)
void AddClientAnchor (const tools::Rectangle &rRectangle)
sal_uInt32 EnterGroup (const tools::Rectangle *pBoundRect=nullptr)
sal_uInt32 GetGroupLevel () const
void SetGroupSnapRect (sal_uInt32 nGroupLevel, const tools::Rectangle &rRect)
void SetGroupLogicRect (sal_uInt32 nGroupLevel, const tools::Rectangle &rRect)
void AddSdrPage (const SdrPage &rPage, bool ooxmlExport=false)
void AddUnoShapes (const css::uno::Reference< css::drawing::XShapes > &rxShapes, bool ooxmlExport=false)
sal_uInt32 AddSdrObject (const SdrObject &rObj, bool ooxmlExport=false)
virtual void AddSdrObjectVMLObject (const SdrObject &)
void EndSdrObjectPage ()
virtual EscherExHostAppDataStartShape (const css::uno::Reference< css::drawing::XShape > &rShape, const tools::Rectangle *pChildAnchor)
virtual void EndShape (sal_uInt16 nShapeType, sal_uInt32 nShapeID)
virtual EscherExHostAppDataEnterAdditionalTextGroup ()
virtual sal_uInt32 QueryTextID (const css::uno::Reference< css::drawing::XShape > &, sal_uInt32 nShapeId)
sal_uInt32 AddDummyShape ()
void SetHellLayerId (SdrLayerID nId)
SdrLayerID GetHellLayerId () const
- Public Member Functions inherited from EscherPersistTable
bool PtIsID (sal_uInt32 nID)
void PtInsert (sal_uInt32 nID, sal_uInt32 nOfs)
void PtDelete (sal_uInt32 nID)
sal_uInt32 PtGetOffsetByID (sal_uInt32 nID)
void PtReplace (sal_uInt32 nID, sal_uInt32 nOfs)
void PtReplaceOrInsert (sal_uInt32 nID, sal_uInt32 nOfs)
 EscherPersistTable ()
virtual ~EscherPersistTable ()
EscherPersistTableoperator= (EscherPersistTable const &)=delete
 EscherPersistTable (EscherPersistTable const &)=delete

Static Public Member Functions

static bool isTextBox (const SwFrameFormat &rFrameFormat)
 Is this a standalone TextFrame, or used as a TextBox of a shape? More...
- Static Public Member Functions inherited from EscherEx
static sal_uInt32 GetColor (const sal_uInt32 nColor)
static sal_uInt32 GetColor (const Color &rColor)
static const SdrObjectGetSdrObject (const css::uno::Reference< css::drawing::XShape > &rXShape)

Private Member Functions

sal_Int32 StartShape ()
void EndShape (sal_Int32 nShapeElement)
void Commit (EscherPropertyContainer &rProps, const tools::Rectangle &rRect) override
void OpenContainer (sal_uInt16 nEscherContainer, int nRecInstance=0) override
void CloseContainer () override
sal_uInt32 EnterGroup (const OUString &rShapeName, const tools::Rectangle *pBoundRect) override
void LeaveGroup () override
void AddShape (sal_uInt32 nShapeType, ShapeFlag nShapeFlags, sal_uInt32 nShapeId=0) override
void AddLineDimensions (const tools::Rectangle &rRectangle)
 Add starting and ending point of a line to the m_pShapeAttrList. More...
void AddRectangleDimensions (OStringBuffer &rBuffer, const tools::Rectangle &rRectangle)
 Add position and size to the OStringBuffer. More...
void impl_writeGraphic ()
 Exports the pib property of the shape. More...

Private Attributes

const SdrObjectm_pSdrObject
sal_uInt32 m_nShapeType
 Remember the shape type. More...
ShapeFlag m_nShapeFlags
 Remember the shape flags. More...
OStringBuffer m_aShapeStyle
 Remember style, the most important shape attribute ;-) More...
std::map< OString, OString > m_aShapeProps
std::unique_ptr< bool[]> m_pShapeTypeWritten
 Remember which shape types we had already written. More...
bool m_bInGroup = false

Additional Inherited Members

- Public Attributes inherited from EscherPersistTable
::std::vector< std::unique_ptr< EscherPersistEntry > > maPersistTable
- Protected Member Functions inherited from EscherEx
bool DoSeek (sal_uInt32 nKey)
- Protected Attributes inherited from EscherEx
std::shared_ptr< EscherExGlobalmxGlobal
::std::unique_ptr< ImplEESdrWritermpImplEESdrWriter
bool mbOwnsStrm
sal_uInt32 mnStrmStartOfs
std::vector< sal_uInt32 > mOffsets
std::vector< sal_uInt16 > mRecTypes
sal_uInt32 mnCurrentDg
sal_uInt32 mnCountOfs
sal_uInt32 mnGroupLevel
SdrLayerID mnHellLayerId
bool mbEscherSpgr
bool mbEscherDg
bool mbOOXML
OUString mEditAs

Detailed Description

Handles export of drawings using RTF markup.

Definition at line 37 of file rtfsdrexport.hxx.

Constructor & Destructor Documentation

RtfSdrExport::RtfSdrExport ( RtfExport rExport)
RtfSdrExport::~RtfSdrExport ( )

Definition at line 59 of file rtfsdrexport.cxx.

References EscherEx::mpOutStrm.

Member Function Documentation

void RtfSdrExport::AddLineDimensions ( const tools::Rectangle rRectangle)
void RtfSdrExport::AddRectangleDimensions ( OStringBuffer &  rBuffer,
const tools::Rectangle rRectangle 
void RtfSdrExport::AddSdrObject ( const SdrObject rObj)

Export the sdr object as Sdr.

Call this when you need to export the object as Sdr in RTF.

Definition at line 734 of file rtfsdrexport.cxx.

References EscherEx::AddSdrObject(), and m_pSdrObject.

void RtfSdrExport::AddShape ( sal_uInt32  nShapeType,
ShapeFlag  nShapeFlags,
sal_uInt32  nShapeId = 0 

Reimplemented from EscherEx.

Definition at line 102 of file rtfsdrexport.cxx.

References m_nShapeFlags, and m_nShapeType.

void RtfSdrExport::CloseContainer ( )
void RtfSdrExport::Commit ( EscherPropertyContainer rProps,
const tools::Rectangle rRect 
void RtfSdrExport::EndShape ( sal_Int32  nShapeElement)

Definition at line 725 of file rtfsdrexport.cxx.

References m_rAttrOutput, and RtfAttributeOutput::RunText().

Referenced by CloseContainer().

sal_uInt32 RtfSdrExport::EnterGroup ( const OUString &  rShapeName,
const tools::Rectangle pBoundRect 

Reimplemented from EscherEx.

Definition at line 93 of file rtfsdrexport.cxx.

References EscherEx::GenerateShapeId(), and m_bInGroup.

void RtfSdrExport::impl_writeGraphic ( )
bool RtfSdrExport::isTextBox ( const SwFrameFormat rFrameFormat)

Is this a standalone TextFrame, or used as a TextBox of a shape?

Definition at line 740 of file rtfsdrexport.cxx.

References SwTextBoxHelper::isTextBox(), and RES_FLYFRMFMT().

Referenced by RtfAttributeOutput::OutputFlyFrame_Impl().

void RtfSdrExport::LeaveGroup ( )

Reimplemented from EscherEx.

Definition at line 100 of file rtfsdrexport.cxx.

References m_bInGroup.

void RtfSdrExport::OpenContainer ( sal_uInt16  nEscherContainer,
int  nRecInstance = 0 
sal_Int32 RtfSdrExport::StartShape ( )
void RtfSdrExport::WriteOutliner ( const OutlinerParaObject rParaObj,
TextTypes  eType 

Member Data Documentation

std::map<OString, OString> RtfSdrExport::m_aShapeProps
OStringBuffer RtfSdrExport::m_aShapeStyle

Remember style, the most important shape attribute ;-)

Definition at line 52 of file rtfsdrexport.hxx.

Referenced by AddLineDimensions(), Commit(), OpenContainer(), and StartShape().

bool RtfSdrExport::m_bInGroup = false

Definition at line 59 of file rtfsdrexport.hxx.

Referenced by EnterGroup(), LeaveGroup(), and StartShape().

ShapeFlag RtfSdrExport::m_nShapeFlags

Remember the shape flags.

Definition at line 49 of file rtfsdrexport.hxx.

Referenced by AddLineDimensions(), and AddShape().

sal_uInt32 RtfSdrExport::m_nShapeType

Remember the shape type.

Definition at line 46 of file rtfsdrexport.hxx.

Referenced by AddShape(), CloseContainer(), Commit(), OpenContainer(), and StartShape().

const SdrObject* RtfSdrExport::m_pSdrObject

Definition at line 43 of file rtfsdrexport.hxx.

Referenced by AddSdrObject(), impl_writeGraphic(), and StartShape().

std::unique_ptr<bool[]> RtfSdrExport::m_pShapeTypeWritten

Remember which shape types we had already written.

Definition at line 57 of file rtfsdrexport.hxx.

Referenced by RtfSdrExport().

RtfAttributeOutput& RtfSdrExport::m_rAttrOutput

Definition at line 41 of file rtfsdrexport.hxx.

Referenced by EndShape(), StartShape(), and WriteOutliner().

RtfExport& RtfSdrExport::m_rExport

Definition at line 39 of file rtfsdrexport.hxx.

Referenced by StartShape(), and WriteOutliner().

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