summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-01-02 17:28:57 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-01-02 17:42:02 +0000
commit9d6a749bc664f1876c938afb9eba4adc9f6ee09a (patch)
treefcc75cd56bc7b134500a0bab5b7f093d07d92f32 /sd
parentd09888b835825085319d7b6855c3d5509539f42f (diff)
tdf#104841 sd PDF export: handle linked videos
Use the screen annotation markup for this purpose. Change-Id: I129111cbe08c19c2f3b3ae046408ff9b2a28520c Reviewed-on: https://gerrit.libreoffice.org/32654 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/unoidl/unomodel.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index 0da6543f542e..cb269d6e6758 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -1652,6 +1652,18 @@ void ImplPDFExportShapeInteraction( const uno::Reference< drawing::XShape >& xSh
awt::Size aShapeSize( xShape->getSize() );
Rectangle aLinkRect( Point( aShapePos.X, aShapePos.Y ), Size( aShapeSize.Width, aShapeSize.Height ) );
+ // Handle linked videos.
+ if (xShape->getShapeType() == "com.sun.star.drawing.MediaShape")
+ {
+ OUString aMediaURL;
+ xShapePropSet->getPropertyValue("MediaURL") >>= aMediaURL;
+ if (!aMediaURL.isEmpty())
+ {
+ sal_Int32 nScreenId = rPDFExtOutDevData.CreateScreen(aLinkRect);
+ rPDFExtOutDevData.SetScreenURL(nScreenId, aMediaURL);
+ }
+ }
+
presentation::ClickAction eCa;
uno::Any aAny( xShapePropSet->getPropertyValue( "OnClick" ) );
if ( aAny >>= eCa )