⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svgfeconvolvematrix.cpp

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 CPP
字号:
/*    Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>                  2004, 2005 Rob Buis <buis@kde.org>                  2005 Eric Seidel <eric@webkit.org>    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Library General Public    License as published by the Free Software Foundation; either    version 2 of the License, or (at your option) any later version.    This library is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    Library General Public License for more details.    You should have received a copy of the GNU Library General Public License    aint with this library; see the file COPYING.LIB.  If not, write to    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,    Boston, MA 02110-1301, USA.*/#include "config.h"#if ENABLE(SVG) && ENABLE(SVG_FILTERS)#include "SVGFEConvolveMatrix.h"#include "SVGRenderTreeAsText.h"namespace WebCore {FEConvolveMatrix::FEConvolveMatrix(FilterEffect* in, FilterEffect* in2, const FloatSize& kernelSize,     const float& divisor, const float& bias, const FloatSize& targetOffset, EdgeModeType edgeMode,    const FloatPoint& kernelUnitLength, bool preserveAlpha, const Vector<float>& kernelMatrix)    : FilterEffect()    , m_in(in)    , m_in2(in2)    , m_kernelSize(kernelSize)    , m_divisor(divisor)    , m_bias(bias)    , m_targetOffset(targetOffset)    , m_edgeMode(edgeMode)    , m_kernelUnitLength(kernelUnitLength)    , m_preserveAlpha(preserveAlpha)    , m_kernelMatrix(kernelMatrix){}PassRefPtr<FEConvolveMatrix> FEConvolveMatrix::create(FilterEffect* in, FilterEffect* in2, const FloatSize& kernelSize,     const float& divisor, const float& bias, const FloatSize& targetOffset, EdgeModeType edgeMode,     const FloatPoint& kernelUnitLength, bool preserveAlpha, const Vector<float>& kernelMatrix){    return adoptRef(new FEConvolveMatrix(in, in2, kernelSize, divisor, bias, targetOffset, edgeMode, kernelUnitLength,        preserveAlpha, kernelMatrix));}FloatSize FEConvolveMatrix::kernelSize() const{    return m_kernelSize;}void FEConvolveMatrix::setKernelSize(FloatSize kernelSize){    m_kernelSize = kernelSize; }const Vector<float>& FEConvolveMatrix::kernel() const{    return m_kernelMatrix; }void FEConvolveMatrix::setKernel(const Vector<float>& kernel){    m_kernelMatrix = kernel; }float FEConvolveMatrix::divisor() const{    return m_divisor; }void FEConvolveMatrix::setDivisor(float divisor){    m_divisor = divisor; }float FEConvolveMatrix::bias() const{    return m_bias; }void FEConvolveMatrix::setBias(float bias){    m_bias = bias; }FloatSize FEConvolveMatrix::targetOffset() const{    return m_targetOffset; }void FEConvolveMatrix::setTargetOffset(FloatSize targetOffset){    m_targetOffset = targetOffset; }EdgeModeType FEConvolveMatrix::edgeMode() const{    return m_edgeMode; }void FEConvolveMatrix::setEdgeMode(EdgeModeType edgeMode){    m_edgeMode = edgeMode; }FloatPoint FEConvolveMatrix::kernelUnitLength() const{    return m_kernelUnitLength; }void FEConvolveMatrix::setKernelUnitLength(FloatPoint kernelUnitLength){    m_kernelUnitLength = kernelUnitLength; }bool FEConvolveMatrix::preserveAlpha() const{    return m_preserveAlpha; }void FEConvolveMatrix::setPreserveAlpha(bool preserveAlpha){    m_preserveAlpha = preserveAlpha; }void FEConvolveMatrix::apply(){}void FEConvolveMatrix::dump(){}static TextStream& operator<<(TextStream& ts, EdgeModeType t){    switch (t)    {        case EDGEMODE_UNKNOWN:            ts << "UNKNOWN";break;        case EDGEMODE_DUPLICATE:            ts << "DUPLICATE";break;        case EDGEMODE_WRAP:            ts << "WRAP"; break;        case EDGEMODE_NONE:            ts << "NONE"; break;    }    return ts;}TextStream& FEConvolveMatrix::externalRepresentation(TextStream& ts) const{    ts << "[type=CONVOLVE-MATRIX] ";    FilterEffect::externalRepresentation(ts);    ts << " [order " << m_kernelSize << "]"       << " [kernel matrix=" << m_kernelMatrix  << "]"       << " [divisor=" << m_divisor << "]"       << " [bias=" << m_bias << "]"       << " [target " << m_targetOffset << "]"       << " [edge mode=" << m_edgeMode << "]"       << " [kernel unit length " << m_kernelUnitLength << "]"       << " [preserve alpha=" << m_preserveAlpha << "]";    return ts;}}; // namespace WebCore#endif // ENABLE(SVG) && ENABLE(SVG_FILTERS)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -