openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1562493 - in /openoffice/trunk/main: chart2/source/controller/main/ dtrans/source/win32/dtobj/ dtrans/source/win32/ftransl/ sc/source/ui/app/ sc/source/ui/view/ sd/source/ui/app/ sot/source/base/ svtools/source/misc/ sw/source/core/frmedt/...
Date Wed, 29 Jan 2014 16:10:40 GMT
Author: alg
Date: Wed Jan 29 16:10:39 2014
New Revision: 1562493

URL: http://svn.apache.org/r1562493
Log:
i124085 disabled CF_DIBV5 (no advantages but some problems), increased png support

Modified:
    openoffice/trunk/main/chart2/source/controller/main/ChartTransferable.cxx
    openoffice/trunk/main/dtrans/source/win32/dtobj/DOTransferable.cxx
    openoffice/trunk/main/dtrans/source/win32/dtobj/XTDataObject.cxx
    openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx
    openoffice/trunk/main/sc/source/ui/app/drwtrans.cxx
    openoffice/trunk/main/sc/source/ui/app/seltrans.cxx
    openoffice/trunk/main/sc/source/ui/app/transobj.cxx
    openoffice/trunk/main/sc/source/ui/view/cellsh.cxx
    openoffice/trunk/main/sc/source/ui/view/gridwin.cxx
    openoffice/trunk/main/sc/source/ui/view/viewfun3.cxx
    openoffice/trunk/main/sc/source/ui/view/viewfun5.cxx
    openoffice/trunk/main/sd/source/ui/app/sdxfer.cxx
    openoffice/trunk/main/sot/source/base/exchange.cxx
    openoffice/trunk/main/sot/source/base/formats.cxx
    openoffice/trunk/main/svtools/source/misc/transfer.cxx
    openoffice/trunk/main/svtools/source/misc/transfer2.cxx
    openoffice/trunk/main/sw/source/core/frmedt/fecopy.cxx
    openoffice/trunk/main/sw/source/ui/dochdl/swdtflvr.cxx

Modified: openoffice/trunk/main/chart2/source/controller/main/ChartTransferable.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/chart2/source/controller/main/ChartTransferable.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/chart2/source/controller/main/ChartTransferable.cxx (original)
+++ openoffice/trunk/main/chart2/source/controller/main/ChartTransferable.cxx Wed Jan 29 16:10:39 2014
@@ -79,6 +79,7 @@ void ChartTransferable::AddSupportedForm
         AddFormat( SOT_FORMATSTR_ID_DRAWING );
     }
     AddFormat( SOT_FORMAT_GDIMETAFILE );
+    AddFormat( SOT_FORMATSTR_ID_PNG );
     AddFormat( SOT_FORMAT_BITMAP );
 }
 

Modified: openoffice/trunk/main/dtrans/source/win32/dtobj/DOTransferable.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/dtrans/source/win32/dtobj/DOTransferable.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/dtrans/source/win32/dtobj/DOTransferable.cxx (original)
+++ openoffice/trunk/main/dtrans/source/win32/dtobj/DOTransferable.cxx Wed Jan 29 16:10:39 2014
@@ -136,12 +136,14 @@ Any SAL_CALL CDOTransferable::getTransfe
 			 Any aAny = makeAny( aUnicodeText );
 			 return aAny;
 		}
