summaryrefslogtreecommitdiff
path: root/svx/source/unodraw/unoshap4.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/unodraw/unoshap4.cxx')
-rw-r--r--svx/source/unodraw/unoshap4.cxx31
1 files changed, 29 insertions, 2 deletions
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index 658cb2c8fd6c..17daf3f5a1ed 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -779,7 +779,8 @@ bool SvxMediaShape::setPropertyValueImpl( const OUString& rName, const SfxItemPr
{
if( ((pProperty->nWID >= OWN_ATTR_MEDIA_URL) && (pProperty->nWID <= OWN_ATTR_MEDIA_ZOOM))
|| (pProperty->nWID == OWN_ATTR_MEDIA_STREAM)
- || (pProperty->nWID == OWN_ATTR_MEDIA_MIMETYPE) )
+ || (pProperty->nWID == OWN_ATTR_MEDIA_MIMETYPE)
+ || (pProperty->nWID == OWN_ATTR_VALUE_GRAPHIC))
{
SdrMediaObj* pMedia = static_cast< SdrMediaObj* >( GetSdrObject() );
::avmedia::MediaItem aItem;
@@ -869,6 +870,19 @@ bool SvxMediaShape::setPropertyValueImpl( const OUString& rName, const SfxItemPr
#endif
break;
+ case OWN_ATTR_VALUE_GRAPHIC:
+#if HAVE_FEATURE_AVMEDIA
+ {
+ uno::Reference<graphic::XGraphic> xGraphic(rValue, uno::UNO_QUERY);
+ if (xGraphic.is())
+ {
+ bOk = true;
+ aItem.setGraphic(Graphic(xGraphic));
+ }
+ }
+#endif
+ break;
+
case OWN_ATTR_MEDIA_STREAM:
#if HAVE_FEATURE_AVMEDIA
try
@@ -924,7 +938,8 @@ bool SvxMediaShape::getPropertyValueImpl( const OUString& rName, const SfxItemPr
|| (pProperty->nWID == OWN_ATTR_MEDIA_STREAM)
|| (pProperty->nWID == OWN_ATTR_MEDIA_TEMPFILEURL)
|| (pProperty->nWID == OWN_ATTR_MEDIA_MIMETYPE)
- || (pProperty->nWID == OWN_ATTR_FALLBACK_GRAPHIC))
+ || (pProperty->nWID == OWN_ATTR_FALLBACK_GRAPHIC)
+ || (pProperty->nWID == OWN_ATTR_VALUE_GRAPHIC))
{
SdrMediaObj* pMedia = static_cast< SdrMediaObj* >( GetSdrObject() );
const ::avmedia::MediaItem aItem( pMedia->getMediaProperties() );
@@ -995,6 +1010,18 @@ bool SvxMediaShape::getPropertyValueImpl( const OUString& rName, const SfxItemPr
#endif
break;
+ case OWN_ATTR_VALUE_GRAPHIC:
+#if HAVE_FEATURE_AVMEDIA
+ {
+ Graphic aGraphic = aItem.getGraphic();
+ if (!aGraphic.IsNone())
+ {
+ rValue <<= aGraphic.GetXGraphic();
+ }
+ }
+#endif
+ break;
+
case OWN_ATTR_FALLBACK_GRAPHIC:
rValue <<= pMedia->getSnapshot();
break;