[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - vcl/ios

Tor Lillqvist (via logerrit) logerrit at kemper.freedesktop.org
Fri Sep 20 12:14:52 UTC 2019


 vcl/ios/DataFlavorMapping.cxx |  127 ------------------------------------------
 1 file changed, 1 insertion(+), 126 deletions(-)

New commits:
commit eae01c626cd6a9ae2ef5898e2dc9a6354479215b
Author:     Tor Lillqvist <tml at collabora.com>
AuthorDate: Tue May 28 22:10:06 2019 +0300
Commit:     Tor Lillqvist <tml at collabora.com>
CommitDate: Fri Sep 20 14:13:54 2019 +0200

    tdf#124752: Simplify the iOS DataFlavorMapping thing a lot
    
    Now it works to copy and paste images (PNG ones at least) between the
    iOS Collabora Office app and other apps.
    
    We don't seem to need the PNGDataProvider after all, as we use it only
    for data that is already in PNG format. Possibly I am missing
    somethin, though.
    
    Change-Id: Ia6bcc8aefbe1a6687f13e28454b96658fc66c856
    (cherry picked from commit 313984a59af43b00cc58c9e13ef9bf3aeccca30f)
    Reviewed-on: https://gerrit.libreoffice.org/79232
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>

diff --git a/vcl/ios/DataFlavorMapping.cxx b/vcl/ios/DataFlavorMapping.cxx
index c42677f70b6b..e90a8f9b245c 100644
--- a/vcl/ios/DataFlavorMapping.cxx
+++ b/vcl/ios/DataFlavorMapping.cxx
@@ -46,65 +46,6 @@ using namespace cppu;
 
 namespace
 {
-bool ImageToPNG(css::uno::Sequence<sal_Int8> const& rImgData,
-                css::uno::Sequence<sal_Int8>& rPngData)
-{
-#if 1
-    // Skip this complexity for now. Work in progress.
-    (void)rImgData;
-    (void)rPngData;
-    return false;
-#else
-    NSData* pData = [NSData dataWithBytesNoCopy:const_cast<sal_Int8*>(rImgData.getConstArray())
-                                         length:rImgData.getLength()
-                                   freeWhenDone:0];
-    if (!pData)
-        return false;
-
-    NSBitmapImageRep* pRep = [NSBitmapImageRep imageRepWithData:pData];
-    if (!pRep)
-        return false;
-
-    NSData* pOut = [pRep representationUsingType:NSPNGFileType properties:@{}];
-    if (!pOut)
-        return false;
-
-    const size_t nPngSize = [pOut length];
-    rPngData.realloc(nPngSize);
-    [pOut getBytes:rPngData.getArray() length:nPngSize];
-    return (nPngSize > 0);
-#endif
-}
-
-bool PNGToImage(css::uno::Sequence<sal_Int8> const& rPngData,
-                css::uno::Sequence<sal_Int8>& rImgData)
-{
-#if 1
-    (void)rPngData;
-    (void)rImgData;
-    return false;
-#else
-    NSData* pData = [NSData dataWithBytesNoCopy:const_cast<sal_Int8*>(rPngData.getConstArray())
-                                         length:rPngData.getLength()
-                                   freeWhenDone:0];
-    if (!pData)
-        return false;
-
-    NSBitmapImageRep* pRep = [NSBitmapImageRep imageRepWithData:pData];
-    if (!pRep)
-        return false;
-
-    NSData* pOut = [pRep representationUsingType:eOutFormat properties:@{}];
-    if (!pOut)
-        return false;
-
-    const size_t nImgSize = [pOut length];
-    rImgData.realloc(nImgSize);
-    [pOut getBytes:rImgData.getArray() length:nImgSize];
-    return (nImgSize > 0);
-#endif
-}
-
 /* Determine whether or not a DataFlavor is valid.
    */
 bool isValidFlavor(const DataFlavor& aFlavor)
@@ -396,61 +337,6 @@ Any HTMLFormatDataProvider::getOOoData()
     return oOOData;
 }
 
-class PNGDataProvider : public DataProviderBaseImpl
-{
-public:
-    PNGDataProvider(const Any&);
-    PNGDataProvider(NSData*);
-
-    NSData* getSystemData() override;
-    Any getOOoData() override;
-};
-
-PNGDataProvider::PNGDataProvider(const Any& data)
-    : DataProviderBaseImpl(data)
-{
-}
-
-PNGDataProvider::PNGDataProvider(NSData* data)
-    : DataProviderBaseImpl(data)
-{
-}
-
-NSData* PNGDataProvider::getSystemData()
-{
-    Sequence<sal_Int8> pngData;
-    mData >>= pngData;
-
-    Sequence<sal_Int8> imgData;
-    NSData* sysData = nullptr;
-    if (PNGToImage(pngData, imgData))
-        sysData = [NSData dataWithBytes:imgData.getArray() length:imgData.getLength()];
-
-    return sysData;
-}
-
-Any PNGDataProvider::getOOoData()
-{
-    Any oOOData;
-
-    if (mSystemData)
-    {
-        const unsigned int flavorDataLength = [mSystemData length];
-        Sequence<sal_Int8> imgData(flavorDataLength);
-        memcpy(imgData.getArray(), [mSystemData bytes], flavorDataLength);
-
-        Sequence<sal_Int8> pngData;
-        if (ImageToPNG(imgData, pngData))
-            oOOData <<= pngData;
-    }
-    else
-    {
-        oOOData = mData;
-    }
-
-    return oOOData;
-}
-
 DataFlavorMapper::DataFlavorMapper()
 {
     Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
@@ -564,14 +450,7 @@ DataFlavorMapper::getDataProvider(const NSString* systemFlavor,
 
         if (isByteSequenceType(data.getValueType()))
         {
-            if ([systemFlavor caseInsensitiveCompare:PBTYPE_PNG] == NSOrderedSame)
-            {
-                dp = DataProviderPtr_t(new PNGDataProvider(data));
-            }
-            else
-            {
-                dp = DataProviderPtr_t(new ByteSequenceDataProvider(data));
-            }
+            dp = DataProviderPtr_t(new ByteSequenceDataProvider(data));
         }
         else // Must be OUString type
         {
@@ -601,10 +480,6 @@ DataProviderPtr_t DataFlavorMapper::getDataProvider(const NSString* systemFlavor
     {
         dp = DataProviderPtr_t(new HTMLFormatDataProvider(systemData));
     }
-    else if ([systemFlavor caseInsensitiveCompare:PBTYPE_PNG] == NSOrderedSame)
-    {
-        dp = DataProviderPtr_t(new PNGDataProvider(systemData));
-    }
     else
     {
         dp = DataProviderPtr_t(new ByteSequenceDataProvider(systemData));


More information about the Libreoffice-commits mailing list