vcl/inc/filter/MetReader.hxx                      |    5 +++--
 vcl/inc/filter/PcxReader.hxx                      |    5 +++--
 vcl/qa/cppunit/graphicfilter/filters-met-test.cxx |    6 +++---
 vcl/qa/cppunit/graphicfilter/filters-pcx-test.cxx |    6 +++---
 vcl/source/filter/graphicfilter.cxx               |   10 ++++++++--
 vcl/source/filter/imet/ios2met.cxx                |   16 ++++++++--------
 vcl/source/filter/ipcx/ipcx.cxx                   |   12 ++++++------
 vcl/workben/fftester.cxx                          |    8 ++++----
 vcl/workben/metfuzzer.cxx                         |    4 ++--
 vcl/workben/pcxfuzzer.cxx                         |    4 ++--
 10 files changed, 42 insertions(+), 34 deletions(-)

New commits:
commit f4ed5e6f627c31bfd675a2a8fe642aa1c9251d5f
Author:     Tomaž Vajngerl <[email protected]>
AuthorDate: Fri May 9 14:13:57 2025 +0900
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Fri May 9 09:35:52 2025 +0200

    vcl: convert PCX to use ImportOutput
    
    Change-Id: I979091f0d7d6c6c5bf31209d3dc64606e230ba19
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185077
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <[email protected]>

diff --git a/vcl/inc/filter/PcxReader.hxx b/vcl/inc/filter/PcxReader.hxx
index 73e182c62895..4ecef879c07f 100644
--- a/vcl/inc/filter/PcxReader.hxx
+++ b/vcl/inc/filter/PcxReader.hxx
@@ -19,8 +19,9 @@
 
 #pragma once
 
-#include <vcl/graph.hxx>
+class SvStream;
+class ImportOutput;
 
-VCL_DLLPUBLIC bool ImportPcxGraphic(SvStream& rStream, Graphic& rGraphic);
+VCL_DLLPUBLIC bool ImportPcxGraphic(SvStream& rStream, ImportOutput& 
rImportOutput);
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/qa/cppunit/graphicfilter/filters-pcx-test.cxx 
b/vcl/qa/cppunit/graphicfilter/filters-pcx-test.cxx
index 5297631517da..901ba1839ed6 100644
--- a/vcl/qa/cppunit/graphicfilter/filters-pcx-test.cxx
+++ b/vcl/qa/cppunit/graphicfilter/filters-pcx-test.cxx
@@ -11,7 +11,7 @@
 #include <test/bootstrapfixture.hxx>
 #include <vcl/FilterConfigItem.hxx>
 #include <tools/stream.hxx>
-#include <vcl/graph.hxx>
+#include <vcl/filter/ImportOutput.hxx>
 #include <filter/PcxReader.hxx>
 
 using namespace css;
@@ -44,8 +44,8 @@ bool PcxFilterTest::load(const OUString &,
     SfxFilterFlags, SotClipboardFormatId, unsigned int)
 {
     SvFileStream aFileStream(rURL, StreamMode::READ);
-    Graphic aGraphic;
-    return ImportPcxGraphic(aFileStream, aGraphic);
+    ImportOutput aImportOutput;
+    return ImportPcxGraphic(aFileStream, aImportOutput);
 }
 
 void PcxFilterTest::testCVEs()
diff --git a/vcl/source/filter/graphicfilter.cxx 
b/vcl/source/filter/graphicfilter.cxx
index dde6a0ffa75f..3e512777198c 100644
--- a/vcl/source/filter/graphicfilter.cxx
+++ b/vcl/source/filter/graphicfilter.cxx
@@ -1234,8 +1234,12 @@ ErrCode GraphicFilter::readRAS(SvStream & rStream, 
Graphic & rGraphic)
 
 ErrCode GraphicFilter::readPCX(SvStream & rStream, Graphic & rGraphic)
 {
-    if (ImportPcxGraphic(rStream, rGraphic))
+    ImportOutput aImportOutput;
+    if (ImportPcxGraphic(rStream, aImportOutput))
+    {
+        rGraphic = Graphic(*aImportOutput.moBitmap);
         return ERRCODE_NONE;
+    }
     else
         return ERRCODE_GRFILTER_FILTERERROR;
 }
diff --git a/vcl/source/filter/ipcx/ipcx.cxx b/vcl/source/filter/ipcx/ipcx.cxx
index b1162d5ec409..202c134bac28 100644
--- a/vcl/source/filter/ipcx/ipcx.cxx
+++ b/vcl/source/filter/ipcx/ipcx.cxx
@@ -19,7 +19,7 @@
 
 
 #include <memory>
-#include <vcl/graph.hxx>
+#include <vcl/filter/ImportOutput.hxx>
 #include <vcl/BitmapTools.hxx>
 #include <tools/stream.hxx>
 #include <filter/PcxReader.hxx>