+        // #124085# CF_DIBV5 should not be possible, but keep for reading from the 
+        // clipboard for being on the safe side
         else if(CF_DIBV5 == fetc.getClipformat())
         {
             // #123407# CF_DIBV5 has priority; if the try to fetch this failed, 
             // check CF_DIB availability as an alternative
             fetc.setClipformat(CF_DIB);
-
+        
             try
             {
                 clipDataStream = getClipboardData( fetc );
@@ -373,6 +375,7 @@ CDOTransferable::ByteSequence_t SAL_CALL
 			clipDataToByteStream( aFormatEtc.getClipformat( ), stgmedium, byteStream );
 			
 			// format conversion if necessary
+            // #124085# DIBV5 should not happen currently, but keep as a hint here
 			if(CF_DIBV5 == aFormatEtc.getClipformat() || CF_DIB == aFormatEtc.getClipformat())
             {
 				byteStream = WinDIBToOOBMP(byteStream);

Modified: openoffice/trunk/main/dtrans/source/win32/dtobj/XTDataObject.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/dtrans/source/win32/dtobj/XTDataObject.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/dtrans/source/win32/dtobj/XTDataObject.cxx (original)
+++ openoffice/trunk/main/dtrans/source/win32/dtobj/XTDataObject.cxx Wed Jan 29 16:10:39 2014
@@ -307,6 +307,7 @@ void SAL_CALL CXTDataObject::renderAnyDa
 		nRequiredMemSize = sizeof( sal_Int8 ) * clipDataStream.getLength( ) + 1;
 
 	// prepare data for transmision
+    // #124085# DIBV5 should not happen for now, but keep as hint here
 	if ( CF_DIBV5 == fetc.cfFormat || CF_DIB == fetc.cfFormat )
     {
 #ifdef DBG_UTIL

Modified: openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx (original)
+++ openoffice/trunk/main/dtrans/source/win32/ftransl/ftransl.cxx Wed Jan 29 16:10:39 2014
@@ -276,7 +276,13 @@ void SAL_CALL CDataFormatTranslator::ini
     //SOT_FORMATSTR_ID_DIF
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-dif;windows_formatname=\"DIF\"", "DIF", "DIF", CF_DIF, CPPUTYPE_DEFAULT)); 
 	// SOT_FORMAT_BITMAP
-	m_TranslTable.push_back(FormatEntry("application/x-openoffice-bitmap;windows_formatname=\"Bitmap\"", "Bitmap", "Bitmap", CF_DIBV5, CPPUTYPE_DEFAULT));
+
+    // #124085# CF_DIBV5 disabled, leads to problems at export. To fully support, using
+    // an own mime-type may be necessary. I have tried that, but saw no real advantages
+    // with different apps when exchanging bitmap-based data. So, disabled for now. At
+    // the same time increased png format exchange for better interoperability
+	//m_TranslTable.push_back(FormatEntry("application/x-openoffice-bitmap;windows_formatname=\"Bitmap\"", "Bitmap", "Bitmap", CF_DIBV5, CPPUTYPE_DEFAULT));
+
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-bitmap;windows_formatname=\"Bitmap\"", "Bitmap", "Bitmap", CF_DIB, CPPUTYPE_DEFAULT));
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-bitmap;windows_formatname=\"Bitmap\"", "Bitmap", "Bitmap", CF_BITMAP, CPPUTYPE_DEFAULT));
 	// SOT_FORMAT_STRING	
