1 /* 2 * $RCSfile: MlibLogRIF.java,v $ 3 * 4 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved. 5 * 6 * Use is subject to license terms. 7 * 8 * $Revision: 1.1 $ 9 * $Date: 2005/02/11 04:55:58 $ 10 * $State: Exp $ 11 */ 12 package com.lightcrafts.media.jai.mlib; 13 import java.awt.RenderingHints; 14 import java.awt.image.RenderedImage; 15 import java.awt.image.renderable.ParameterBlock; 16 import java.awt.image.renderable.RenderedImageFactory; 17 import com.lightcrafts.mediax.jai.ImageLayout; 18 19 import com.lightcrafts.media.jai.opimage.RIFUtil; 20 21 /** 22 * A <code>RIF</code> supporting the "Log" operation in the 23 * rendered image mode using MediaLib. 24 * 25 * @see com.lightcrafts.mediax.jai.operator.LogDescriptor 26 * @see MlibLogOpImage 27 * 28 */ 29 public class MlibLogRIF implements RenderedImageFactory { 30 31 /** Constructor. */ MlibLogRIF()32 public MlibLogRIF() {} 33 34 /** 35 * Creates a new instance of <code>MlibLogOpImage</code> in 36 * the rendered image mode. 37 * 38 * @param args The source image. 39 * @param hints May contain rendering hints and destination image layout. 40 */ create(ParameterBlock args, RenderingHints hints)41 public RenderedImage create(ParameterBlock args, 42 RenderingHints hints) { 43 /* Get ImageLayout and TileCache from RenderingHints. */ 44 ImageLayout layout = RIFUtil.getImageLayoutHint(hints); 45 46 47 if (!MediaLibAccessor.isMediaLibCompatible(args, layout) || 48 !MediaLibAccessor.hasSameNumBands(args, layout)) { 49 return null; 50 } 51 52 return new MlibLogOpImage(args.getRenderedSource(0), 53 hints, layout); 54 } 55 } 56