summaryrefslogtreecommitdiff
path: root/sd/source/filter/eppt/escherex.cxx
diff options
context:
space:
mode:
authorSven Jacobi <sj@openoffice.org>2000-11-20 13:52:35 +0000
committerSven Jacobi <sj@openoffice.org>2000-11-20 13:52:35 +0000
commit50d028997bd1b7c029f0b0f73cbae89dbeaff422 (patch)
treea9503cd9a8c04f6fa75a0e0b11a291e33d08a799 /sd/source/filter/eppt/escherex.cxx
parentbd027941c434340606c8c9396b3642f487f05e4b (diff)
EnterGroup now has additional parameter that makes it possible to write ClientData
Diffstat (limited to 'sd/source/filter/eppt/escherex.cxx')
-rw-r--r--sd/source/filter/eppt/escherex.cxx22
1 files changed, 15 insertions, 7 deletions
diff --git a/sd/source/filter/eppt/escherex.cxx b/sd/source/filter/eppt/escherex.cxx
index 0d6a4bd149cc..6af151a7223d 100644
--- a/sd/source/filter/eppt/escherex.cxx
+++ b/sd/source/filter/eppt/escherex.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: escherex.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: sj $ $Date: 2000-11-03 18:01:54 $
+ * last change: $Author: sj $ $Date: 2000-11-20 14:52:35 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -939,7 +939,7 @@ void _EscherEx::AddClientAnchor( const Rectangle& rRect )
// ---------------------------------------------------------------------------------------------
-void _EscherEx::EnterGroup( Rectangle* pBoundRect )
+void _EscherEx::EnterGroup( Rectangle* pBoundRect, SvMemoryStream* pClientData )
{
Rectangle aRect;
if ( pBoundRect )
@@ -955,18 +955,26 @@ void _EscherEx::EnterGroup( Rectangle* pBoundRect )
<< (INT32)aRect.Bottom();
if ( !mnGroupLevel )
- {
AddShape( _Escher_ShpInst_Min, 5 ); // Flags: Group | Patriarch
- CloseContainer(); // _Escher_SpContainer
- }
else
{
AddShape( _Escher_ShpInst_Min, 0x201 ); // Flags: Group | HaveAnchor
AddAtom( 8, _Escher_ClientAnchor );
PtReplaceOrInsert( _Escher_Persist_Grouping_Logic | mnGroupLevel, mpOutStrm->Tell() );
*mpOutStrm << (INT16)aRect.Top() << (INT16)aRect.Left() << (INT16)aRect.Right() << (INT16)aRect.Bottom();
- CloseContainer(); // _Escher_SpContainer
}
+ if ( pClientData )
+ {
+ pClientData->Seek( STREAM_SEEK_TO_END );
+ sal_uInt32 nSize = pClientData->Tell();
+ if ( nSize )
+ {
+ *mpOutStrm << (sal_uInt32)( ( _Escher_ClientData << 16 ) | 0xf )
+ << nSize;
+ mpOutStrm->Write( pClientData->GetData(), nSize );
+ }
+ }
+ CloseContainer(); // _Escher_SpContainer
mnGroupLevel++;
}