@@ -507,9 +513,9 @@ void SAL_CALL CDataFormatTranslator::ini
 	//SOT_FORMATSTR_ID_DIALOG_60
 	m_TranslTable.push_back(FormatEntry("application/vnd.sun.xml.dialog", "Dialog 6.0", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
 	//SOT_FORMATSTR_ID_BMP
-	m_TranslTable.push_back(FormatEntry("image/bmp", "Windows Bitmap", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
+	m_TranslTable.push_back(FormatEntry("image/bmp", "Windows Bitmap", NULL, 49657 /* ID for "image/bmp" CF_INVALID*/, CPPUTYPE_DEFAULT));
 	//SOT_FORMATSTR_ID_PNG
-	m_TranslTable.push_back(FormatEntry("image/png", "PNG", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
+	m_TranslTable.push_back(FormatEntry("image/png", "PNG", NULL, 49656 /* ID for "image/png" CF_INVALID*/, CPPUTYPE_DEFAULT));
 	//SOT_FORMATSTR_ID_DUMMY3
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-dummy3;windows_formatname=\"SO_DUMMYFORMAT_3\"", "SO_DUMMYFORMAT_3", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
 	//SOT_FORMATSTR_ID_DUMMY4

Modified: openoffice/trunk/main/sc/source/ui/app/drwtrans.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/app/drwtrans.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/app/drwtrans.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/app/drwtrans.cxx Wed Jan 29 16:10:39 2014
@@ -318,6 +318,7 @@ void ScDrawTransferObj::AddSupportedForm
     {
 		AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
         AddFormat( SOT_FORMATSTR_ID_SVXB );
+        AddFormat( SOT_FORMATSTR_ID_PNG );
         AddFormat( SOT_FORMAT_BITMAP );
         AddFormat( SOT_FORMAT_GDIMETAFILE );
     }
@@ -329,6 +330,7 @@ void ScDrawTransferObj::AddSupportedForm
 		AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
         AddFormat( SOT_FORMATSTR_ID_SVXB );
         AddFormat( SOT_FORMAT_GDIMETAFILE );
+        AddFormat( SOT_FORMATSTR_ID_PNG );
         AddFormat( SOT_FORMAT_BITMAP );
     }
     else if ( pBookmark )       // url button
@@ -374,6 +376,7 @@ void ScDrawTransferObj::AddSupportedForm
         // #103556# leave out bitmap and metafile if there are only controls
         if ( !lcl_HasOnlyControls( pModel ) )
         {
+            AddFormat( SOT_FORMATSTR_ID_PNG );
             AddFormat( SOT_FORMAT_BITMAP );
             AddFormat( SOT_FORMAT_GDIMETAFILE );
         }
@@ -426,7 +429,9 @@ sal_Bool ScDrawTransferObj::GetData( con
         {
             bOK = SetObject( pModel, SCDRAWTRANS_TYPE_DRAWMODEL, rFlavor );
         }
-        else if ( nFormat == SOT_FORMAT_BITMAP || nFormat == SOT_FORMAT_GDIMETAFILE )
+        else if ( nFormat == SOT_FORMAT_BITMAP 
+            || nFormat == SOT_FORMATSTR_ID_PNG
+            || nFormat == SOT_FORMAT_GDIMETAFILE )
         {
 			// #i71538# use complete SdrViews
             // SdrExchangeView aView( pModel );

Modified: openoffice/trunk/main/sc/source/ui/app/seltrans.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/app/seltrans.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/app/seltrans.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/app/seltrans.cxx Wed Jan 29 16:10:39 2014
@@ -209,6 +209,7 @@ void ScSelectionTransferObj::AddSupporte
 			AddFormat( SOT_FORMATSTR_ID_EMBED_SOURCE );
 			AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
 			AddFormat( SOT_FORMAT_GDIMETAFILE );
+			AddFormat( SOT_FORMATSTR_ID_PNG );
 			AddFormat( SOT_FORMAT_BITMAP );
 			AddFormat( SOT_FORMATSTR_ID_HTML );
 			AddFormat( SOT_FORMATSTR_ID_SYLK );
@@ -225,6 +226,7 @@ void ScSelectionTransferObj::AddSupporte
 		case SC_SELTRANS_DRAW_BITMAP:
 			AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
 			AddFormat( SOT_FORMATSTR_ID_SVXB );
+        	AddFormat( SOT_FORMATSTR_ID_PNG );
         	AddFormat( SOT_FORMAT_BITMAP );
         	AddFormat( SOT_FORMAT_GDIMETAFILE );
 			break;
@@ -233,6 +235,7 @@ void ScSelectionTransferObj::AddSupporte
 			AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
         	AddFormat( SOT_FORMATSTR_ID_SVXB );
         	AddFormat( SOT_FORMAT_GDIMETAFILE );
+        	AddFormat( SOT_FORMATSTR_ID_PNG );
         	AddFormat( SOT_FORMAT_BITMAP );
  			break;
 
@@ -256,6 +259,7 @@ void ScSelectionTransferObj::AddSupporte
 	        AddFormat( SOT_FORMATSTR_ID_EMBED_SOURCE );
         	AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
         	AddFormat( SOT_FORMATSTR_ID_DRAWING );
+        	AddFormat( SOT_FORMATSTR_ID_PNG );
         	AddFormat( SOT_FORMAT_BITMAP );
         	AddFormat( SOT_FORMAT_GDIMETAFILE );
 			break;

Modified: openoffice/trunk/main/sc/source/ui/app/transobj.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/app/transobj.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/app/transobj.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/app/transobj.cxx Wed Jan 29 16:10:39 2014
@@ -239,6 +239,7 @@ void ScTransferObj::AddSupportedFormats(
 	AddFormat( SOT_FORMATSTR_ID_EMBED_SOURCE );
 	AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
 	AddFormat( SOT_FORMAT_GDIMETAFILE );
+	AddFormat( SOT_FORMATSTR_ID_PNG );
 	AddFormat( SOT_FORMAT_BITMAP );
 
 	// ScImportExport formats
@@ -330,7 +331,7 @@ sal_Bool ScTransferObj::GetData( const d
 				DBG_ERROR("unknown DataType");
 			}
 		}
-		else if ( nFormat == SOT_FORMAT_BITMAP )
+		else if ( nFormat == SOT_FORMAT_BITMAP || nFormat == SOT_FORMATSTR_ID_PNG )
 		{
 			Rectangle aMMRect = pDoc->GetMMRect( aBlock.aStart.Col(), aBlock.aStart.Row(),
 												 aBlock.aEnd.Col(), aBlock.aEnd.Row(),

Modified: openoffice/trunk/main/sc/source/ui/view/cellsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/view/cellsh.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/view/cellsh.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/view/cellsh.cxx Wed Jan 29 16:10:39 2014
@@ -377,6 +377,7 @@ void ScCellShell::GetPossibleClipboardFo
 	lcl_TestFormat( rFormats, aDataHelper, SOT_FORMATSTR_ID_DRAWING );
 	lcl_TestFormat( rFormats, aDataHelper, SOT_FORMATSTR_ID_SVXB );
 	lcl_TestFormat( rFormats, aDataHelper, SOT_FORMAT_GDIMETAFILE );
+	lcl_TestFormat( rFormats, aDataHelper, SOT_FORMATSTR_ID_PNG );
 	lcl_TestFormat( rFormats, aDataHelper, SOT_FORMAT_BITMAP );
 	lcl_TestFormat( rFormats, aDataHelper, SOT_FORMATSTR_ID_EMBED_SOURCE );
 
@@ -405,7 +406,8 @@ sal_Bool lcl_IsCellPastePossible( const 
 		bPossible = sal_True;
 	else
 	{
-		if ( rData.HasFormat( SOT_FORMAT_BITMAP ) ||
+		if ( rData.HasFormat( SOT_FORMATSTR_ID_PNG ) ||
+             rData.HasFormat( SOT_FORMAT_BITMAP ) ||
 			 rData.HasFormat( SOT_FORMAT_GDIMETAFILE ) ||
 			 rData.HasFormat( SOT_FORMATSTR_ID_SVXB ) ||
 			 rData.HasFormat( FORMAT_PRIVATE ) ||

Modified: openoffice/trunk/main/sc/source/ui/view/gridwin.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/view/gridwin.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/view/gridwin.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/view/gridwin.cxx Wed Jan 29 16:10:39 2014
@@ -3622,6 +3622,7 @@ sal_Int8 ScGridWindow::AcceptDrop( const
 			{
 				if ( IsDropFormatSupported(SOT_FORMATSTR_ID_SVXB)
 					|| IsDropFormatSupported(SOT_FORMAT_GDIMETAFILE)
+					|| IsDropFormatSupported(SOT_FORMATSTR_ID_PNG)
 					|| IsDropFormatSupported(SOT_FORMAT_BITMAP) )
 				{
 					//	graphic dragged onto drawing object
@@ -3656,6 +3657,7 @@ sal_Int8 ScGridWindow::AcceptDrop( const
 								 IsDropFormatSupported( SOT_FORMATSTR_ID_SVXB ) ||
 								 IsDropFormatSupported( SOT_FORMAT_RTF ) ||
 								 IsDropFormatSupported( SOT_FORMAT_GDIMETAFILE ) ||
+								 IsDropFormatSupported( SOT_FORMATSTR_ID_PNG ) ||
 								 IsDropFormatSupported( SOT_FORMAT_BITMAP ) ||
 								 IsDropFormatSupported( SOT_FORMATSTR_ID_SBA_DATAEXCHANGE ) ||
 								 IsDropFormatSupported( SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE ) ||
@@ -3796,6 +3798,8 @@ sal_uLong lcl_GetDropFormatId( const uno
 		nFormatId = SOT_FORMAT_STRING;
 	else if ( aDataHelper.HasFormat( SOT_FORMAT_GDIMETAFILE ) )
 		nFormatId = SOT_FORMAT_GDIMETAFILE;
+	else if ( aDataHelper.HasFormat( SOT_FORMATSTR_ID_PNG ) )
+		nFormatId = SOT_FORMATSTR_ID_PNG;
 	else if ( aDataHelper.HasFormat( SOT_FORMAT_BITMAP ) )
 		nFormatId = SOT_FORMAT_BITMAP;
 

Modified: openoffice/trunk/main/sc/source/ui/view/viewfun3.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/view/viewfun3.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/view/viewfun3.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/view/viewfun3.cxx Wed Jan 29 16:10:39 2014
@@ -843,7 +843,7 @@ sal_Bool ScViewFunc::PasteOnDrawObject( 
 			if( aDataHelper.GetGDIMetaFile( FORMAT_GDIMETAFILE, aMtf ) )
 				bRet = ApplyGraphicToObject( pHitObj, Graphic(aMtf) );
 		}
-		else if ( aDataHelper.HasFormat( SOT_FORMAT_BITMAP ) )
+		else if ( aDataHelper.HasFormat( SOT_FORMAT_BITMAP ) || aDataHelper.HasFormat( SOT_FORMATSTR_ID_PNG ) )
 		{
 			BitmapEx aBmpEx;
 			if( aDataHelper.GetBitmapEx( FORMAT_BITMAP, aBmpEx ) )

Modified: openoffice/trunk/main/sc/source/ui/view/viewfun5.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/view/viewfun5.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/view/viewfun5.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/view/viewfun5.cxx Wed Jan 29 16:10:39 2014
@@ -455,7 +455,7 @@ sal_Bool ScViewFunc::PasteDataFormat( sa
 			}
 		}
 	}
-	else if (nFormatId == SOT_FORMAT_BITMAP)
+	else if (nFormatId == SOT_FORMAT_BITMAP || nFormatId == SOT_FORMATSTR_ID_PNG)
 	{
 		BitmapEx aBmpEx;
 		if( aDataHelper.GetBitmapEx( FORMAT_BITMAP, aBmpEx ) )

Modified: openoffice/trunk/main/sd/source/ui/app/sdxfer.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sd/source/ui/app/sdxfer.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sd/source/ui/app/sdxfer.cxx (original)
+++ openoffice/trunk/main/sd/source/ui/app/sdxfer.cxx Wed Jan 29 16:10:39 2014
@@ -440,12 +440,14 @@ void SdTransferable::AddSupportedFormats
 
 		    if( mpGraphic->GetType() == GRAPHIC_BITMAP )
 		    {
+			    AddFormat( SOT_FORMATSTR_ID_PNG );
 			    AddFormat( SOT_FORMAT_BITMAP );
 			    AddFormat( SOT_FORMAT_GDIMETAFILE );
 		    }
 		    else
 		    {
 			    AddFormat( SOT_FORMAT_GDIMETAFILE );
+			    AddFormat( SOT_FORMATSTR_ID_PNG );
 			    AddFormat( SOT_FORMAT_BITMAP );
 		    }
 	    }
@@ -461,6 +463,7 @@ void SdTransferable::AddSupportedFormats
 			if( !mpSdDrawDocument || !lcl_HasOnlyControls( mpSdDrawDocument ) )
 			{
 				AddFormat( SOT_FORMAT_GDIMETAFILE );
+				AddFormat( SOT_FORMATSTR_ID_PNG );
 				AddFormat( SOT_FORMAT_BITMAP );
 			}
 

Modified: openoffice/trunk/main/sot/source/base/exchange.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sot/source/base/exchange.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sot/source/base/exchange.cxx (original)
+++ openoffice/trunk/main/sot/source/base/exchange.cxx Wed Jan 29 16:10:39 2014
@@ -207,7 +207,7 @@ namespace
             /*138 SOT_FORMATSTR_ID_STARMATH_8_TEMPLATE*/            { MIMETYPE_OASIS_OPENDOCUMENT_FORMULA_TEMPLATE_ASCII, "Math 8 Template", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
             /*139 SOT_FORMATSTR_ID_STARBASE_8*/            { MIMETYPE_OASIS_OPENDOCUMENT_DATABASE_ASCII, "StarBase 8", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
             /*140 SOT_FORMAT_GDIMETAFILE*/					{ "application/x-openoffice-highcontrast-gdimetafile;windows_formatname=\"GDIMetaFile\"", "High Contrast GDIMetaFile", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
-            /*141 SOT_FORMATSTR_ID_PNG*/                    { "image/png", "Windows Bitmap", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
+            /*141 SOT_FORMATSTR_ID_PNG*/                    { "image/png", "PNG Bitmap", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
             };
 	    return &aInstance[0];
         }

Modified: openoffice/trunk/main/sot/source/base/formats.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sot/source/base/formats.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sot/source/base/formats.cxx (original)
+++ openoffice/trunk/main/sot/source/base/formats.cxx Wed Jan 29 16:10:39 2014
@@ -161,6 +161,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -201,6 +202,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE, 0 }, \
 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE, 0 }, \
@@ -263,6 +265,7 @@ static SotAction_Impl __READONLY_DATA aE
 static SotAction_Impl __READONLY_DATA aEXCHG_DEST_DOC_TEXTFRAME_WEB_Def[] =     \
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -294,6 +297,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_NETSCAPE_IMAGE, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },   		\
 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE, 0 },             \
 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
@@ -343,6 +347,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -361,6 +366,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -374,6 +380,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -387,6 +394,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -402,6 +410,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -420,6 +429,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -433,6 +443,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -446,6 +457,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -461,6 +473,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -480,6 +493,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -493,6 +507,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -506,6 +521,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -521,6 +537,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -540,6 +557,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -553,6 +571,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -566,6 +585,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -602,6 +622,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -620,6 +641,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -633,6 +655,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -646,6 +669,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -662,6 +686,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMAT_FILE, EXCHG_IN_ACTION_COPY, 0 },                          \
@@ -683,6 +708,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },      \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },            \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },    \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -723,6 +749,7 @@ static SotAction_Impl __READONLY_DATA aE
 	{                                                                       \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMATSTR_ID_HTML, EXCHG_IN_ACTION_COPY, 0 },                    \
@@ -741,6 +768,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_REPLACE_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_REPLACE_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_REPLACE_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_REPLACE_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -754,6 +782,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_INSERT_DRAWOBJ | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_INSERT_SVXB| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP| EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_INSERT_GRAPH | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -767,6 +796,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_GET_ATTRIBUTES| EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK, EXCHG_OUT_ACTION_GET_ATTRIBUTES | EXCHG_OUT_ACTION_FLAG_FILL | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
@@ -796,6 +826,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_SOLK, EXCHG_IN_ACTION_COPY, 0 },                   \
@@ -823,6 +854,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                           \
 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING, 0 },              \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
@@ -855,6 +887,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
@@ -900,6 +933,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_IN_ACTION_COPY, 0 },       \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SONLK, EXCHG_IN_ACTION_COPY, 0 },                   \
 		{ SOT_FORMATSTR_ID_LINK, EXCHG_IN_ACTION_MOVE, 0 },                     \
@@ -917,6 +951,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMAT_RTF, EXCHG_IN_ACTION_COPY | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },                           \
 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING, 0 },              \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
@@ -939,6 +974,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_LINK, EXCHG_OUT_ACTION_INSERT_DDE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },             \
 		{ SOT_FORMATSTR_ID_SVIM, EXCHG_OUT_ACTION_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },        \
@@ -975,6 +1011,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_IN_ACTION_MOVE, 0 },                  \
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_IN_ACTION_MOVE, 0 },             \
@@ -1000,6 +1037,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
@@ -1027,6 +1065,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
@@ -1068,6 +1107,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_DRAWING, EXCHG_IN_ACTION_COPY, 0 },                 \
 		{ SOT_FORMATSTR_ID_SVXB, EXCHG_IN_ACTION_COPY, 0 },                    \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_IN_ACTION_COPY, 0 },                   \
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMAT_BITMAP, EXCHG_IN_ACTION_COPY, 0 },                        \
 		{ SOT_FORMATSTR_ID_SD_OLE, EXCHG_IN_ACTION_MOVE, 0 },                  \
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE, EXCHG_IN_ACTION_MOVE, 0 },             \
@@ -1091,6 +1131,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_HTML_SIMPLE, EXCHG_OUT_ACTION_INSERT_HTML | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_STRING, EXCHG_OUT_ACTION_INSERT_STRING | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },              \
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
 		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
