/* * * 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; } }