001 /* 002 * ImageEffect.java 003 * 004 * Created on March 23, 2006, 4:12 PM 005 * 006 * To change this template, choose Tools | Template Manager 007 * and open the template in the editor. 008 */ 009 010 package org.jdesktop.swingx.painter; 011 012 import java.awt.image.BufferedImage; 013 import java.awt.image.BufferedImageOp; 014 import org.jdesktop.swingx.JavaBean; 015 016 /** 017 * 018 * @author Richard 019 */ 020 public class ImageEffect extends JavaBean implements Effect { 021 private BufferedImageOp op; 022 023 /** 024 * Creates a new instance of ImageEffect 025 */ 026 public ImageEffect() { 027 } 028 029 public ImageEffect(BufferedImageOp op) { 030 this.op = op; 031 } 032 033 public void setOperation(BufferedImageOp op) { 034 BufferedImageOp old = getOperation(); 035 this.op = op; 036 firePropertyChange("operation", old, getOperation()); 037 } 038 039 public BufferedImageOp getOperation() { 040 return op; 041 } 042 043 public BufferedImage apply(BufferedImage image) { 044 if (op != null) { 045 image = op.filter(image, null); 046 } 047 return image; 048 } 049 050 }