diff options
Diffstat (limited to 'svtools/source/urlobj/inetimg.cxx')
-rw-r--r-- | svtools/source/urlobj/inetimg.cxx | 174 |
1 files changed, 2 insertions, 172 deletions
diff --git a/svtools/source/urlobj/inetimg.cxx b/svtools/source/urlobj/inetimg.cxx index e428e527d8e8..886e4a814240 100644 --- a/svtools/source/urlobj/inetimg.cxx +++ b/svtools/source/urlobj/inetimg.cxx @@ -2,9 +2,9 @@ * * $RCSfile: inetimg.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: jp $ $Date: 2001-07-03 12:29:39 $ + * last change: $Author: dv $ $Date: 2001-07-26 11:32:53 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -62,15 +62,6 @@ #include <tools/debug.hxx> #endif -#ifndef TF_SVDATA -#ifndef _SOT_DTRANS_HXX -#include <sot/dtrans.hxx> -#endif -#ifndef _SOT_EXCHANGE_HXX -#include <sot/exchange.hxx> -#endif -#endif - #ifndef _SOT_FORMATS_HXX #include <sot/formats.hxx> #endif @@ -84,167 +75,6 @@ #define TOKEN_SEPARATOR '\001' -#ifndef TF_SVDATA - -// Die folgende Struktur wurde den Netscape-Sourcen entnommen: -// netscape/source/ns/cmd/winfe/feimages.cpp -struct ImageData_Impl { - int iSize; // size of all data, including variable length strings - BOOL bIsMap; // For server side maps - INT32 iWidth; // Fixed size data correspond to fields in LO_ImageDataStruct - INT32 iHeight; // and EDT_ImageData - INT32 iHSpace; - INT32 iVSpace; - INT32 iBorder; - int iLowResOffset; // Offsets into string_data. If 0, string is NULL (not used) - int iAltOffset; // (alternate text?) - int iAnchorOffset; // HREF in image - int iExtraHTML_Offset; // Extra HTML (stored in CImageElement) - sal_Char pImageURL[1]; // Append all variable-length strings starting here -}; - - -//======================================================================= - -String INetImage::CopyExchange() const -{ - String aString; - aString += aImageURL; - aString += TOKEN_SEPARATOR; - aString += aTargetURL; - aString += TOKEN_SEPARATOR; - aString += aTargetFrame; - aString += TOKEN_SEPARATOR; - aString += aAlternateText; - aString += TOKEN_SEPARATOR; - aString += String::CreateFromInt32( aSizePixel.Width() ); - aString += TOKEN_SEPARATOR; - aString += String::CreateFromInt32( aSizePixel.Height() ); - return aString; -} - -//----------------------------------------------------------------------- - -void INetImage::PasteExchange( const String& rString ) -{ - xub_StrLen nStart = 0; - aImageURL = rString.GetToken( 0, TOKEN_SEPARATOR, nStart ); - aTargetURL = rString.GetToken( 0, TOKEN_SEPARATOR, nStart ); - aTargetFrame = rString.GetToken( 0, TOKEN_SEPARATOR, nStart ); - aAlternateText = rString.GetToken( 0, TOKEN_SEPARATOR, nStart ); - aSizePixel.Width() = rString.GetToken( 0, TOKEN_SEPARATOR, nStart ).ToInt32(); - aSizePixel.Height() = rString.GetToken( 0, TOKEN_SEPARATOR, nStart ).ToInt32(); -} - -//----------------------------------------------------------------------- - -ULONG INetImage::HasFormat( SotDataObject& rObj ) -{ - ULONG nFmt; - const SvDataTypeList& rTypeLst = rObj.GetTypeList(); - if( !rTypeLst.Get( nFmt = SOT_FORMATSTR_ID_INET_IMAGE ) && - !rTypeLst.Get( nFmt = SOT_FORMATSTR_ID_NETSCAPE_IMAGE )) - nFmt = 0; - return nFmt; -} - -//----------------------------------------------------------------------- - -BOOL INetImage::SetData( SvData& rData ) const - -/* [Beschreibung] - - Liefert TRUE, falls in dem SvDataObject ein entsp. Image-Format - steht, das wir unterstuetzen. Wenn ja, werden unsere Daten ins - Data-Object kopiert. -*/ -{ - BOOL bOK = FALSE; - const ULONG lFormat = rData.GetFormat(); - - if( lFormat == SOT_FORMATSTR_ID_INET_IMAGE ) - { - rData.SetData( CopyExchange() ); - bOK = TRUE; - } - else if( lFormat == SOT_FORMATSTR_ID_NETSCAPE_IMAGE ) - { - // Netscape koennen wir nicht exportieren - } - return bOK; -} - -//----------------------------------------------------------------------- - -BOOL INetImage::Copy( SotDataMemberObject& rObj ) const - -/* [Beschreibung] - Anmerkung: Das Netscape-Image-Format koennen wir nicht exportieren -*/ -{ - SvData* pData = new SvData( SOT_FORMATSTR_ID_INET_IMAGE, MEDIUM_MEMORY ); - ((INetImage*)this)->SetData( *pData ); - rObj.Append( pData ); - return TRUE; -} - -//----------------------------------------------------------------------- - -BOOL INetImage::Paste( SotDataObject& rObj, ULONG nFormat ) - -/* [Beschreibung] - - Diese Methode "uberschreibt den Wert dieser Instanz mit dem - Inhalt des uebergebenen Datenobjects. - nFormat: Typischerweise das Ergebnis von HasFormat -*/ - -{ - BOOL bRet = FALSE; - - SvData aData( nFormat, MEDIUM_ALL ); - if( rObj.GetData( &aData ) ) - { - void *pData; - aData.GetData( &pData, TRANSFER_REFERENCE ); - UINT32 nLen = aData.GetMinMemorySize(); - rtl_TextEncoding eSysCSet = gsl_getSystemTextEncoding(); - - if( nFormat == SOT_FORMATSTR_ID_INET_IMAGE ) - { - PasteExchange( String( (sal_Char*)pData, eSysCSet ) ); - bRet = TRUE; - } - else if( nFormat == SOT_FORMATSTR_ID_NETSCAPE_IMAGE ) - { - ImageData_Impl* pImgData = (ImageData_Impl*)pData; - - const sal_Char* pStart = (const sal_Char*)pImgData; - aImageURL = String( (const sal_Char*)&(pImgData->pImageURL[0]), - eSysCSet ); - if( pImgData->iAltOffset ) - aAlternateText = String( (pStart + pImgData->iAltOffset), eSysCSet ); - if( pImgData->iAnchorOffset ) - aTargetURL = String( (pStart + pImgData->iAnchorOffset), eSysCSet ); - - aSizePixel.Width() = pImgData->iWidth; - aSizePixel.Height() = pImgData->iHeight; - bRet = TRUE; - } - } - return bRet; -} - -BOOL INetImage::CopyFormats( SotDataObject& rObj ) const -{ - SvDataTypeList& rTypeList = (SvDataTypeList&)rObj.GetTypeList(); - rTypeList.Append( SvDataType( SOT_FORMATSTR_ID_INET_IMAGE, MEDIUM_MEMORY ) ); - // Netscape koennen wir nicht exportieren - // rTypeList.Append( SvDataType( SOT_FORMATSTR_ID_NETSCAPE_IMAGE, MEDIUM_MEMORY ) ); - return TRUE; -} -#endif - sal_Bool INetImage::Write( SvStream& rOStm, ULONG nFormat ) const { sal_Bool bRet = sal_False; |