Package com.lightcrafts.model.ImageEditor

Source Code of com.lightcrafts.model.ImageEditor.GaussianBlurOperation$GaussMask

/* Copyright (C) 2005-2011 Fabio Riccardi */

package com.lightcrafts.model.ImageEditor;

import com.lightcrafts.model.SliderConfig;
import com.lightcrafts.model.OperationType;
import com.lightcrafts.model.Operation;
import com.lightcrafts.jai.utils.Transform;
import com.lightcrafts.jai.utils.Functions;

import com.lightcrafts.mediax.jai.PlanarImage;
import java.text.DecimalFormat;

/**
* Created by IntelliJ IDEA.
* User: fabio
* Date: Apr 7, 2005
* Time: 7:41:47 AM
* To change this template use File | Settings | File Templates.
*/

public class GaussianBlurOperation extends BlendedOperation {
    private final double step = 0.1;

    public GaussianBlurOperation(Rendering rendering) {
        super(rendering, type);
        addSliderKey("Radius");

        DecimalFormat format = new DecimalFormat("0.0");

        setSliderConfig("Radius", new SliderConfig(0.1, 500, radius, step, true, format));
    }

    public boolean neutralDefault() {
        return false;
    }

    static final OperationType type = new OperationTypeImpl("Gaussian Blur");

    private double radius = 5.0;

    public void setSliderValue(String key, double value) {
        value = roundValue(key, value);

        if (key == "Radius" && radius != value) {
            radius = value;
        } else
            return;
       
        super.setSliderValue(key, value);
    }

    private class GaussMask extends BlendedTransform {
        Operation op;

        GaussMask(PlanarImage source, Operation op) {
            super(source);
            this.op = op;
        }

        public PlanarImage setFront() {
            return Functions.gaussianBlur(back, rendering, op, radius * scale);
        }
    }

    protected void updateOp(Transform op) {
        op.update();
    }

    protected BlendedTransform createBlendedOp(PlanarImage source) {
        return new GaussMask(source, this);
    }

    public OperationType getType() {
        return type;
    }
}
TOP

Related Classes of com.lightcrafts.model.ImageEditor.GaussianBlurOperation$GaussMask

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.