@@ -1115,6 +1156,7 @@ static SotAction_Impl __READONLY_DATA aE
 		{ SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, FILEGRPDSC_ONLY_URL },\
 		{ SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR, EXCHG_OUT_ACTION_INSERT_HYPERLINK | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_GDIMETAFILE, EXCHG_OUT_ACTION_INSERT_GDIMETAFILE | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
+		{ SOT_FORMATSTR_ID_PNG, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
 		{ SOT_FORMAT_BITMAP, EXCHG_OUT_ACTION_INSERT_BITMAP | EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 },\
   		{ SOT_FORMATSTR_ID_EMBED_SOURCE_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \
   		{ SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE, EXCHG_OUT_ACTION_INSERT_OLE | EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL, 0 }, \

Modified: openoffice/trunk/main/svtools/source/misc/transfer.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svtools/source/misc/transfer.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/svtools/source/misc/transfer.cxx (original)
+++ openoffice/trunk/main/svtools/source/misc/transfer.cxx Wed Jan 29 16:10:39 2014
@@ -698,8 +698,8 @@ void TransferableHelper::AddFormat( cons
 
 		if( FORMAT_BITMAP == aFlavorEx.mnSotId )
 		{
-			AddFormat( SOT_FORMATSTR_ID_BMP );
 			AddFormat( SOT_FORMATSTR_ID_PNG );
+			AddFormat( SOT_FORMATSTR_ID_BMP );
 		}
 		else if( FORMAT_GDIMETAFILE == aFlavorEx.mnSotId )
 		{
@@ -817,18 +817,19 @@ sal_Bool TransferableHelper::SetBitmapEx
         {
             const Bitmap aBitmap(rBitmapEx.GetBitmap());
 
-            if(rBitmapEx.IsTransparent())
-            {
-                const Bitmap aMask(rBitmapEx.GetAlpha().GetBitmap());
-
-                // explicitely use Bitmap::Write with bCompressed = sal_False and bFileHeader = sal_True
-                WriteDIBV5(aBitmap, aMask, aMemStm);
-            }
-            else
-            {
+            // #124085# take out DIBV5 for writing to the clipboard
+            //if(rBitmapEx.IsTransparent())
+            //{
+            //    const Bitmap aMask(rBitmapEx.GetAlpha().GetBitmap());
+            //
+            //    // explicitely use Bitmap::Write with bCompressed = sal_False and bFileHeader = sal_True
+            //    WriteDIBV5(aBitmap, aMask, aMemStm);
+            //}
+            //else
+            //{
                 // explicitely use Bitmap::Write with bCompressed = sal_False and bFileHeader = sal_True
                 WriteDIB(aBitmap, aMemStm, false, true);
-            }
+            //}
         }
 
         maAny <<= Sequence< sal_Int8 >( reinterpret_cast< const sal_Int8* >( aMemStm.GetData() ), aMemStm.Seek( STREAM_SEEK_TO_END ) );
@@ -1839,6 +1840,7 @@ sal_Bool TransferableDataHelper::GetBitm
             Bitmap aMask;
 
             // explicitely use Bitmap::Read with bFileHeader = sal_True
+            // #124085# keep DIBV5 for read from clipboard, but should not happen
             ReadDIBV5(aBitmap, aMask, *xStm);
 
             if(aMask.IsEmpty())

Modified: openoffice/trunk/main/svtools/source/misc/transfer2.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/svtools/source/misc/transfer2.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/svtools/source/misc/transfer2.cxx (original)
+++ openoffice/trunk/main/svtools/source/misc/transfer2.cxx Wed Jan 29 16:10:39 2014
@@ -458,6 +458,7 @@ sal_Bool TransferDataContainer::GetData(
 			break;
 
 		case SOT_FORMATSTR_ID_SVXB:
+        case SOT_FORMATSTR_ID_PNG:
 		case SOT_FORMAT_BITMAP:
 		case SOT_FORMAT_GDIMETAFILE:
 			if( pImpl->pGrf )
@@ -554,12 +555,18 @@ void TransferDataContainer::CopyGraphic(
 		else
 			*pImpl->pGrf = rGrf;
 
-		AddFormat( SOT_FORMATSTR_ID_SVXB );
-		if( GRAPHIC_BITMAP == nType )
-			AddFormat( SOT_FORMAT_BITMAP );
-		else if( GRAPHIC_GDIMETAFILE == nType )
-			AddFormat( SOT_FORMAT_GDIMETAFILE );
-	}
+        AddFormat( SOT_FORMATSTR_ID_SVXB );
+
+        if( GRAPHIC_BITMAP == nType )
+        {
+            AddFormat( SOT_FORMATSTR_ID_PNG );
+            AddFormat( SOT_FORMAT_BITMAP );
+        }
+        else if( GRAPHIC_GDIMETAFILE == nType )
+        {
+            AddFormat( SOT_FORMAT_GDIMETAFILE );
+        }
+    }
 }
 
 // -----------------------------------------------------------------------------

Modified: openoffice/trunk/main/sw/source/core/frmedt/fecopy.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/core/frmedt/fecopy.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/core/frmedt/fecopy.cxx (original)
+++ openoffice/trunk/main/sw/source/core/frmedt/fecopy.cxx Wed Jan 29 16:10:39 2014
@@ -1299,7 +1299,7 @@ sal_Bool SwFEShell::GetDrawObjGraphic( s
 		}
 		else if( SOT_FORMAT_GDIMETAFILE == nFmt )
 			rGrf = Imp()->GetDrawView()->GetMarkedObjMetaFile();
-		else if( SOT_FORMAT_BITMAP == nFmt )
+		else if( SOT_FORMAT_BITMAP == nFmt || SOT_FORMATSTR_ID_PNG == nFmt )
 			rGrf = Imp()->GetDrawView()->GetMarkedObjBitmapEx();
 	}
 	return bConvert;

Modified: openoffice/trunk/main/sw/source/ui/dochdl/swdtflvr.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/dochdl/swdtflvr.cxx?rev=1562493&r1=1562492&r2=1562493&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/dochdl/swdtflvr.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/dochdl/swdtflvr.cxx Wed Jan 29 16:10:39 2014
@@ -1347,6 +1347,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
 
 			case SOT_FORMATSTR_ID_SVXB:
 			case SOT_FORMAT_BITMAP:
+            case SOT_FORMATSTR_ID_PNG:
 			case SOT_FORMAT_GDIMETAFILE:
 				nRet = SwTransferable::_PasteGrf( rData, rSh, nFormat,
 												SW_PASTESDR_INSERT,pPt,
@@ -1475,6 +1476,7 @@ ASSERT( pPt, "EXCHG_OUT_ACTION_MOVE_PRIV
 			case SOT_FORMATSTR_ID_SVXB:
 			case SOT_FORMAT_GDIMETAFILE:
 			case SOT_FORMAT_BITMAP:
+            case SOT_FORMATSTR_ID_PNG:
 			case SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK:
 			case SOT_FORMAT_FILE:
 			case SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR:
@@ -2281,6 +2283,7 @@ int SwTransferable::_PasteGrf( Transfera
 	switch( nFmt )
 	{
 	case SOT_FORMAT_BITMAP:
+    case SOT_FORMATSTR_ID_PNG:
 	case SOT_FORMAT_GDIMETAFILE:
 		nRet = rData.GetGraphic( nFmt, aGrf );
 		break;



Mime
View raw message