Kaydet (Commit) 8559353a authored tarafından Chris Sherlock's avatar Chris Sherlock Kaydeden (comit) Tomaž Vajngerl

vcl: introduce BitmapSharpenFilter

Change-Id: Ib503efa3634b3a000261d2398d04f779079bfe3f
Reviewed-on: https://gerrit.libreoffice.org/53129Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
üst 57faa865
...@@ -20,6 +20,11 @@ class BitmapEx; ...@@ -20,6 +20,11 @@ class BitmapEx;
class VCL_DLLPUBLIC BitmapConvolutionMatrixFilter : public BitmapFilter class VCL_DLLPUBLIC BitmapConvolutionMatrixFilter : public BitmapFilter
{ {
public: public:
BitmapConvolutionMatrixFilter()
: mpMatrix(nullptr)
{
}
BitmapConvolutionMatrixFilter(const long* pMatrix) BitmapConvolutionMatrixFilter(const long* pMatrix)
: mpMatrix(pMatrix) : mpMatrix(pMatrix)
{ {
...@@ -29,7 +34,7 @@ public: ...@@ -29,7 +34,7 @@ public:
virtual BitmapEx execute(BitmapEx const& rBitmapEx) override; virtual BitmapEx execute(BitmapEx const& rBitmapEx) override;
private: protected:
const long* mpMatrix; const long* mpMatrix;
}; };
......
/* -*- 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_VCL_BITMAPSHARPENFILTER_HXX
#define INCLUDED_VCL_BITMAPSHARPENFILTER_HXX
#include <vcl/BitmapConvolutionMatrixFilter.hxx>
class VCL_DLLPUBLIC BitmapSharpenFilter : public BitmapConvolutionMatrixFilter
{
public:
BitmapSharpenFilter()
{
const long pSharpenMatrix[] = { -1, -1, -1, -1, 16, -1, -1, -1, -1 };
mpMatrix = &pSharpenMatrix[0];
}
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include <vcl/bitmapaccess.hxx> #include <vcl/bitmapaccess.hxx>
#include <vcl/bitmap.hxx> #include <vcl/bitmap.hxx>
#include <vcl/BitmapSmoothenFilter.hxx> #include <vcl/BitmapSmoothenFilter.hxx>
#include <vcl/BitmapConvolutionMatrixFilter.hxx> #include <vcl/BitmapSharpenFilter.hxx>
#include <bitmapwriteaccess.hxx> #include <bitmapwriteaccess.hxx>
...@@ -60,9 +60,8 @@ bool Bitmap::Filter( BmpFilter eFilter, const BmpFilterParam* pFilterParam ) ...@@ -60,9 +60,8 @@ bool Bitmap::Filter( BmpFilter eFilter, const BmpFilterParam* pFilterParam )
case BmpFilter::Sharpen: case BmpFilter::Sharpen:
{ {
const long pSharpenMatrix[] = { -1, -1, -1, -1, 16, -1, -1, -1, -1 };
BitmapEx aBmpEx(*this); BitmapEx aBmpEx(*this);
bRet = BitmapFilter::Filter(aBmpEx, BitmapConvolutionMatrixFilter(&pSharpenMatrix[0])); bRet = BitmapFilter::Filter(aBmpEx, BitmapSharpenFilter());
*this = aBmpEx.GetBitmap(); *this = aBmpEx.GetBitmap();
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment