1 /* Copyright (C) 2005-2011 Fabio Riccardi */
2 
3 /*
4  * $RCSfile: LCColorConvertCRIF.java,v $
5  *
6  * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
7  *
8  * Use is subject to license terms.
9  *
10  * $Revision: 1.2 $
11  * $Date: 2005/03/28 17:45:12 $
12  * $State: Exp $
13  */
14 
15 package com.lightcrafts.jai.opimage;
16 
17 import java.awt.RenderingHints;
18 import java.awt.image.ColorModel;
19 import java.awt.image.RenderedImage;
20 import java.awt.image.renderable.ParameterBlock;
21 import com.lightcrafts.mediax.jai.CRIFImpl;
22 import com.lightcrafts.mediax.jai.ImageLayout;
23 import com.lightcrafts.media.jai.opimage.RIFUtil;
24 import com.lightcrafts.jai.operator.LCColorConvertDescriptor;
25 
26 
27 /**
28  * A <code>CRIF</code> supporting the "ColorConvert" operation in the rendered
29  * and renderable image layers.
30  *
31  * @see com.lightcrafts.mediax.jai.operator.ColorConvertDescriptor
32  * @see com.lightcrafts.media.jai.opimage.ColorConvertOpImage
33  *
34  * @since EA4
35  *
36  */
37 public class LCColorConvertCRIF extends CRIFImpl {
38 
39     /** Constructor. */
LCColorConvertCRIF()40     public LCColorConvertCRIF() {
41         super("LCColorConvert");
42     }
43 
44     /**
45      * Creates a new instance of <code>ColorConvertOpImage</code> in the
46      * rendered layer.
47      *
48      * @param args        The source image and the destination ColorModel.
49      * @param renderHints Optionally contains destination image layout.
50      */
create(ParameterBlock args, RenderingHints renderHints)51     public RenderedImage create(ParameterBlock args,
52                                 RenderingHints renderHints) {
53         // Get ImageLayout from renderHints if any.
54         ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
55 
56 
57         return new LCColorConvertOpImage(args.getRenderedSource(0),
58                                        renderHints,
59 				       layout,
60 				       (ColorModel) args.getObjectParameter(0),
61                                        (LCColorConvertDescriptor.RenderingIntent) args.getObjectParameter(1));
62     }
63 }
64