21 #include <com/sun/star/lang/XUnoTunnel.hpp>
42 #include <bitmaps.hlst>
60 aRetval =
BitmapEx(RID_SVXBMP_GALLERY_MEDIA);
76 const double fScaleX(static_cast<double>(rSizePixel.
Width()) / static_cast<double>(aCurrentSizePixel.Width()));
77 const double fScaleY(static_cast<double>(rSizePixel.
Height()) / static_cast<double>(aCurrentSizePixel.Height()));
78 const double fScale(std::min(fScaleX, fScaleY));
82 if(fScale < 1.0 && fabs(1.0 - fScale) > 0.005)
84 aRetval.
Scale(fScale, fScale, BmpScaleFlag::BestQuality);
96 if( rGraphic.
GetType() == GraphicType::Bitmap )
99 Size aBmpSize( aBmpEx.GetSizePixel() );
101 if( aBmpSize.Width() && aBmpSize.Height() )
103 if( aBmpEx.GetPrefMapMode().GetMapUnit() != MapUnit::MapPixel &&
104 aBmpEx.GetPrefSize().Width() > 0 &&
105 aBmpEx.GetPrefSize().Height() > 0 )
109 if( aLogSize.
Width() > 0 && aLogSize.
Height() > 0 )
111 double fFactorLog =
static_cast< double >( aLogSize.
Width() ) / aLogSize.
Height();
112 double fFactorPix =
static_cast< double >( aBmpSize.Width() ) / aBmpSize.Height();
114 if( fFactorPix > fFactorLog )
115 aBmpSize.setWidth(
FRound( aBmpSize.Height() * fFactorLog ) );
117 aBmpSize.setHeight(
FRound( aBmpSize.Width() / fFactorLog ) );
119 aBmpEx.Scale(aBmpSize, BmpScaleFlag::BestQuality);
126 if( ( aBmpSize.Width() <=
S_THUMB ) && ( aBmpSize.Height() <=
S_THUMB ) )
133 const float fFactor =
static_cast<float>(aBmpSize.Width()) / aBmpSize.Height();
134 const Size aNewSize( std::max( static_cast<long>(fFactor < 1. ?
S_THUMB * fFactor :
S_THUMB), 8L ),
135 std::max( static_cast<long>(fFactor < 1. ? S_THUMB : S_THUMB / fFactor), 8L ) );
137 static_cast<double>(aNewSize.
Width()) / aBmpSize.Width(),
138 static_cast<double>(aNewSize.
Height()) / aBmpSize.Height(),
139 BmpScaleFlag::BestQuality ) )
147 else if( rGraphic.
GetType() == GraphicType::GdiMetafile )
150 const double fFactor =
static_cast<double>(aPrefSize.Width()) / static_cast<double>(aPrefSize.Height());
172 static const sal_uInt32 nInventor =
COMPAT_FORMAT(
'S',
'G',
'A',
'3' );
180 const sal_uIntPtr nOldVersion = rOut.
GetVersion();
194 aURLWithoutDestDir = aURLWithoutDestDir.replaceFirst(rDestDir,
"");
236 sal_uInt16 nReadVersion;
254 Init( aGraphic, rURL );
260 Init( rGraphic, rURL );
273 char const aDummy[ 10 ] = { 0 };
286 if( rReadVersion >= 5 )
321 case SOUND_MISC: sId = RID_SVXBMP_GALLERY_SOUND_2;
break;
322 case SOUND_MUSIC: sId = RID_SVXBMP_GALLERY_SOUND_3;
break;
323 case SOUND_NATURE: sId = RID_SVXBMP_GALLERY_SOUND_4;
break;
324 case SOUND_SPEECH: sId = RID_SVXBMP_GALLERY_SOUND_5;
break;
326 case SOUND_ANIMAL: sId = RID_SVXBMP_GALLERY_SOUND_7;
break;
330 sId = RID_SVXBMP_GALLERY_MEDIA;
350 if( rReadVersion >= 5 )
356 if( rReadVersion >= 6 )
393 : mpFormModel( nullptr )
396 const OUString sFactoryURL(
"sdraw");
404 uno::Reference< lang::XUnoTunnel > xTunnel(
mxDoc->
GetModel(), uno::UNO_QUERY );
456 if(aObjRect.GetWidth() && aObjRect.GetHeight())
459 FmFormView aView(const_cast< FmFormModel& >(rModel), pVDev);
461 aView.
ShowSdrPage(const_cast< FmFormPage* >(pPage));
467 if(aDiscreteSize.Width() && aDiscreteSize.Height())
469 sal_uInt32 nTargetSizeX(
S_THUMB);
470 sal_uInt32 nTargetSizeY(
S_THUMB);
472 if(aDiscreteSize.Width() > aDiscreteSize.Height())
474 nTargetSizeY = (aDiscreteSize.Height() * nTargetSizeX) / aDiscreteSize.Width();
478 nTargetSizeX = (aDiscreteSize.Width() * nTargetSizeY) / aDiscreteSize.Height();
505 if( rReadVersion >= 5 )
SvStream & WriteBool(bool b)
const GDIMetaFile & GetThumbMtf() const
bool CreateThumb(const Graphic &rGraphic)
virtual void ReadData(SvStream &rIn, sal_uInt16 &rReadVersion) override
virtual ~SgaObjectSound() override
virtual BitmapEx GetThumbBmp() const override
SvStream & WriteUInt16(sal_uInt16 nUInt16)
virtual BitmapEx GetThumbBmp() const
bool CreateIMapGraphic(const FmFormModel &rModel, Graphic &rGraphic, ImageMap &rImageMap)
SvStream & ReadUInt16(sal_uInt16 &rUInt16)
Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
SvStream & ReadSgaObject(SvStream &rIn, SgaObject &rObj)
const tools::Rectangle & GetAllObjBoundRect() const
virtual void WriteData(SvStream &rOut, const OUString &rDestDir) const override
bool CreateThumb(const FmFormModel &rModel)
sal_Int32 GetVersion() const
virtual void WriteData(SvStream &rOut, const OUString &rDestDir) const override
bool Scale(const Size &rNewSize, BmpScaleFlag nScaleFlag=BmpScaleFlag::Default)
virtual void WriteData(SvStream &rOut, const OUString &rDestDir) const
SvStream & ReadCharAsBool(bool &rBool)
SvStream & WriteSgaObject(SvStream &rOut, const SgaObject &rObj)
FmFormModel * GetModel() const
css::uno::Reference< css::frame::XModel > GetModel() const
FmFormModel * mpFormModel
SvStreamCompressFlags GetCompressMode() const
bool Convert(BmpConversion eConversion)
sal_uInt64 SeekRel(sal_Int64 nPos)
OString read_uInt16_lenPrefixed_uInt8s_ToOString(SvStream &rStrm)
BitmapEx GetMarkedObjBitmapEx(bool bNoVDevIfOneBmpMarked=false) const
SvStream & WriteGDIMetaFile(SvStream &rOStm, const GDIMetaFile &rGDIMetaFile)
bool IsThumbBitmap() const
SvStream & WriteUInt32(sal_uInt32 nUInt32)
OUString const & GetTitle() const
virtual void ReadData(SvStream &rIn, sal_uInt16 &rReadVersion) override
SvStream & ReadUInt32(sal_uInt32 &rUInt32)
void MarkAllObj(SdrPageView *pPV=nullptr)
BitmapEx createPreviewBitmapEx(const Size &rSizePixel) const
OUString read_uInt16_lenPrefixed_uInt8s_ToOUString(SvStream &rStrm, rtl_TextEncoding eEnc)
GalleryGraphicImportRet GalleryGraphicImport(const INetURLObject &rURL, Graphic &rGraphic, OUString &rFilterName)
GraphicType GetType() const
sal_uInt32 COMPAT_FORMAT(char char1, char char2, char char3, char char4)
static SfxObjectShell * CreateObjectByFactoryName(const OUString &rURL, SfxObjectCreateMode=SfxObjectCreateMode::STANDARD)
virtual void ReadData(SvStream &rIn, sal_uInt16 &rReadVersion) override
const SdrPage * GetPage(sal_uInt16 nPgNum) const
std::size_t WriteBytes(const void *pData, std::size_t nSize)
BitmapEx GetBitmapEx(const GraphicConversionParameters &rParameters=GraphicConversionParameters()) const
virtual void ReadData(SvStream &rIn, sal_uInt16 &rReadVersion)
void SetVersion(sal_Int32 n)
std::size_t write_uInt16_lenPrefixed_uInt8s_FromOString(SvStream &rStrm, const OString &rStr)
void Init(const Graphic &rGraphic, const INetURLObject &rURL)
bool GallerySvDrawImport(SvStream &rIStm, SdrModel &rModel)
virtual sal_uInt16 GetVersion() const =0
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
virtual void WriteData(SvStream &rOut, const OUString &rDestDir) const override
virtual SgaObjKind GetObjKind() const =0
void SetTitle(const OUString &rTitle)
SvStream & ReadGDIMetaFile(SvStream &rIStm, GDIMetaFile &rGDIMetaFile, ImplMetaReadData *pData)
bool DoInitNew(SfxMedium *pMedium=nullptr)
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
void SetCompressMode(SvStreamCompressFlags nNewMode)
std::size_t write_uInt16_lenPrefixed_uInt8s_FromOUString(SvStream &rStrm, const OUString &rStr, rtl_TextEncoding eEnc)
const Size & GetSizePixel() const
void setWidth(long nWidth)
static bool FileExists(const INetURLObject &rURL, const OUString &rExt)
void setHeight(long nHeight)