blob: 130f25e1901bb7b81fa1e8e726d7912538bc4e08 [file] [log] [blame]
/*
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.flex.swf.types;
/**
* The Convolution filter is a two-dimensional discrete convolution. It is
* applied on each pixel of a display object.
* <p>
* The convolution is applied on each of the RGBA color components and then
* saturated, except when the PreserveAlpha flag is set; in this case, the alpha
* channel value is not modified.
* <p>
* The clamping flag specifies how pixels outside of the input pixel plane are
* handled. If set to false, the DefaultColor value is used, and otherwise, the
* pixel is clamped to the closest valid input pixel.
*/
public class ConvolutionFilter implements IDataType
{
private int matrixX;
private int matrixY;
private float divisor;
private float bias;
private float matrix[];
private RGBA defaultColor;
private boolean clamp;
private boolean preserveAlpha;
/**
* @return the matrixX
*/
public int getMatrixX()
{
return matrixX;
}
/**
* @param matrixX the matrixX to set
*/
public void setMatrixX(int matrixX)
{
this.matrixX = matrixX;
}
/**
* @return the matrixY
*/
public int getMatrixY()
{
return matrixY;
}
/**
* @param matrixY the matrixY to set
*/
public void setMatrixY(int matrixY)
{
this.matrixY = matrixY;
}
/**
* @return the divisor
*/
public float getDivisor()
{
return divisor;
}
/**
* @param divisor the divisor to set
*/
public void setDivisor(float divisor)
{
this.divisor = divisor;
}
/**
* @return the bias
*/
public float getBias()
{
return bias;
}
/**
* @param bias the bias to set
*/
public void setBias(float bias)
{
this.bias = bias;
}
/**
* @return the matrix
*/
public float[] getMatrix()
{
return matrix;
}
/**
* @param matrix the matrix to set
*/
public void setMatrix(float[] matrix)
{
this.matrix = matrix;
}
/**
* @return the defaultColor
*/
public RGBA getDefaultColor()
{
return defaultColor;
}
/**
* @param defaultColor the defaultColor to set
*/
public void setDefaultColor(RGBA defaultColor)
{
this.defaultColor = defaultColor;
}
/**
* @return the clamp
*/
public boolean isClamp()
{
return clamp;
}
/**
* @param clamp the clamp to set
*/
public void setClamp(boolean clamp)
{
this.clamp = clamp;
}
/**
* @return the preserveAlpha
*/
public boolean isPreserveAlpha()
{
return preserveAlpha;
}
/**
* @param preserveAlpha the preserveAlpha to set
*/
public void setPreserveAlpha(boolean preserveAlpha)
{
this.preserveAlpha = preserveAlpha;
}
}