[Libreoffice-commits] core.git: include/vcl vcl/Library_vcl.mk vcl/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 24 11:37:49 UTC 2020


 include/vcl/BitmapMonochromeMatrixFilter.hxx       |   28 ----
 include/vcl/bitmap.hxx                             |    4 
 vcl/Library_vcl.mk                                 |    1 
 vcl/source/bitmap/BitmapMonochromeMatrixFilter.cxx |  142 ---------------------
 vcl/source/gdi/bitmap3.cxx                         |   87 ------------
 5 files changed, 262 deletions(-)

New commits:
commit e3cc7b94b13d6cc4e044cfd688e0fcc9dca63987
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Fri Apr 24 11:30:57 2020 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Apr 24 13:37:12 2020 +0200

    loplugin:unusedenumconstants BmpConversion
    
    Change-Id: Ib1c36a35ffa6af535b5265f753e9b7a6bfb590a6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92841
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/include/vcl/BitmapMonochromeMatrixFilter.hxx b/include/vcl/BitmapMonochromeMatrixFilter.hxx
deleted file mode 100644
index 58d1d917f65d..000000000000
--- a/include/vcl/BitmapMonochromeMatrixFilter.hxx
+++ /dev/null
@@ -1,28 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- */
-
-#ifndef INCLUDED_INCLUDE_VCL_BITMAPMONOCHROMEMATRIXFILTER_HXX
-#define INCLUDED_INCLUDE_VCL_BITMAPMONOCHROMEMATRIXFILTER_HXX
-
-#include <vcl/BitmapFilter.hxx>
-
-class VCL_DLLPUBLIC BitmapMonochromeMatrixFilter final : public BitmapFilter
-{
-public:
-    /** Convert to monochrome (1-bit) bitmap using dithering
-     */
-    BitmapMonochromeMatrixFilter() {}
-
-    virtual BitmapEx execute(BitmapEx const& rBitmapEx) const override;
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/vcl/bitmap.hxx b/include/vcl/bitmap.hxx
index 1df24105e8bd..742e7a3a56f8 100644
--- a/include/vcl/bitmap.hxx
+++ b/include/vcl/bitmap.hxx
@@ -66,7 +66,6 @@ enum class BmpConversion
 {
     NNONE,
     N1BitThreshold,
-    N1BitMatrix, // aka Dithered, used in export to bitmap
     N4BitGreys,
     N4BitColors,
     N8BitGreys,
@@ -74,7 +73,6 @@ enum class BmpConversion
     N24Bit,
     N32Bit,
     N8BitTrans,
-    Ghosted,
     N8BitNoConversion // make 8bit without color conversion (e.g. take the red channel)
 };
 
@@ -537,8 +535,6 @@ private:
     SAL_DLLPRIVATE bool ImplConvertUp(sal_uInt16 nBitCount, Color const* pExtColor = nullptr);
     SAL_DLLPRIVATE bool ImplConvertDown(sal_uInt16 nBitCount, Color const* pExtColor = nullptr);
 
-    SAL_DLLPRIVATE bool ImplConvertGhosted();
-
 private:
     std::shared_ptr<SalBitmap> mxSalBmp;
     MapMode maPrefMapMode;
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index fe3afd7de9a4..cb59e378fb89 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -332,7 +332,6 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
     vcl/source/bitmap/bitmapfilter \
     vcl/source/bitmap/BitmapAlphaClampFilter \
     vcl/source/bitmap/BitmapMonochromeFilter \
-    vcl/source/bitmap/BitmapMonochromeMatrixFilter \
     vcl/source/bitmap/BitmapSmoothenFilter \
     vcl/source/bitmap/BitmapLightenFilter \
     vcl/source/bitmap/BitmapDisabledImageFilter \
diff --git a/vcl/source/bitmap/BitmapMonochromeMatrixFilter.cxx b/vcl/source/bitmap/BitmapMonochromeMatrixFilter.cxx
deleted file mode 100644
index 12e72ad1c710..000000000000
--- a/vcl/source/bitmap/BitmapMonochromeMatrixFilter.cxx
+++ /dev/null
@@ -1,142 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- */
-
-#include <vcl/bitmap.hxx>
-#include <vcl/bitmapex.hxx>
-#include <vcl/BitmapMonochromeMatrixFilter.hxx>
-#include <vcl/bitmapaccess.hxx>
-
-#include <bitmapwriteaccess.hxx>
-
-static void ImplCreateDitherMatrix(sal_uInt8 (*pDitherMatrix)[16][16])
-{
-    const double fVal = 3.125;
-    const double fVal16 = fVal / 16.;
-    const double fValScale = 254.;
-    sal_uInt16 pMtx[16][16];
-    sal_uInt16 nMax = 0;
-    static const sal_uInt8 pMagic[4][4] = { {
-                                                0,
-                                                14,
-                                                3,
-                                                13,
-                                            },
-                                            {
-                                                11,
-                                                5,
-                                                8,
-                                                6,
-                                            },
-                                            {
-                                                12,
-                                                2,
-                                                15,
-                                                1,
-                                            },
-                                            { 7, 9, 4, 10 } };
-
-    // Build MagicSquare
-    for (long i = 0; i < 4; i++)
-        for (long j = 0; j < 4; j++)
-            for (long k = 0; k < 4; k++)
-                for (long l = 0; l < 4; l++)
-                {
-                    pMtx[(k << 2) + i][(l << 2) + j] = static_cast<sal_uInt16>(
-                        0.5 + pMagic[i][j] * fVal + pMagic[k][l] * fVal16);
-                    nMax = std::max(pMtx[(k << 2) + i][(l << 2) + j], nMax);
-                }
-
-    // Scale to interval [0;254]
-    double tmp = fValScale / nMax;
-    for (long i = 0; i < 16; i++)
-        for (long j = 0; j < 16; j++)
-            (*pDitherMatrix)[i][j] = static_cast<sal_uInt8>(tmp * pMtx[i][j]);
-}
-
-BitmapEx BitmapMonochromeMatrixFilter::execute(BitmapEx const& aBitmapEx) const
-{
-    Bitmap aBitmap = aBitmapEx.GetBitmap();
-    Bitmap::ScopedReadAccess pReadAcc(aBitmap);
-    bool bRet = false;
-
-    if (pReadAcc)
-    {
-        Bitmap aNewBmp(aBitmap.GetSizePixel(), 1);
-        BitmapScopedWriteAccess pWriteAcc(aNewBmp);
-
-        if (pWriteAcc)
-        {
-            const BitmapColor aBlack(pWriteAcc->GetBestMatchingColor(COL_BLACK));
-            const BitmapColor aWhite(pWriteAcc->GetBestMatchingColor(COL_WHITE));
-            const long nWidth = pWriteAcc->Width();
-            const long nHeight = pWriteAcc->Height();
-            sal_uInt8 pDitherMatrix[16][16];
-
-            ImplCreateDitherMatrix(&pDitherMatrix);
-
-            if (pReadAcc->HasPalette())
-            {
-                for (long nY = 0; nY < nHeight; nY++)
-                {
-                    for (long nX = 0, nModY = nY % 16; nX < nWidth; nX++)
-                    {
-                        const sal_uInt8 cIndex = pReadAcc->GetPixelIndex(nY, nX);
-                        if (pReadAcc->GetPaletteColor(cIndex).GetLuminance()
-                            > pDitherMatrix[nModY][nX % 16])
-                        {
-                            pWriteAcc->SetPixel(nY, nX, aWhite);
-                        }
-                        else
-                            pWriteAcc->SetPixel(nY, nX, aBlack);
-                    }
-                }
-            }
-            else
-            {
-                for (long nY = 0; nY < nHeight; nY++)
-                {
-                    for (long nX = 0, nModY = nY % 16; nX < nWidth; nX++)
-                    {
-                        if (pReadAcc->GetPixel(nY, nX).GetLuminance()
-                            > pDitherMatrix[nModY][nX % 16])
-                        {
-                            pWriteAcc->SetPixel(nY, nX, aWhite);
-                        }
-                        else
-                            pWriteAcc->SetPixel(nY, nX, aBlack);
-                    }
-                }
-            }
-
-            pWriteAcc.reset();
-            bRet = true;
-        }
-
-        pReadAcc.reset();
-
-        if (bRet)
-        {
-            const MapMode aMap(aBitmap.GetPrefMapMode());
-            const Size aSize(aBitmap.GetPrefSize());
-
-            aBitmap = aNewBmp;
-
-            aBitmap.SetPrefMapMode(aMap);
-            aBitmap.SetPrefSize(aSize);
-        }
-    }
-
-    if (bRet)
-        return BitmapEx(aBitmap);
-
-    return BitmapEx();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index c400008e60b4..b2976039f86d 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -30,7 +30,6 @@
 #include <vcl/opengl/OpenGLHelper.hxx>
 #endif
 #include <vcl/BitmapMonochromeFilter.hxx>
-#include <vcl/BitmapMonochromeMatrixFilter.hxx>
 
 #include <BitmapScaleSuperFilter.hxx>
 #include <BitmapScaleConvolutionFilter.hxx>
@@ -266,14 +265,6 @@ bool Bitmap::Convert( BmpConversion eConversion )
         }
         break;
 
-        case BmpConversion::N1BitMatrix:
-        {
-            BitmapEx aBmpEx(*this);
-            bRet = BitmapFilter::Filter(aBmpEx, BitmapMonochromeMatrixFilter());
-            *this = aBmpEx.GetBitmap();
-        }
-        break;
-
         case BmpConversion::N4BitGreys:
             bRet = ImplMakeGreyscales( 16 );
         break;
@@ -334,10 +325,6 @@ bool Bitmap::Convert( BmpConversion eConversion )
         }
         break;
 
