vcl: consolidate ColorOf() and GrayOf() functions

Change-Id: Ic80dda409ceaff89be5f249cf906abbb40679f3c
Reviewed-on: https://gerrit.libreoffice.org/50272
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/vcl/unx/generic/print/genpspgraphics.cxx b/vcl/unx/generic/print/genpspgraphics.cxx
index 3f9b122..e0556e2 100644
--- a/vcl/unx/generic/print/genpspgraphics.cxx
+++ b/vcl/unx/generic/print/genpspgraphics.cxx
@@ -69,18 +69,15 @@ private:
    Scanline            mpScanAccess;
    sal_PtrDiff         mnScanOffset;

    sal_uInt32          ColorOf (BitmapColor const & rColor) const;
    sal_uInt8           GrayOf  (BitmapColor const & rColor) const;
public:
    explicit            SalPrinterBmp (BitmapBuffer* pBitmap);

    public:

        explicit        SalPrinterBmp (BitmapBuffer* pBitmap);
        virtual sal_uInt32  GetPaletteColor (sal_uInt32 nIdx) const override;
        virtual sal_uInt32  GetPaletteEntryCount () const override;
        virtual sal_uInt32  GetPixelRGB  (sal_uInt32 nRow, sal_uInt32 nColumn) const override;
        virtual sal_uInt8   GetPixelGray (sal_uInt32 nRow, sal_uInt32 nColumn) const override;
        virtual sal_uInt8   GetPixelIdx  (sal_uInt32 nRow, sal_uInt32 nColumn) const override;
        virtual sal_uInt32  GetDepth () const override;
    virtual sal_uInt32  GetPaletteColor (sal_uInt32 nIdx) const override;
    virtual sal_uInt32  GetPaletteEntryCount () const override;
    virtual sal_uInt32  GetPixelRGB  (sal_uInt32 nRow, sal_uInt32 nColumn) const override;
    virtual sal_uInt8   GetPixelGray (sal_uInt32 nRow, sal_uInt32 nColumn) const override;
    virtual sal_uInt8   GetPixelIdx  (sal_uInt32 nRow, sal_uInt32 nColumn) const override;
    virtual sal_uInt32  GetDepth () const override;
};

SalPrinterBmp::SalPrinterBmp (BitmapBuffer* pBuffer)
@@ -174,37 +171,19 @@ SalPrinterBmp::GetDepth () const
}

sal_uInt32
SalPrinterBmp::ColorOf (BitmapColor const & rColor) const
{
    if (rColor.IsIndex())
        return ColorOf (mpBmpBuffer->maPalette[rColor.GetIndex()]);
    else
        return    ((rColor.GetBlue())        & 0x000000ff)
                | ((rColor.GetGreen() <<  8) & 0x0000ff00)
                | ((rColor.GetRed()   << 16) & 0x00ff0000);
}

sal_uInt8
SalPrinterBmp::GrayOf (BitmapColor const & rColor) const
{
    if (rColor.IsIndex())
        return GrayOf (mpBmpBuffer->maPalette[rColor.GetIndex()]);
    else
        return (  rColor.GetBlue()  *  28UL
                + rColor.GetGreen() * 151UL
                + rColor.GetRed()   *  77UL ) >> 8;
}

sal_uInt32
SalPrinterBmp::GetPaletteEntryCount () const
{
    return mpBmpBuffer->maPalette.GetEntryCount ();
}

sal_uInt32
SalPrinterBmp::GetPaletteColor (sal_uInt32 nIdx) const
SalPrinterBmp::GetPaletteColor(sal_uInt32 nIdx) const
{
    return ColorOf (mpBmpBuffer->maPalette[nIdx]);
    BitmapColor aColor(mpBmpBuffer->maPalette[nIdx]);

    return ((aColor.GetBlue())        & 0x000000ff)
         | ((aColor.GetGreen() <<  8) & 0x0000ff00)
         | ((aColor.GetRed()   << 16) & 0x00ff0000);
}

sal_uInt32
@@ -213,7 +192,12 @@ SalPrinterBmp::GetPixelRGB (sal_uInt32 nRow, sal_uInt32 nColumn) const
    Scanline pScan = mpScanAccess + nRow * mnScanOffset;
    BitmapColor aColor = mpFncGetPixel (pScan, nColumn, mpBmpBuffer->maColorMask);

    return ColorOf (aColor);
    if (aColor.IsIndex())
        GetPaletteColor(aColor.GetIndex());

    return ((aColor.GetBlue())        & 0x000000ff)
         | ((aColor.GetGreen() <<  8) & 0x0000ff00)
         | ((aColor.GetRed()   << 16) & 0x00ff0000);
}

sal_uInt8
@@ -222,7 +206,13 @@ SalPrinterBmp::GetPixelGray (sal_uInt32 nRow, sal_uInt32 nColumn) const
    Scanline pScan = mpScanAccess + nRow * mnScanOffset;
    BitmapColor aColor = mpFncGetPixel (pScan, nColumn, mpBmpBuffer->maColorMask);

    return GrayOf (aColor);
    if (aColor.IsIndex())
        aColor = mpBmpBuffer->maPalette[aColor.GetIndex()];

    return (  aColor.GetBlue()  *  28UL
            + aColor.GetGreen() * 151UL
            + aColor.GetRed()   *  77UL ) >> 8;

}

sal_uInt8