[Libreoffice-commits] core.git: include/vcl sd/source sw/source vcl/source
Miklos Vajna
vmiklos at collabora.co.uk
Wed Jan 4 08:16:13 UTC 2017
include/vcl/pdfextoutdevdata.hxx | 2 +-
sd/source/ui/unoidl/unomodel.cxx | 2 +-
sw/source/core/text/EnhancedPDFExportHelper.cxx | 7 +++++--
vcl/source/gdi/pdfextoutdevdata.cxx | 4 ++--
4 files changed, 9 insertions(+), 6 deletions(-)
New commits:
commit 0e71075bb7379af318482bb3abbb630c58db9ec9
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Tue Jan 3 15:41:58 2017 +0100
Related: tdf#104841 sw PDF export: handle linked videos on non-first pages
Be explicit about the page number, this way a video on the second page
doesn't end up as an annotation for the first page. (In the Impress case
each slide is exported separately, so there this wasn't a problem.)
Change-Id: I83ba9cb4a3b2a6734bd88a138654e391199651c6
Reviewed-on: https://gerrit.libreoffice.org/32696
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Jenkins <ci at libreoffice.org>
diff --git a/include/vcl/pdfextoutdevdata.hxx b/include/vcl/pdfextoutdevdata.hxx
index 1a0c941..e3a05d9 100644
--- a/include/vcl/pdfextoutdevdata.hxx
+++ b/include/vcl/pdfextoutdevdata.hxx
@@ -264,7 +264,7 @@ public:
sal_Int32 CreateLink( const Rectangle& rRect, sal_Int32 nPageNr = -1 );
/// Create a Screen annotation.
- sal_Int32 CreateScreen(const Rectangle& rRect);
+ sal_Int32 CreateScreen(const Rectangle& rRect, sal_Int32 nPageNr);
/** Set the destination for a link
<p>will change a URL type link to a dest link if necessary</p>
diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index cb269d6..073e70d 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -1659,7 +1659,7 @@ void ImplPDFExportShapeInteraction( const uno::Reference< drawing::XShape >& xSh
xShapePropSet->getPropertyValue("MediaURL") >>= aMediaURL;
if (!aMediaURL.isEmpty())
{
- sal_Int32 nScreenId = rPDFExtOutDevData.CreateScreen(aLinkRect);
+ sal_Int32 nScreenId = rPDFExtOutDevData.CreateScreen(aLinkRect, rPDFExtOutDevData.GetCurrentPageNumber());
rPDFExtOutDevData.SetScreenURL(nScreenId, aMediaURL);
}
}
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index b9d2181..85cc511 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -1831,8 +1831,11 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
{
const SwPageFrame* pCurrPage = mrSh.GetLayout()->GetPageAtPos(aSnapRect.Center());
Rectangle aPDFRect(SwRectToPDFRect(pCurrPage, aSnapRect.SVRect()));
- sal_Int32 nScreenId = pPDFExtOutDevData->CreateScreen(aPDFRect);
- pPDFExtOutDevData->SetScreenURL(nScreenId, aMediaURL);
+ for (sal_Int32 nScreenPageNum : aScreenPageNums)
+ {
+ sal_Int32 nScreenId = pPDFExtOutDevData->CreateScreen(aPDFRect, nScreenPageNum);
+ pPDFExtOutDevData->SetScreenURL(nScreenId, aMediaURL);
+ }
}
}
}
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx
index f85c981..0649b45 100644
--- a/vcl/source/gdi/pdfextoutdevdata.cxx
+++ b/vcl/source/gdi/pdfextoutdevdata.cxx
@@ -695,12 +695,12 @@ sal_Int32 PDFExtOutDevData::CreateLink( const Rectangle& rRect, sal_Int32 nPageN
return mpGlobalSyncData->mCurId++;
}
-sal_Int32 PDFExtOutDevData::CreateScreen(const Rectangle& rRect)
+sal_Int32 PDFExtOutDevData::CreateScreen(const Rectangle& rRect, sal_Int32 nPageNr)
{
mpGlobalSyncData->mActions.push_back(PDFExtOutDevDataSync::CreateScreen);
mpGlobalSyncData->mParaRects.push_back(rRect);
mpGlobalSyncData->mParaMapModes.push_back(mrOutDev.GetMapMode());
- mpGlobalSyncData->mParaInts.push_back(mnPage);
+ mpGlobalSyncData->mParaInts.push_back(nPageNr);
return mpGlobalSyncData->mCurId++;
}
More information about the Libreoffice-commits
mailing list