@@ -58,7 +58,7 @@ private:
 
 public:
     explicit PCXReader(SvStream &rStream);
-    bool                ReadPCX(Graphic & rGraphic );
+    bool                ReadPCX(ImportOutput& rImportOutput);
                         // Reads a PCX file from the stream and fills the 
GDIMetaFile
 };
 
@@ -83,7 +83,7 @@ PCXReader::PCXReader(SvStream &rStream)
 {
 }
 
-bool PCXReader::ReadPCX(Graphic & rGraphic)
+bool PCXReader::ReadPCX(ImportOutput& rImportOutput)
 {
     if ( m_rPCX.GetError() )
         return false;
@@ -143,7 +143,7 @@ bool PCXReader::ReadPCX(Graphic & rGraphic)
 
         if ( bStatus )
         {
-            rGraphic = vcl::bitmap::CreateFromData(std::move(*mpBitmap));
+            rImportOutput.moBitmap = 
vcl::bitmap::CreateFromData(std::move(*mpBitmap));
             return true;
         }
     }
@@ -399,10 +399,10 @@ void PCXReader::ImplReadPalette( unsigned int nCol )
 
 //================== GraphicImport - the exported function ================
 
-bool ImportPcxGraphic(SvStream & rStream, Graphic & rGraphic)
+bool ImportPcxGraphic(SvStream& rStream, ImportOutput& rImportOutput)
 {
     PCXReader aPCXReader(rStream);
-    bool bRetValue = aPCXReader.ReadPCX(rGraphic);
+    bool bRetValue = aPCXReader.ReadPCX(rImportOutput);
     if ( !bRetValue )
         rStream.SetError( SVSTREAM_FILEFORMAT_ERROR );
     return bRetValue;
diff --git a/vcl/workben/fftester.cxx b/vcl/workben/fftester.cxx
index 26ad84ca6e22..b78ea9ec9b60 100644
--- a/vcl/workben/fftester.cxx
+++ b/vcl/workben/fftester.cxx
@@ -226,9 +226,9 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
         }
         else if (strcmp(argv[2], "pcx") == 0)
         {
-            Graphic aGraphic;
+            ImportOutput aImportOutput;
             SvFileStream aFileStream(out, StreamMode::READ);
-            ret = static_cast<int>(ImportPcxGraphic(aFileStream, aGraphic));
+            ret = static_cast<int>(ImportPcxGraphic(aFileStream, 
aImportOutput));
         }
         else if (strcmp(argv[2], "ras") == 0)
         {
diff --git a/vcl/workben/pcxfuzzer.cxx b/vcl/workben/pcxfuzzer.cxx
index 2785cf4c4eec..83840b01d16a 100644
--- a/vcl/workben/pcxfuzzer.cxx
+++ b/vcl/workben/pcxfuzzer.cxx
@@ -49,8 +49,8 @@ extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv)
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
 {
     SvMemoryStream aStream(const_cast<uint8_t*>(data), size, StreamMode::READ);
-    Graphic aGraphic;
-    (void)ImportPcxGraphic(aStream, aGraphic);
+    ImportOutput aImportOutput;
+    (void)ImportPcxGraphic(aStream, aImportOutput);
     return 0;
 }
 
commit 1251d5314a0ab9e511585768132da67edf935a0a
Author:     Tomaž Vajngerl <[email protected]>
AuthorDate: Fri May 9 14:08:22 2025 +0900
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Fri May 9 09:35:40 2025 +0200

    vcl: convert MET to use ImportOutput
    
    Change-Id: I90296dd29afb46dd731db96c25928e22fa42712a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185076
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <[email protected]>

diff --git a/vcl/inc/filter/MetReader.hxx b/vcl/inc/filter/MetReader.hxx
index 6855cf7a3fc9..2fcfabad6761 100644
--- a/vcl/inc/filter/MetReader.hxx
+++ b/vcl/inc/filter/MetReader.hxx
@@ -19,8 +19,9 @@
 
 #pragma once
 
-#include <vcl/graph.hxx>
+class SvStream;
+class ImportOutput;
 
-VCL_DLLPUBLIC bool ImportMetGraphic(SvStream& rStream, Graphic& rGraphic);
+VCL_DLLPUBLIC bool ImportMetGraphic(SvStream& rStream, ImportOutput& 
rImportOutput);
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/qa/cppunit/graphicfilter/filters-met-test.cxx 
b/vcl/qa/cppunit/graphicfilter/filters-met-test.cxx
index ff00920ed326..f4336c659c64 100644
--- a/vcl/qa/cppunit/graphicfilter/filters-met-test.cxx
+++ b/vcl/qa/cppunit/graphicfilter/filters-met-test.cxx
@@ -11,7 +11,7 @@
 #include <test/bootstrapfixture.hxx>
 #include <vcl/FilterConfigItem.hxx>
 #include <tools/stream.hxx>
