Kaydet (Commit) 1e8c4b76 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

thumbnails: Provide the size as a default parameter.

And increase it consistently to 256 pixels.

Change-Id: I123e11d597269d7e43298504f1dbd0098c9b0149
üst 05857ac3
...@@ -213,7 +213,8 @@ public: ...@@ -213,7 +213,8 @@ public:
friend VCL_DLLPUBLIC SvStream& operator>>( SvStream& rIStm, GDIMetaFile& rGDIMetaFile ); friend VCL_DLLPUBLIC SvStream& operator>>( SvStream& rIStm, GDIMetaFile& rGDIMetaFile );
friend VCL_DLLPUBLIC SvStream& WriteGDIMetaFile( SvStream& rOStm, const GDIMetaFile& rGDIMetaFile ); friend VCL_DLLPUBLIC SvStream& WriteGDIMetaFile( SvStream& rOStm, const GDIMetaFile& rGDIMetaFile );
sal_Bool CreateThumbnail( sal_uInt32 nMaximumExtent, BitmapEx& rBmpEx, const BitmapEx* pOverlay = NULL, const Rectangle* pOverlayRect = NULL ) const; /// Creates an antialiased thumbnail, with maximum height or width of nMaximumExtent.
sal_Bool CreateThumbnail( BitmapEx& rBmpEx, sal_uInt32 nMaximumSize = 256, const BitmapEx* pOverlay = NULL, const Rectangle* pOverlayRect = NULL ) const;
void UseCanvas( sal_Bool _bUseCanvas ); void UseCanvas( sal_Bool _bUseCanvas );
sal_Bool GetUseCanvas() const { return bUseCanvas; } sal_Bool GetUseCanvas() const { return bUseCanvas; }
......
...@@ -1111,8 +1111,7 @@ Any SAL_CALL SdGenericDrawPage::getPropertyValue( const OUString& PropertyName ) ...@@ -1111,8 +1111,7 @@ Any SAL_CALL SdGenericDrawPage::getPropertyValue( const OUString& PropertyName )
::boost::shared_ptr<GDIMetaFile> pMetaFile = ::boost::shared_ptr<GDIMetaFile> pMetaFile =
pDocShell->GetPreviewMetaFile(); pDocShell->GetPreviewMetaFile();
BitmapEx aBitmap; BitmapEx aBitmap;
if ( pMetaFile && pMetaFile->CreateThumbnail( 160, /* magic value taken from GraphicHelper::getThumbnailFormatFromGDI_Impl() */ if (pMetaFile && pMetaFile->CreateThumbnail(aBitmap))
aBitmap ) )
{ {
SvMemoryStream aMemStream; SvMemoryStream aMemStream;
WriteDIB(aBitmap.GetBitmap(), aMemStream, false, false); WriteDIB(aBitmap.GetBitmap(), aMemStream, false, false);
......
...@@ -306,8 +306,8 @@ uno::Sequence<sal_uInt8> SFX2_DLLPUBLIC convertMetaFile(GDIMetaFile* i_pThumb) ...@@ -306,8 +306,8 @@ uno::Sequence<sal_uInt8> SFX2_DLLPUBLIC convertMetaFile(GDIMetaFile* i_pThumb)
if (i_pThumb) { if (i_pThumb) {
BitmapEx aBitmap; BitmapEx aBitmap;
SvMemoryStream aStream; SvMemoryStream aStream;
// magic value 160 taken from GraphicHelper::getThumbnailFormatFromGDI_Impl() if (i_pThumb->CreateThumbnail(aBitmap))
if( i_pThumb->CreateThumbnail( 160, aBitmap ) ) { {
WriteDIB(aBitmap.GetBitmap(), aStream, false, false); WriteDIB(aBitmap.GetBitmap(), aStream, false, false);
aStream.Seek(STREAM_SEEK_TO_END); aStream.Seek(STREAM_SEEK_TO_END);
uno::Sequence<sal_uInt8> aSeq(aStream.Tell()); uno::Sequence<sal_uInt8> aSeq(aStream.Tell());
......
...@@ -283,7 +283,7 @@ sal_Bool GraphicHelper::getThumbnailFormatFromGDI_Impl( GDIMetaFile* pMetaFile, ...@@ -283,7 +283,7 @@ sal_Bool GraphicHelper::getThumbnailFormatFromGDI_Impl( GDIMetaFile* pMetaFile,
if ( bSigned ) if ( bSigned )
pSignatureBitmap = new BitmapEx( SfxResId( BMP_SIGNATURE ) ); pSignatureBitmap = new BitmapEx( SfxResId( BMP_SIGNATURE ) );
bResult = pMetaFile->CreateThumbnail(THUMBNAIL_RESOLUTION, aResultBitmap, pSignatureBitmap); bResult = pMetaFile->CreateThumbnail(aResultBitmap, THUMBNAIL_RESOLUTION, pSignatureBitmap);
if ( bResult ) if ( bResult )
bResult = ( !aResultBitmap.IsEmpty() bResult = ( !aResultBitmap.IsEmpty()
......
...@@ -2869,10 +2869,8 @@ SvStream& GDIMetaFile::Write( SvStream& rOStm ) ...@@ -2869,10 +2869,8 @@ SvStream& GDIMetaFile::Write( SvStream& rOStm )
return rOStm; return rOStm;
} }
sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent, sal_Bool GDIMetaFile::CreateThumbnail(BitmapEx& rBmpEx, sal_uInt32 nMaximumExtent,
BitmapEx& rBmpEx, const BitmapEx* pOverlay, const Rectangle* pOverlayRect) const
const BitmapEx* pOverlay,
const Rectangle* pOverlayRect ) const
{ {
// initialization seems to be complicated but is used to avoid rounding errors // initialization seems to be complicated but is used to avoid rounding errors
VirtualDevice aVDev; VirtualDevice aVDev;
......
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