1 22 23 package de.laures.cewolf.taglib.tags; 24 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 ; 34 35 40 public class SerializableGradientPaint implements Paint , Serializable { 41 42 private int x1; 43 private int y1; 44 private Color c1 = Color.white; 45 private int x2; 46 private int y2; 47 private Color c2 = Color.white; 48 private boolean cyclic = false; 49 private transient Paint paint = null; 50 51 public SerializableGradientPaint() { 52 } 53 54 55 public SerializableGradientPaint(int x1, int y1, Color c1, int x2, int y2, Color c2) { 56 this.x1 = x1; 57 this.y1 = y1; 58 this.c1 = c1; 59 this.x2 = x2; 60 this.y2 = y2; 61 this.c2 = c2; 62 } 63 64 private Paint getPaint() { 65 if (paint == null) { 66 createPaint(); 67 } 68 return paint; 69 } 70 71 private void createPaint() { 72 paint = new GradientPaint (x1, y1, c1, x2, y2, c2, cyclic); 73 } 74 75 public void setPoint1(int x, int y, Color c) { 76 this.x1 = x; 77 this.y1 = y; 78 this.c1 = c; 79 } 80 81 public void setPoint2(int x, int y, Color c) { 82 this.x2 = x; 83 this.y2 = y; 84 this.c2 = c; 85 } 86 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); 90 } 91 92 public int getTransparency() { 93 return getPaint().getTransparency(); 94 } 95 96 public void setCyclic(boolean b) { 97 this.cyclic = b; 98 } 99 100 public String toString() { 101 return "" + x1 + "," + y1 + "," + c1 + "," + x2 + "," + y2 + "," + c2; 102 } 103 } 104 | Popular Tags |