Kaydet (Commit) 6f83e628 authored tarafından Vladimir Glazunov's avatar Vladimir Glazunov

CWS-TOOLING: integrate CWS impress201

...@@ -70,7 +70,7 @@ const DeviceInfo& GraphicCollector::GetDeviceInfo( const Reference< XComponentCo ...@@ -70,7 +70,7 @@ const DeviceInfo& GraphicCollector::GetDeviceInfo( const Reference< XComponentCo
return aDeviceInfo; return aDeviceInfo;
} }
void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities, Reference< XGraphic >& rxGraphic, const GraphicSettings& rGraphicSettings, const GraphicCollector::GraphicUser& rUser ) void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities, const GraphicSettings& rGraphicSettings, const GraphicCollector::GraphicUser& rUser )
{ {
const rtl::OUString aGraphicURL( rUser.maGraphicURL ); const rtl::OUString aGraphicURL( rUser.maGraphicURL );
const rtl::OUString sPackageURL( OUString::createFromAscii( "vnd.sun.star.GraphicObject:" ) ); const rtl::OUString sPackageURL( OUString::createFromAscii( "vnd.sun.star.GraphicObject:" ) );
...@@ -93,7 +93,7 @@ void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntit ...@@ -93,7 +93,7 @@ void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntit
} }
if ( aIter == rGraphicEntities.end() ) if ( aIter == rGraphicEntities.end() )
{ {
GraphicCollector::GraphicEntity aEntity( rxGraphic, rUser ); GraphicCollector::GraphicEntity aEntity( rUser );
rGraphicEntities.push_back( aEntity ); rGraphicEntities.push_back( aEntity );
} }
} }
...@@ -133,7 +133,7 @@ void ImpAddGraphicEntity( const Reference< XComponentContext >& rxMSF, Reference ...@@ -133,7 +133,7 @@ void ImpAddGraphicEntity( const Reference< XComponentContext >& rxMSF, Reference
} }
aUser.maGraphicCropLogic = aGraphicCropLogic; aUser.maGraphicCropLogic = aGraphicCropLogic;
aUser.maLogicalSize = aLogicalSize; aUser.maLogicalSize = aLogicalSize;
ImpAddEntity( rGraphicEntities, xGraphic, rGraphicSettings, aUser ); ImpAddEntity( rGraphicEntities, rGraphicSettings, aUser );
} }
} }
...@@ -198,7 +198,7 @@ void ImpAddFillBitmapEntity( const Reference< XComponentContext >& rxMSF, const ...@@ -198,7 +198,7 @@ void ImpAddFillBitmapEntity( const Reference< XComponentContext >& rxMSF, const
aUser.mbFillBitmap = sal_True; aUser.mbFillBitmap = sal_True;
aUser.maLogicalSize = aLogicalSize; aUser.maLogicalSize = aLogicalSize;
aUser.mxPagePropertySet = rxPagePropertySet; aUser.mxPagePropertySet = rxPagePropertySet;
ImpAddEntity( rGraphicEntities, xGraphic, rGraphicSettings, aUser ); ImpAddEntity( rGraphicEntities, rGraphicSettings, aUser );
} }
} }
} }
......
...@@ -76,14 +76,13 @@ class GraphicCollector ...@@ -76,14 +76,13 @@ class GraphicCollector
struct GraphicEntity struct GraphicEntity
{ {
com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic > mxGraphic; // the corresponding XGraphic of the Shape
com::sun::star::awt::Size maLogicalSize; // the biggest logical size the graphic will be displayed com::sun::star::awt::Size maLogicalSize; // the biggest logical size the graphic will be displayed
sal_Bool mbRemoveCropArea; // sal_Bool mbRemoveCropArea; //
com::sun::star::text::GraphicCrop maGraphicCropLogic; com::sun::star::text::GraphicCrop maGraphicCropLogic;
std::vector< GraphicUser > maUser; std::vector< GraphicUser > maUser;
GraphicEntity( const com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic >& xGraphic, const GraphicUser& rUser ) GraphicEntity( const GraphicUser& rUser )
: mxGraphic( xGraphic ), maLogicalSize( rUser.maLogicalSize ), mbRemoveCropArea( sal_False ), maGraphicCropLogic( 0, 0, 0, 0 ) { maUser.push_back( rUser ); }; : maLogicalSize( rUser.maLogicalSize ), mbRemoveCropArea( sal_False ), maGraphicCropLogic( 0, 0, 0, 0 ) { maUser.push_back( rUser ); };
}; };
static const com::sun::star::awt::DeviceInfo& GetDeviceInfo( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxFact ); static const com::sun::star::awt::DeviceInfo& GetDeviceInfo( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxFact );
......
...@@ -409,12 +409,28 @@ void CompressGraphics( ImpOptimizer& rOptimizer, const Reference< XComponentCont ...@@ -409,12 +409,28 @@ void CompressGraphics( ImpOptimizer& rOptimizer, const Reference< XComponentCont
rOptimizer.SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( nProgress ) ) ); rOptimizer.SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( nProgress ) ) );
rOptimizer.DispatchStatus(); rOptimizer.DispatchStatus();
if ( aGraphicIter->maUser.size() )
{
GraphicSettings aGraphicSettings( rGraphicSettings ); GraphicSettings aGraphicSettings( rGraphicSettings );
aGraphicSettings.mbRemoveCropArea = aGraphicIter->mbRemoveCropArea; aGraphicSettings.mbRemoveCropArea = aGraphicIter->mbRemoveCropArea;
Reference< XPropertySet > xNewGraphicPropertySet( aGraphicIter->mxGraphic, UNO_QUERY_THROW ); Reference< XGraphic > xGraphic;
awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, aGraphicIter->mxGraphic ) ); if ( aGraphicIter->maUser[ 0 ].mbFillBitmap && aGraphicIter->maUser[ 0 ].mxPropertySet.is() )
Reference< XGraphic > xNewGraphic( ImpCompressGraphic( rxMSF, aGraphicIter->mxGraphic, aGraphicIter->maLogicalSize, aGraphicIter->maGraphicCropLogic, aGraphicSettings ) ); {
Reference< XBitmap > xFillBitmap;
if ( aGraphicIter->maUser[ 0 ].mxPropertySet->getPropertyValue( TKGet( TK_FillBitmap ) ) >>= xFillBitmap )
xGraphic = Reference< XGraphic >( xFillBitmap, UNO_QUERY_THROW );
}
else if ( aGraphicIter->maUser[ 0 ].mxShape.is() )
{
Reference< XPropertySet > xShapePropertySet( aGraphicIter->maUser[ 0 ].mxShape, UNO_QUERY_THROW );
xShapePropertySet->getPropertyValue( TKGet( TK_Graphic ) ) >>= xGraphic;
}
if ( xGraphic.is() )
{
Reference< XPropertySet > xNewGraphicPropertySet( xGraphic, UNO_QUERY_THROW );
awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, xGraphic ) );
Reference< XGraphic > xNewGraphic( ImpCompressGraphic( rxMSF, xGraphic, aGraphicIter->maLogicalSize, aGraphicIter->maGraphicCropLogic, aGraphicSettings ) );
if ( xNewGraphic.is() ) if ( xNewGraphic.is() )
{ {
// applying graphic to each user // applying graphic to each user
...@@ -471,6 +487,8 @@ void CompressGraphics( ImpOptimizer& rOptimizer, const Reference< XComponentCont ...@@ -471,6 +487,8 @@ void CompressGraphics( ImpOptimizer& rOptimizer, const Reference< XComponentCont
aGraphicUserIter++; aGraphicUserIter++;
} }
} }
}
}
aGraphicIter++; aGraphicIter++;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment