1/* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17/** 18 * @author Igor V. Stolyarov 19 * @version $Revision$ 20 */ 21 22package java.awt.image.renderable; 23 24import java.awt.geom.Rectangle2D; 25import java.awt.image.RenderedImage; 26 27/** 28 * A factory for creating ContextualRenderedImage objects with utilities for 29 * manipulating the properties in the parameter block. 30 * 31 * @since Android 1.0 32 */ 33public interface ContextualRenderedImageFactory extends RenderedImageFactory { 34 35 /** 36 * Maps a render context to a parameter block and a renderable image. 37 * 38 * @param a0 39 * the index. 40 * @param a1 41 * the RenderContext. 42 * @param a2 43 * the ParameterBlock. 44 * @param a3 45 * the RenderableImage. 46 * @return the render context. 47 */ 48 public RenderContext mapRenderContext(int a0, RenderContext a1, ParameterBlock a2, 49 RenderableImage a3); 50 51 /** 52 * Gets the value of the property from the parameter block. 53 * 54 * @param a0 55 * the parameter block to examine to find the property. 56 * @param a1 57 * the name of the property. 58 * @return the value of the property. 59 */ 60 public Object getProperty(ParameterBlock a0, String a1); 61 62 /** 63 * Creates the rendered image determined by the render context and parameter 64 * block. 65 * 66 * @param a0 67 * the RenderContext. 68 * @param a1 69 * the ParameterBlock. 70 * @return the rendered image. 71 */ 72 public RenderedImage create(RenderContext a0, ParameterBlock a1); 73 74 /** 75 * Gets the bounding rectangle from the parameter block. 76 * 77 * @param a0 78 * the parameter block to read the bounds from. 79 * @return the bounding rectangle. 80 */ 81 public Rectangle2D getBounds2D(ParameterBlock a0); 82 83 /** 84 * Gets the names of all of the supported properties. 85 * 86 * @return the property names. 87 */ 88 public String[] getPropertyNames(); 89 90 /** 91 * Checks if this image factory is dynamic. 92 * 93 * @return true, if this image factory is dynamic. 94 */ 95 public boolean isDynamic(); 96 97} 98