-#include <vcl/graph.hxx>
+#include <vcl/filter/ImportOutput.hxx>
 #include <filter/MetReader.hxx>
 
 using namespace css;
@@ -44,8 +44,8 @@ bool MetFilterTest::load(const OUString &,
     SfxFilterFlags, SotClipboardFormatId, unsigned int)
 {
     SvFileStream aFileStream(rURL, StreamMode::READ);
-    Graphic aGraphic;
-    return ImportMetGraphic(aFileStream, aGraphic);
+    ImportOutput aImportOutput;
+    return ImportMetGraphic(aFileStream, aImportOutput);
 }
 
 void MetFilterTest::testCVEs()
diff --git a/vcl/source/filter/graphicfilter.cxx 
b/vcl/source/filter/graphicfilter.cxx
index 3a8267b7fa29..dde6a0ffa75f 100644
--- a/vcl/source/filter/graphicfilter.cxx
+++ b/vcl/source/filter/graphicfilter.cxx
@@ -1213,8 +1213,10 @@ ErrCode GraphicFilter::readPICT(SvStream & rStream, 
Graphic & rGraphic, GfxLinkT
 
 ErrCode GraphicFilter::readMET(SvStream & rStream, Graphic & rGraphic, 
GfxLinkType & rLinkType)
 {
-    if (ImportMetGraphic(rStream, rGraphic))
+    ImportOutput aImportOutput;
+    if (ImportMetGraphic(rStream, aImportOutput))
     {
+        rGraphic = Graphic(*aImportOutput.moGDIMetaFile);
         rLinkType = GfxLinkType::NativeMet;
         return ERRCODE_NONE;
     }
diff --git a/vcl/source/filter/imet/ios2met.cxx 
b/vcl/source/filter/imet/ios2met.cxx
index d92174731b65..e0c53089348f 100644
--- a/vcl/source/filter/imet/ios2met.cxx
+++ b/vcl/source/filter/imet/ios2met.cxx
@@ -23,7 +23,7 @@
 #include <tools/fract.hxx>
 #include <tools/stream.hxx>
 #include <sal/log.hxx>
-#include <vcl/graph.hxx>
+#include <vcl/filter/ImportOutput.hxx>
 #include <vcl/dibtools.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/lineinfo.hxx>
@@ -2857,19 +2857,19 @@ void OS2METReader::ReadOS2MET( SvStream & 
rStreamOS2MET, GDIMetaFile & rGDIMetaF
 
 //================== GraphicImport - the exported function ================
 
-bool ImportMetGraphic(SvStream & rStream, Graphic & rGraphic)
+bool ImportMetGraphic(SvStream& rStream, ImportOutput& rImportOutput)
 {
-    OS2METReader    aOS2METReader;
-    GDIMetaFile     aMTF;
-    bool            bRet = false;
+    OS2METReader aOS2METReader;
+    GDIMetaFile aMTF;
+    bool bRet = false;
 
     try
     {
-        aOS2METReader.ReadOS2MET( rStream, aMTF );
+        aOS2METReader.ReadOS2MET(rStream, aMTF);
 
-        if ( !rStream.GetError() )
+        if (!rStream.GetError())
         {
-            rGraphic=Graphic( aMTF );
+            rImportOutput.moGDIMetaFile = aMTF;
             bRet = true;
         }
     }
diff --git a/vcl/workben/fftester.cxx b/vcl/workben/fftester.cxx
index faaf91f465a0..26ad84ca6e22 100644
--- a/vcl/workben/fftester.cxx
+++ b/vcl/workben/fftester.cxx
@@ -196,9 +196,9 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
         }
         else if (strcmp(argv[2], "met") == 0)
         {
-            Graphic aGraphic;
+            ImportOutput aImportOutput;
             SvFileStream aFileStream(out, StreamMode::READ);
-            ret = static_cast<int>(ImportMetGraphic(aFileStream, aGraphic));
+            ret = static_cast<int>(ImportMetGraphic(aFileStream, 
aImportOutput));
         }
         else if ((strcmp(argv[2], "pbm") == 0) || strcmp(argv[2], "ppm") == 0)
         {
diff --git a/vcl/workben/metfuzzer.cxx b/vcl/workben/metfuzzer.cxx
index 1d594d7b61f4..9a9d3cc8567e 100644
--- a/vcl/workben/metfuzzer.cxx
+++ b/vcl/workben/metfuzzer.cxx
@@ -62,8 +62,8 @@ extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv)
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
 {
     SvMemoryStream aStream(const_cast<uint8_t*>(data), size, StreamMode::READ);
-    Graphic aGraphic;
-    (void)ImportMetGraphic(aStream, aGraphic);
+    ImportOutput aImportOutput;
+    (void)ImportMetGraphic(aStream, aImportOutput);
     return 0;
 }
 

Reply via email to