01: /*
02: * Copyright (c) 2005-2008 Substance Kirill Grouchnikov. All Rights Reserved.
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions are met:
06: *
07: * o Redistributions of source code must retain the above copyright notice,
08: * this list of conditions and the following disclaimer.
09: *
10: * o Redistributions in binary form must reproduce the above copyright notice,
11: * this list of conditions and the following disclaimer in the documentation
12: * and/or other materials provided with the distribution.
13: *
14: * o Neither the name of Substance Kirill Grouchnikov nor the names of
15: * its contributors may be used to endorse or promote products derived
16: * from this software without specific prior written permission.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20: * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25: * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26: * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27: * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28: * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29: */
30: package org.jvnet.substance.painter;
31:
32: import java.awt.Shape;
33: import java.awt.image.BufferedImage;
34:
35: import org.jvnet.substance.color.ColorScheme;
36: import org.jvnet.substance.utils.SubstanceTrait;
37:
38: /**
39: * Gradient painter interface for <b>Substance</b> look and feel. This class is
40: * part of officially supported API.
41: *
42: * @author Kirill Grouchnikov
43: */
44: public interface SubstanceGradientPainter extends SubstanceTrait {
45: /**
46: * Returns the background that matches the specified parameters.
47: *
48: * @param width
49: * Width of a UI component.
50: * @param height
51: * Height of a UI component.
52: * @param contour
53: * Contour of a UI component.
54: * @param isFocused
55: * Indication whether component owns the focus.
56: * @param colorScheme1
57: * The first color scheme.
58: * @param colorScheme2
59: * The second color scheme.
60: * @param cyclePos
61: * Cycle position. Is used for rollover and pulsation effects.
62: * Must be in 0..10 range.
63: * @param hasShine
64: * Indication whether the returned image should have a 3D shine
65: * spot in its top half.
66: * @param useCyclePosAsInterpolation
67: * Indicates the algorithm to use for computing various colors.
68: * If <code>true</code>, the <code>cyclePos</code> is used
69: * to interpolate colors between different color components of
70: * both color schemes. If <code>false</code>, the
71: * <code>cyclePos</code> is used to interpolate colors between
72: * different color components of the first color scheme.
73: * @return The background that matches the specified parameters.
74: */
75: public BufferedImage getContourBackground(int width, int height,
76: Shape contour, boolean isFocused, ColorScheme colorScheme1,
77: ColorScheme colorScheme2, float cyclePos, boolean hasShine,
78: boolean useCyclePosAsInterpolation);
79: }
|