-        case BmpConversion::Ghosted:
-            bRet = ImplConvertGhosted();
-        break;
-
         default:
             OSL_FAIL( "Bitmap::Convert(): Unsupported conversion" );
         break;
@@ -680,80 +667,6 @@ bool Bitmap::ImplConvertDown(sal_uInt16 nBitCount, Color const * pExtColor)
     return bRet;
 }
 
-bool Bitmap::ImplConvertGhosted()
-{
-    Bitmap aNewBmp;
-    ScopedReadAccess pR(*this);
-    bool bRet = false;
-
-    if( pR )
-    {
-        if( pR->HasPalette() )
-        {
-            BitmapPalette aNewPal( pR->GetPaletteEntryCount() );
-
-            for( long i = 0, nCount = aNewPal.GetEntryCount(); i < nCount; i++ )
-            {
-                const BitmapColor& rOld = pR->GetPaletteColor( static_cast<sal_uInt16>(i) );
-                aNewPal[ static_cast<sal_uInt16>(i) ] = BitmapColor( ( rOld.GetRed() >> 1 ) | 0x80,
-                                                     ( rOld.GetGreen() >> 1 ) | 0x80,
-                                                     ( rOld.GetBlue() >> 1 ) | 0x80 );
-            }
-
-            aNewBmp = Bitmap( GetSizePixel(), GetBitCount(), &aNewPal );
-            BitmapScopedWriteAccess pW(aNewBmp);
-
-            if( pW )
-            {
-                pW->CopyBuffer( *pR );
-                bRet = true;
-            }
-        }
-        else
-        {
-            aNewBmp = Bitmap( GetSizePixel(), 24 );
-
-            BitmapScopedWriteAccess pW(aNewBmp);
-
-            if( pW )
-            {
-                const long nWidth = pR->Width(), nHeight = pR->Height();
-
-                for( long nY = 0; nY < nHeight; nY++ )
-                {
-                    Scanline pScanline = pW->GetScanline(nY);
-                    Scanline pScanlineRead = pR->GetScanline(nY);
-                    for( long nX = 0; nX < nWidth; nX++ )
-                    {
-                        const BitmapColor aOld( pR->GetPixelFromData( pScanlineRead, nX ) );
-                        pW->SetPixelOnData( pScanline, nX, BitmapColor( ( aOld.GetRed() >> 1 ) | 0x80,
-                                                                        ( aOld.GetGreen() >> 1 ) | 0x80,
-                                                                        ( aOld.GetBlue() >> 1 ) | 0x80 ) );
-
-                    }
-                }
-
-                bRet = true;
-            }
-        }
-
-        pR.reset();
-    }
-
-    if( bRet )
-    {
-        const MapMode aMap( maPrefMapMode );
-        const Size aSize( maPrefSize );
-
-        *this = aNewBmp;
-
-        maPrefMapMode = aMap;
-        maPrefSize = aSize;
-    }
-
-    return bRet;
-}
-
 bool Bitmap::Scale( const double& rScaleX, const double& rScaleY, BmpScaleFlag nScaleFlag )
 {
     if(basegfx::fTools::equalZero(rScaleX) || basegfx::fTools::equalZero(rScaleY))


More information about the Libreoffice-commits mailing list