java/cewolf-1.0/src/main/java/de/laures/cewolf/taglib/tags/SerializableGradientPaint.java
1 /* ================================================================
2 * Cewolf : Chart enabling Web Objects Framework
3 * ================================================================
5 * Project Info: http://cewolf.sourceforge.net
6 * Project Lead: Guido Laures (guido@laures.de);
8 * (C) Copyright 2002, by Guido Laures
10 * This library is free software; you can redistribute it and/or modify it under the terms
11 * of the GNU Lesser General Public License as published by the Free Software Foundation;
12 * either version 2.1 of the License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public License along with this
19 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 * Boston, MA 02111-1307, USA.
23 package de.laures.cewolf.taglib.tags;
25 import java.awt.Color;
26 import java.awt.GradientPaint;
27 import java.awt.Paint;
28 import java.awt.Rectangle;
29 import java.awt.RenderingHints;
30 import java.awt.geom.AffineTransform;
31 import java.awt.geom.Rectangle2D;
32 import java.awt.image.ColorModel;
33 import java.io.Serializable;
36 * Special gradient paint which can be serialized.
38 * @author Guido Laures
40 public class SerializableGradientPaint implements Paint, Serializable {
44 private Color c1 = Color.white;
47 private Color c2 = Color.white;
48 private boolean cyclic = false;
49 private transient Paint paint = null;
51 public SerializableGradientPaint() {
54 /** Creates a new instance of SerializableGradientPaint */
55 public SerializableGradientPaint(int x1, int y1, Color c1, int x2, int y2, Color c2) {
64 private Paint getPaint() {
71 private void createPaint() {
72 paint = new GradientPaint(x1, y1, c1, x2, y2, c2, cyclic);
75 public void setPoint1(int x, int y, Color c) {
81 public void setPoint2(int x, int y, Color c) {
87 public java.awt.PaintContext createContext(ColorModel colorModel, Rectangle rectangle, Rectangle2D rectangle2D,
88 AffineTransform affineTransform, RenderingHints renderingHints) {
89 return getPaint().createContext(colorModel, rectangle, rectangle2D, affineTransform, renderingHints);
92 public int getTransparency() {
93 return getPaint().getTransparency();
96 public void setCyclic(boolean b) {
100 public String toString() {
101 return "" + x1 + "," + y1 + "," + c1 + "," + x2 + "," + y2 + "," + c2;